开发指南

服务端 API 文档

有奖征文|投稿上云技术实践,赢取价值5000元大奖> HOT

1. 接口描述

接口请求域名: vod.tencentcloudapi.com 。

对视频进行编辑(剪辑、拼接等),生成一个新的点播视频。编辑的功能包括:

  1. 对点播中的一个文件进行剪辑,生成一个新的视频;
  2. 对点播中的多个文件进行拼接,生成一个新的视频;
  3. 对点播中的多个文件进行剪辑,然后再拼接,生成一个新的视频;
  4. 对点播中的一个流,直接生成一个新的视频;
  5. 对点播中的一个流进行剪辑,生成一个新的视频;
  6. 对点播中的多个流进行拼接,生成一个新的视频;
  7. 对点播中的多个流进行剪辑,然后拼接,生成一个新的视频。

对于生成的新视频,还可以指定生成后的视频是否要执行任务流。

当对直播流做剪辑、拼接等操作时,请确保流结束后再操作。否则生成的视频可能不完整。

如使用事件通知,事件通知的类型为 视频编辑完成

默认接口请求频率限制:100次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:EditMedia。
Version String 公共参数,本接口取值:2018-07-17。
Region String 公共参数,本接口不需要传递此参数。
InputType String 输入视频的类型,可以取的值为 File,Stream 两种。
SubAppId Integer 点播子应用 ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。
FileInfos.N Array of EditMediaFileInfo 输入的视频文件信息,当 InputType 为 File 时必填。
StreamInfos.N Array of EditMediaStreamInfo 输入的流信息,当 InputType 为 Stream 时必填。
Definition Integer 编辑模板 ID,取值有 10,20,不填代表使用 10 模板。
  • 10:拼接时,以分辨率最高的输入为基准;
  • 20:拼接时,以码率最高的输入为基准。
  • ProcedureName String 任务流模板名字,如果要对生成的新视频执行任务流时填写。
    OutputConfig EditMediaOutputConfig 编辑后生成的文件配置。
    SessionContext String 标识来源上下文,用于透传用户请求信息,在EditMediaComplete回调和任务流状态变更回调将返回该字段值,最长 1000个字符。
    TasksPriority Integer 任务的优先级,数值越大优先级越高,取值范围是 -10 到 10,不填代表 0。
    SessionId String 用于任务去重的识别码,如果三天内曾有过相同的识别码的请求,则本次的请求会返回错误。最长 50 个字符,不带或者带空字符串表示不做去重。
    ExtInfo String 保留字段,特殊用途时使用。

    3. 输出参数

    参数名称 类型 描述
    TaskId String 编辑视频的任务 ID,可以通过该 ID 查询编辑任务(任务类型为 EditMedia)的状态。
    RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

    4. 示例

    示例1 对点播中的一个文件进行剪辑,生成一个新的视频

    对 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"
        }
    }

    示例2 对点播中的多个文件进行拼接,生成一个新的视频

    拼接 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"
        }
    }

    示例3 对点播中的多个文件进行剪辑,然后再拼接,生成一个新的视频

    对 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"
        }
    }

    示例4 对点播中的一个流,直接生成一个新的视频

    对一个 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"
        }
    }

    示例5 对点播中的一个流进行剪辑,生成一个新的视频

    对一个 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"
        }
    }

    示例6 对点播中的多个流进行拼接,生成一个新的视频

    将 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"
        }
    }

    示例7 对点播中的多个流进行剪辑,然后拼接,生成一个新的视频

    将 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"
        }
    }

    示例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。

    命令行工具

    6. 错误码

    以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

    错误码 描述
    FailedOperation 操作失败。
    FailedOperation.InvalidVodUser 没有开通点播业务。
    InternalError 内部错误。
    InvalidParameterValue.SessionContextTooLong SessionContext 过长。
    InvalidParameterValue.SessionId 去重识别码重复,请求被去重。
    InvalidParameterValue.SessionIdTooLong SessionId 过长。
    InvalidParameterValue.SubAppId 参数值错误:子应用 ID。
    ResourceNotFound 资源不存在。
    UnauthorizedOperation 未授权操作。
    目录