媒体处理支持对视频进行剪辑、拼接等二次创作,通过调用SubmitJobs接口提交转码作业时设置相关参数实现。本文为您介绍视频拼接和视频剪辑涉及到的具体参数及配置方法。
视频拼接
拼接是把多个不同格式 、编码、分辨率的视频拼接在一起,输出成一个格式、编码、分辨率相同的新视频。常用于添加固定的片头和片尾、直播录制视频拼接。
在进行视频拼接时,您需要关注以下参数:
说明 视频拼接、视频剪辑均在提交转码作业时设置,更多接口信息请参见提交转码作业。
- Input(输入文件)设置片头视频的OSS输入文件。说明 OSS的Location必须和MPS的地域对应。例如,OSS的
oss-cn-hangzhou
对应媒体处理的mts.cn-hangzhou
。 - Output(输出文件)在输出参数中,您需要关注以下参数:
参数 描述 Video 设置输出最终视频的宽、高、码率等。如果多个拼接视频(包括片头、片尾)的宽、高比和最终输出的不一致,会自动填充黑边。建议您根据不同业务的分辨率实际情况,准备几个不同宽、高比的片头、片尾视频,以达到最好的效果。 MergeList 拼接设置。列表的顺序代表了拼接的顺序,所以列表的最后一个元素是片尾,最多支持5个(包含片头、片尾)视频拼接在一起。如果您需要拼接更多视频,请使用MergeConfigUrl参数。说明 MergeList和MergeConfigUrl不支持同时设置,您只能选择其中一个进行设置。每个拼接视频都包含3个参数:- MergeURL设置拼接视频的OSS URL地址。说明 拼接视频的OSS地域必须和片头一致,不支持跨地域视频的拼接。
- Start
拼接视频时,如果您期望值截取部分内容输出到最终视频,可以设置截取的开始时间点。默认值:0。
- Duration
拼接视频时,如果您期望值截取部分内容输出到最终视频,可以设置相对于开始时间点(Start)的截取时长。默认从开始时间点(Start)到结尾的全部内容。
MergeConfigUrl 设置拼接视频的配置文件的OSS URL地址。文件的内容就是一个JSON对象,和MergeList参数的值完全一样。说明- MergeList和MergeConfigUrl不支持同时设置,您只能选择其中一个进行设置。
- 列表的顺序代表了拼接顺序,所以列表的最后一个元素是片尾,最多支持100个(包含片头、片尾)视频拼接在一起。
- MergeURL
视频剪辑
在视频剪辑中,您需要关注以下参数:
- Input(输入文件)设置待剪辑视频的OSS输入文件。说明 OSS的Location必须和媒体处理服务的地域对应。例如,OSS的
oss-cn-hangzhou
对应媒体处理的mts.cn-hangzhou
。 - Output(输出参数)在输出参数中,您需要关注以下参数:
参数 描述 TimeSpan 剪辑的时间区间。您可以根据实际需要设置不同的时间节点和剪辑时长。
每个时间区间包含3个参数:- Seek:剪辑开始的时间点。
- Duration:剪辑持续时长。
- End:截尾时长,表示切掉尾部的若干时长。
说明 设置End时,参数Duration失效。
ConfigToClipFirstPart 是否剪辑第一片。可设置的值为false(拼接完后剪辑)、true(先剪辑第一片后拼接)。默认值为false。
示例代码
例如一个720P(1280×720)的正片视频,拼接上片头片尾是480P(640×480)的MP4视频,输出分辨率时1280×720.所以在播放输出视频时,片头和片尾会出现左右黑边,正片视频显示正常。
具体的代码示例如下:
语言 | 相关文档 |
---|---|
Java | 视频拼接和简单剪辑Java SDK |
Python | 视频拼接和简单剪辑Python SDK |
PHP | 视频拼接和简单剪辑PHP SDK |
Node.js | 视频拼接和简单剪辑Node.js SDK |
常见问题
拼接后的视频在部分iOS设备上播放会出现没有声音的问题,是由于iOS解码能力较差,需要适当调低质量才能正常播放。可以在提交转码任务时将编码级别(Profile)设置为main后重新编码即可。