服务端 API 文档

视频合成

最近更新时间:2021-07-20 08:14:49

我的收藏

1. 接口描述

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

该接口用于制作媒体文件,可以

  1. 对一个媒体文件进行剪辑,生成一个新的媒体文件;
  2. 对多个媒体文件进行裁剪拼接,生成一个新的媒体文件;
  3. 对多个媒体文件的媒体流进行裁剪拼接,生成一个新的媒体文件。

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

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

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

2. 输入参数

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

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:ComposeMedia。
Version String 公共参数,本接口取值:2018-07-17。
Region String 公共参数,本接口不需要传递此参数。
Tracks.N Array of MediaTrack 输入的媒体轨道列表,包括视频、音频、图片等素材组成的多个轨道信息,其中:
  • 输入的多个轨道在时间轴上和输出媒体文件的时间轴对齐;
  • 时间轴上相同时间点的各个轨道的素材进行重叠,视频或者图片按轨道顺序进行图像的叠加,轨道顺序高的素材叠加在上面,音频素材进行混音;
  • 视频、音频、图片,每一种类型的轨道最多支持10个。
  • Output ComposeMediaOutput 输出的媒体文件信息。
    Canvas Canvas 制作视频文件时使用的画布。
    SessionContext String 标识来源上下文,用于透传用户请求信息,在ComposeMediaComplete回调将返回该字段值,最长 1000个字符。
    SessionId String 用于任务去重的识别码,如果三天内曾有过相同的识别码的请求,则本次的请求会返回错误。最长 50 个字符,不带或者带空字符串表示不做去重。
    SubAppId Integer 点播子应用 ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。

    3. 输出参数

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

    4. 示例

    示例1 对点播中的视频进行配音

    对 5285485487985271487 消除原来的音频,从5秒开始使用5285485487985271488进行配音,从20秒开始使用5285485487985271489的第2到第16秒进行配音,生成一个新的点播视频。

    输入示例

    https://vod.tencentcloudapi.com/?Action=ComposeMedia
    &Tracks.0.Type=Video
    &Tracks.0.TrackItems.0.Type=Video
    &Tracks.0.TrackItems.0.VideoItem.SourceMedia=5285485487985271487
    &Tracks.0.TrackItems.0.VideoItem.AudioOperations.0.Type=Volume
    &Tracks.0.TrackItems.0.VideoItem.AudioOperations.0.VolumeParam.Mute=1
    &Tracks.1.Type=Audio
    &Tracks.1.TrackItems.0.Type=Empty
    &Tracks.1.TrackItems.0.EmptyItem.Duration=5
    &Tracks.1.TrackItems.1.Type=Audio
    &Tracks.1.TrackItems.1.AudioItem.SourceMedia=5285485487985271488
    &Tracks.1.TrackItems.1.AudioItem.Duratiion=15
    &Tracks.1.TrackItems.2.Type=Audio
    &Tracks.1.TrackItems.2.AudioItem.SourceMedia=5285485487985271489
    &Tracks.1.TrackItems.2.AudioItem.SourceMediaStartTime=2
    &Tracks.1.TrackItems.2.AudioItem.Duration=14
    &Output.FileName=test
    &Output.Container=mp4
    &<公共请求参数>

    输出示例

    {
    "Response": {
      "RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
      "TaskId": "125xxx65-ComposeMedia-bffb15f07530b57bc1aabb01fac74bca"
    }
    }

    示例2 对两个视频流进行裁剪后拼接在一起

    取5285485487985271487的第2秒到第62秒,5285485487985271488的第6秒到81秒进行拼接,中间设置5秒的淡入淡出转场, 从视频的3秒到18秒贴上一个图片5285485487985271489,位置为(20px,20px),宽高为(100px,100px)。

    输入示例

    https://vod.tencentcloudapi.com/?Action=ComposeMedia
    &Tracks.0.Type=Video
    &Tracks.0.TrackItems.0.Type=Video
    &Tracks.0.TrackItems.0.VideoItem.SourceMedia=5285485487985271487
    &Tracks.0.TrackItems.0.VideoItem.SourceMediaStartTime=2
    &Tracks.0.TrackItems.0.VideoItem.Duration=60
    &Tracks.0.TrackItems.1.Type=Transition
    &Tracks.0.TrackItems.1.TransitionItem.Duration=5
    &Tracks.0.TrackItems.1.TransitionItem.TransitionOperations.0.Type=ImageFadeInFadeOut
    &Tracks.0.TrackItems.2.Type=Video
    &Tracks.0.TrackItems.2.VideoItem.SourceMedia=5285485487985271488
    &Tracks.0.TrackItems.2.VideoItem.SourceMediaStartTime=6
    &Tracks.0.TrackItems.2.VideoItem.Duration=75
    &Tracks.1.Type=Sticker
    &Tracks.1.TrackItems.0.Type=Sticker
    &Tracks.1.TrackItems.0.StickerItem.SourceMedia=5285485487985271489
    &Tracks.1.TrackItems.0.StickerItem.StartTime=3
    &Tracks.1.TrackItems.0.StickerItem.Duration=15
    &Tracks.1.TrackItems.0.StickerItem.CoordinateOrigin=TopLeft
    &Tracks.1.TrackItems.0.StickerItem.XPos=20px
    &Tracks.1.TrackItems.0.StickerItem.YPos=20px
    &Tracks.1.TrackItems.0.StickerItem.Width=100px
    &Tracks.1.TrackItems.0.StickerItem.Height=100px
    &Output.FileName=test
    &Output.Container=mp4
    &<公共请求参数>

    输出示例

    {
    "Response": {
      "RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
      "TaskId": "125xxx65-ComposeMedia-bffb15f07530b57bc1aabb01fac74bc2"
    }
    }

    示例3 将一个视频作为另一个视频的画中画

    将5285485487985271487的视频作为画中画的主画面;将5285485487985271488的视频作为画中画的子画面;子画面的中心偏移主画面25%(即在主画面右下角),宽度占画面的30%。

    输入示例

    https://vod.tencentcloudapi.com/?Action=ComposeMedia
    &Tracks.0.Type=Video
    &Tracks.0.TrackItems.0.Type=Video
    &Tracks.0.TrackItems.0.VideoItem.SourceMedia=5285485487985271487
    &Tracks.1.Type=Video
    &Tracks.1.TrackItems.0.Type=Video
    &Tracks.1.TrackItems.0.VideoItem.SourceMedia=5285485487985271488
    &Tracks.1.TrackItems.0.VideoItem.CoordinateOrigin=Center
    &Tracks.1.TrackItems.0.VideoItem.XPos=25%
    &Tracks.1.TrackItems.0.VideoItem.YPos=25%
    &Tracks.1.TrackItems.0.VideoItem.Width=30%
    &Output.FileName=test
    &Output.Container=mp4
    &<公共请求参数>

    输出示例

    {
    "Response": {
      "RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
      "TaskId": "125xxx65-ComposeMedia-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 没有开通点播业务。
    FailedOperation.UploadCosFail 操作失败:上传文件到 cos 失败。
    InternalError 内部错误。
    InternalError.GetFileInfoError 内部错误:获取媒体文件信息错误。
    InternalError.GetMediaListError 内部错误:获取媒体列表错误。
    InvalidParameter 参数错误。
    InvalidParameterValue.ClipDuration 参数值错误:裁剪时间段太长。
    InvalidParameterValue.SessionContextTooLong SessionContext 过长。
    InvalidParameterValue.SessionId 去重识别码重复,请求被去重。
    UnauthorizedOperation 未授权操作。
    目录