开发指南

服务端 API 文档

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

1. 接口描述

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

对点播中的音视频媒体发起处理任务,功能包括:

  1. 视频转码(带水印);
  2. 视频转动图;
  3. 对视频按指定时间点截图;
  4. 对视频采样截图;
  5. 对视频截图雪碧图;
  6. 对视频截取一张图做封面;
  7. 对视频转自适应码流(并加密);
  8. 内容审核(令人反感的信息、不安全的信息、不适宜的信息);
  9. 内容分析(标签、分类、封面、按帧标签);
  10. 内容识别(视频片头片尾、人脸、文本全文、文本关键词、语音全文、语音关键词、物体)。

如使用事件通知,事件通知的类型为 任务流状态变更

使用溯源水印存在以下限制条件:

  • 溯源水印仅支持图片水印;
  • 溯源水印仅支持水印重复类型为水印循环播放;
  • 溯源水印仅支持输出文件封装格式为 HLS;
  • 溯源水印的位置仅支持位于视频的上半部分。
  • 默认接口请求频率限制:100次/秒。

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

    2. 输入参数

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

    参数名称 必选 类型 描述
    Action String 公共参数,本接口取值:ProcessMedia。
    Version String 公共参数,本接口取值:2018-07-17。
    Region String 公共参数,本接口不需要传递此参数。
    FileId String 媒体文件 ID,即该文件在云点播上的全局唯一标识符,在上传成功后由云点播后台分配。可以在 视频上传完成事件通知云点播控制台 获取该字段。
    SubAppId Integer 点播子应用 ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。
    MediaProcessTask MediaProcessTaskInput 视频处理类型任务参数。
    AiContentReviewTask AiContentReviewTaskInput 音视频内容审核类型任务参数。
    AiAnalysisTask AiAnalysisTaskInput 音视频内容分析类型任务参数。
    AiRecognitionTask AiRecognitionTaskInput 音视频内容识别类型任务参数。
    TasksPriority Integer 任务流的优先级,数值越大优先级越高,取值范围是 -10 到 10,不填代表 0。
    TasksNotifyMode String 任务流状态变更通知模式,可取值有 Finish,Change 和 None,不填代表 Finish。
    SessionContext String 来源上下文,用于透传用户请求信息,任务流状态变更回调将返回该字段值,最长 1000 个字符。
    SessionId String 用于去重的识别码,如果三天内曾有过相同的识别码的请求,则本次的请求会返回错误。最长 50 个字符,不带或者带空字符串表示不做去重。
    ExtInfo String 保留字段,特殊用途时使用。

    3. 输出参数

    参数名称 类型 描述
    TaskId String 任务 ID
    RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

    4. 示例

    示例1 发起转码任务

    对 fileId 为 5285485487985271487 的视频发起转码任务,转出三种规格,使用的转码模板 ID 分别是20、30和40。

    输入示例

    POST / HTTP/1.1
    Host: vod.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ProcessMedia
    <公共请求参数>
    
    {
        "MediaProcessTask": {
            "TranscodeTaskSet": [
                {
                    "Definition": "30"
                },
                {
                    "Definition": "20"
                },
                {
                    "Definition": "40"
                }
            ]
        },
        "FileId": "5285485487985271487"
    }

    输出示例

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

    示例2 发起带水印的转码任务

    对 fileId 为 5285485487985271487 的视频发起转码任务,转出三种规格,使用的转码模板 ID 分别是20、30和40;并且所有转码视频都打上水印,水印的模板 ID 为15780。

    输入示例

    POST / HTTP/1.1
    Host: vod.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ProcessMedia
    <公共请求参数>
    
    {
        "MediaProcessTask": {
            "TranscodeTaskSet": [
                {
                    "Definition": "30",
                    "WatermarkSet": [
                        {
                            "Definition": "15780"
                        }
                    ]
                },
                {
                    "Definition": "20",
                    "WatermarkSet": [
                        {
                            "Definition": "15780"
                        }
                    ]
                },
                {
                    "Definition": "40",
                    "WatermarkSet": [
                        {
                            "Definition": "15780"
                        }
                    ]
                }
            ]
        },
        "FileId": "5285485487985271487"
    }

    输出示例

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

    示例3 发起转码和采样截图任务

    对 fileId 为 5285485487985271487 的视频发起转码任务,转出三种规格,使用的转码模板 ID 分别是20、30和40;同时还对视频做采样截图,使用的采样截图的模板 ID 是10。

    输入示例

    POST / HTTP/1.1
    Host: vod.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ProcessMedia
    <公共请求参数>
    
    {
        "MediaProcessTask": {
            "TranscodeTaskSet": [
                {
                    "Definition": "30"
                },
                {
                    "Definition": "20"
                },
                {
                    "Definition": "40"
                }
            ],
            "SampleSnapshotTaskSet": [
                {
                    "Definition": "10"
                }
            ]
        },
        "FileId": "5285485487985271487"
    }

    输出示例

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

    示例4 发起智能内容分析任务

    对 fileId 为 5285485487985271487 的视频发起内容分析任务 (包括智能分类、智能标签、智能封面),使用的内容分析的模板 ID 是 10。

    输入示例

    POST / HTTP/1.1
    Host: vod.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ProcessMedia
    <公共请求参数>
    
    {
        "AiAnalysisTask": {
            "Definition": "10"
        },
        "FileId": "5285485487985271487"
    }

    输出示例

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

    示例5 发起内容审核任务

    对 fileId 为 5285485487985271487 的视频发起内容审核任务(令人反感的信息、不安全的信息、不适宜的信息),使用的内容审核模板 ID 是 10。

    输入示例

    POST / HTTP/1.1
    Host: vod.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ProcessMedia
    <公共请求参数>
    
    {
        "AiContentReviewTask": {
            "Definition": "10"
        },
        "FileId": "5285485487985271487"
    }

    输出示例

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

    示例6 发起内容识别任务

    对 fileId 为 5285485487985271487 的视频发起内容识别任务 (包括人脸识别),使用的内容识别的模板 ID 是 10。

    输入示例

    POST / HTTP/1.1
    Host: vod.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ProcessMedia
    <公共请求参数>
    
    {
        "AiRecognitionTask": {
            "Definition": "10"
        },
        "FileId": "5285485487985271487"
    }

    输出示例

    {
        "Response": {
            "RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc70006fje1",
            "TaskId": "125xxx65-procedurev2-bffb15f07586237bcecodb01fac7kdabc"
        }
    }

    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.TaskDuplicate 操作失败:任务重复。
    InternalError 内部错误。
    InvalidParameter 参数错误。
    InvalidParameterValue 参数取值错误。
    InvalidParameterValue.AiAnalysisTaskDefinition 参数值错误:AI 分析 Definition。
    InvalidParameterValue.AiContentReviewTaskDefinition 参数值错误:AI 内容审核 Definition。
    InvalidParameterValue.AiRecognitionTaskDefinition 参数值错误:AI 识别 Definition。
    InvalidParameterValue.FileId FileId 不存在。
    InvalidParameterValue.SessionContextTooLong SessionContext 过长。
    InvalidParameterValue.SessionId 去重识别码重复,请求被去重。
    InvalidParameterValue.SessionIdTooLong SessionId 过长。
    InvalidParameterValue.SubAppId 参数值错误:子应用 ID。
    UnauthorizedOperation 未授权操作。
    目录