编辑视频

最近更新时间:2024-04-03 11:31:56

我的收藏

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 两种。
示例值: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:拼接时,以分辨率最高的输入为基准;
  • 20:拼接时,以码率最高的输入为基准。

  • 示例值: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。

    命令行工具

    6. 错误码

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

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