1. 接口描述
接口请求域名: vod.tencentcloudapi.com 。
对视频进行编辑(剪辑、拼接等),生成一个新的点播视频。编辑的功能包括:
- 对点播中的一个文件进行剪辑,生成一个新的视频;
- 对点播中的多个文件进行拼接,生成一个新的视频;
- 对点播中的多个文件进行剪辑,然后再拼接,生成一个新的视频;
- 对点播中的一个流,直接生成一个新的视频;
- 对点播中的一个流进行剪辑,生成一个新的视频;
- 对点播中的多个流进行拼接,生成一个新的视频;
- 对点播中的多个流进行剪辑,然后拼接,生成一个新的视频。
对于生成的新视频,还可以指定生成后的视频是否要执行任务流。
当对直播流做剪辑、拼接等操作时,请确保流结束后再操作。否则生成的视频可能不完整。
如使用事件通知,事件通知的类型为 视频编辑完成。
默认接口请求频率限制:100次/秒。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:EditMedia。 |
Version | 是 | String | 公共参数,本接口取值:2018-07-17。 |
Region | 否 | String | 公共参数,此参数为可选参数。 |
InputType | 是 | String | 输入视频的类型,可以取的值为 File,Stream 两种。 示例值:File |
SubAppId | 否 | Integer | 点播应用 ID。从2023年12月25日起开通点播的客户,如访问点播应用中的资源(无论是默认应用还是新创建的应用),必须将该字段填写为应用 ID。 示例值:1490012345 |
FileInfos.N | 否 | Array of EditMediaFileInfo | 输入的视频文件信息,当 InputType 为 File 时必填。 |
StreamInfos.N | 否 | Array of EditMediaStreamInfo | 输入的流信息,当 InputType 为 Stream 时必填。 |
Definition | 否 | Integer | 编辑模板 ID,取值有 10,20,不填代表使用 10 模板。 示例值:10 |
ProcedureName | 否 | String | 任务流模板名字,如果要对生成的新视频执行任务流时填写。 示例值:LongVideoPreset |
OutputConfig | 否 | EditMediaOutputConfig | 编辑后生成的文件配置。 |
SessionContext | 否 | String | 标识来源上下文,用于透传用户请求信息,在EditMediaComplete回调和任务流状态变更回调将返回该字段值,最长 1000个字符。 示例值:"" |
TasksPriority | 否 | Integer | 任务的优先级,数值越大优先级越高,取值范围是 -10 到 10,不填代表 0。 示例值:2 |
SessionId | 否 | String | 用于任务去重的识别码,如果三天内曾有过相同的识别码的请求,则本次的请求会返回错误。最长 50 个字符,不带或者带空字符串表示不做去重。 示例值:"" |
ExtInfo | 否 | String | 保留字段,特殊用途时使用。 示例值:"" |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
TaskId | String | 编辑视频的任务 ID,可以通过该 ID 查询编辑任务(任务类型为 EditMedia)的状态。 示例值:125xxx65-EditMedia-bffb15f07530b57bc1aabb01fac74bca |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 对点播中的一个流,直接生成一个新的视频
对一个 ID 为 99873 的直播录制流,生成一个新的点播视频
输入示例
https://vod.tencentcloudapi.com/?Action=EditMedia
&InputType=Stream
&StreamInfos.0.StreamId=99873
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
"TaskId": "125xxx65-EditMedia-bffb15f07530b57bc1aabb01fac74bca"
}
}
示例2 对点播中的一个流进行剪辑,生成一个新的视频
对一个 ID 为 99873 的直播录制流,剪辑从 2018-09-20 的 10:00:00 到 11:00:00 的片段,生成一个新的点播视频
输入示例
https://vod.tencentcloudapi.com/?Action=EditMedia
&InputType=Stream
&StreamInfos.0.StreamId=99873
&StreamInfos.0.StartTime=2018-09-20T10:00:00Z
&StreamInfos.0.EndTime=2018-09-20T11:00:00Z
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
"TaskId": "125xxx65-clipMedia-bffb15f07530b57bc1aabb01fac74bca"
}
}
示例3 对点播中的多个流进行拼接,生成一个新的视频
将 ID 为 99873,99874 和 99875 的 3 个直播录制流进行拼接,生成一个新的点播视频
输入示例
https://vod.tencentcloudapi.com/?Action=EditMedia
&InputType=Stream
&StreamInfos.0.StreamId=99873
&StreamInfos.1.StreamId=99874
&StreamInfos.2.StreamId=99875
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
"TaskId": "125xxx65-clipMedia-bffb15f07530b57bc1aabb01fac74bca"
}
}
示例4 对点播中的一个文件进行剪辑,生成一个新的视频
对 5285485487985271487 剪辑第 60 秒到 120 秒的片段,生成一个新的点播视频
输入示例
https://vod.tencentcloudapi.com/?Action=EditMedia
&InputType=File
&FileInfos.0.FileId=5285485487985271487
&FileInfos.0.StartTimeOffset=60.0
&FileInfos.0.EndTimeOffset=120.0
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
"TaskId": "125xxx65-EditMedia-bffb15f07530b57bc1aabb01fac74bca"
}
}
示例5 对点播中的多个文件进行拼接,生成一个新的视频
拼接 5285485487985271487,5285485487985271488,5285485487985271489 三个视频,生成一个新的点播视频
输入示例
https://vod.tencentcloudapi.com/?Action=EditMedia
&InputType=File
&FileInfos.0.FileId=5285485487985271487
&FileInfos.1.FileId=5285485487985271488
&FileInfos.2.FileId=5285485487985271489
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
"TaskId": "125xxx65-EditMedia-bffb15f07530b57bc1aabb01fac74bca"
}
}
示例6 对点播中的多个流进行剪辑,然后拼接,生成一个新的视频
将 ID 为 99873,99874 和 99875 的 3 个直播录制流,分别剪辑出从 2018-09-20 的 10:00:00 到 11:00:00 的片段,拼接后生成一个新的点播视频
输入示例
https://vod.tencentcloudapi.com/?Action=EditMedia
&InputType=Stream
&StreamInfos.0.StreamId=99873
&StreamInfos.0.StartTime=2018-09-20T10:00:00Z
&StreamInfos.0.EndTime=2018-09-20T11:00:00Z
&StreamInfos.1.StreamId=99874
&StreamInfos.1.StartTime=2018-09-20T10:00:00Z
&StreamInfos.1.EndTime=2018-09-20T11:00:00Z
&StreamInfos.2.StreamId=99875
&StreamInfos.2.StartTime=2018-09-20T10:00:00Z
&StreamInfos.2.EndTime=2018-09-20T11:00:00Z
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
"TaskId": "125xxx65-clipMedia-bffb15f07530b57bc1aabb01fac74bca"
}
}
示例7 对点播中的多个文件进行剪辑,然后再拼接,生成一个新的视频
对 5285485487985271487,5285485487985271488,5285485487985271489 三个视频分别进行剪辑(剪辑第 60 秒到 120 秒的片段),然后拼接,生成一个新的点播视频
输入示例
https://vod.tencentcloudapi.com/?Action=EditMedia
&InputType=File
&FileInfos.0.FileId=5285485487985271487
&FileInfos.0.StartTimeOffset=60.0
&FileInfos.0.EndTimeOffset=120.0
&FileInfos.1.FileId=5285485487985271488
&FileInfos.1.StartTimeOffset=60.0
&FileInfos.1.EndTimeOffset=120.0
&FileInfos.2.FileId=5285485487985271489
&FileInfos.2.StartTimeOffset=60.0
&FileInfos.2.EndTimeOffset=120.0
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
"TaskId": "125xxx65-EditMedia-bffb15f07530b57bc1aabb01fac74bca"
}
}
示例8 对点播中的一个文件进行剪辑,生成一个新的视频,同时对新视频执行任务流
对 5285485487985271487 剪辑第 60 秒到 120 秒的片段,生成一个新的点播视频,并执行任务流 TranscodeAndSnapshot
输入示例
https://vod.tencentcloudapi.com/?Action=EditMedia
&InputType=File
&FileInfos.0.FileId=5285485487985271487
&FileInfos.0.StartTimeOffset=60.0
&FileInfos.0.EndTimeOffset=120.0
&ProcedureName=TranscodeAndSnapshot
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
"TaskId": "125xxx65-clipMedia-bffb15f07530b57bc1aabb01fac74bca"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
FailedOperation | 操作失败。 |
FailedOperation.InvalidVodUser | 没有开通点播业务。 |
InternalError | 内部错误。 |
InvalidParameterValue.SessionContextTooLong | SessionContext 过长。 |
InvalidParameterValue.SessionId | 去重识别码重复,请求被去重。 |
InvalidParameterValue.SessionIdTooLong | SessionId 过长。 |
InvalidParameterValue.SubAppId | 参数值错误:子应用 ID。 |
ResourceNotFound | 资源不存在。 |
UnauthorizedOperation | 未授权操作。 |