提交转码任务

提交转码任务url

/task/submit

提交转码任务参数

{
    /**
     * 视频id
     */
    "videoId": "34c71dba-f280-4f5e-a05f-f4daed83xxxx",
    /**
     * 可选参数,是否使用默认的转码模板。如果不传入默认为 false
     */
    "useDefaultTranscodeTemplate": true,
    /**
     *  `useDefaultTranscodeTemplate`  true 时,该字段无效。当 useDefaultTranscodeTemplate  fasle 或者不传入时,该字段必填。
     */
    "transcodeTemplates": ["100001", "100002"],
    /**
     * 可选参数,是否使用水印默认模板,如果不填写默认为 false
     */
    "useDefaultWatermarkTemplate": true,
    /**
     * 可选参数,当 userDefaultWatermarkTemplate  true 时无效。当 userDefaultWatermarkTemplate  false 或者不传入,watermarkTemplate 也不传入时表示不使用水印。
     */
    "watermarkTemplate": "10001",
    /**
     * 可选参数,任务结束之后将回调到该地址告知任务状态。
     */
    "callback": "http://your.callback.url"
}

提交转码任务返回值

{
    /***
     * 本次请求的结果码。
     * 0: 创建任务成功。
     * 400: 传入参数错误。
     * 401: 重复传入任务。
     * 500: 系统发生错误。
     */
    "code": 0,
    /***
     * 错误文本信息,创建成功时,为空字符串。
     */
    "message": "",
    "data": {
        /**
         * 转码任务的 id,可以通过这些转码任务 id 查询相关的任务
         */
        "transcodeTaskIds": ["10001", "10002"]
    }
}

任务回调

由于任务是异步执行,当提交了任务之后,仅会返回任务的基本信息,如果需要查看任务的进度,请通过取得任务状态查询任务的状态以及进度。

任务完成之后,点播服务会将转码的结果通过 HTTP POST 的方式回调给回调设置中设置的回调地址。该POST请求会将回调数据放在body中使用application/json 进行回调。 回调数据格式如下:

  • 仅在全局回调中设置相关回调时回调数据格式
{
    /*
     * 事件触发时间,为 UTC 时间,如 yyyy-MM-dd'T'HH:mm:ssZ
     */
    "eventTime":"2017-03-20T07:49:17Z",
    /*
     * 回调事件类型:BasicInfoChange-媒资信息变更;UploadComplete-视频上传完成;DeleteComplete-媒资删除完成
     * TranscodeComplete-音视频转码完成;SnapshotComplete-视频截图完成;AIContentReviewComplete-审核完成
     */
    "eventType":"TranscodeComplete",
    /*
     * 源视频uuid
     */
    "videoID":"45caa4a6488844a3aaa2ea1334a7b806",
    /*
     * 源视频信息更改详情
     */
    "transcodeInfo":{
        /*
         * 转码任务id
         */
        "transcodeID":"xs-cn-guangzhou-1_1630313740463_3",
        /*
         * 转码任务状态:WORKING-转码进行中;DONE-转码成功;FAIL-转码失败
         */
        "transcodeStatus":"DONE",
        /*
         * 转码模板id
         */
        "transcodeTemplateID":100000000000,
        /*
         * 水印模板id
         */
        "watermarkTemplateID":100000000021,
        /*
         * 转码音/视频文件访问地址
         */
        "transcodeVideoURL":"https://sample.com/e179b96e517343e588ce3ebea4f92f9d/100000000000.MP4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20210830T085856Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86399&X-Amz-Credential=DFYTEKJVXTM5TQ860OUM%2F20210830%2Fcn-north-1%2Fs3%2Faws4_request&X-Amz-Signature=afeb820c8c7462650dade39a3c2fcdf1a2eeb6c43af6d490790f89eb13c8276c"
     }
}
  • 直接在提交转码任务接口中设置callback地址回调数据格式
{
    /**
     * 任务编码:
     * 0: 转码成功
     * 100: 无法获取文件
     * 101: 访问对象存储文件服务器失败
     * 200: 转码失败
     * 201: 转码节点异常退出
     * 300: 写入文件错误
     */
    "code": 0,
    /**
     * 错误信息提醒:
     * 0:(空字符串)
     * 100: 无法获取文件
     * 101: 访问对象存储文件服务器失败
     * 200: 转码失败,可能上传的视频格式无法支持。
     * 201: 转码节点异常
     * 300: 写入文件错误
     */
    "message": "",
    /**
     * 完整的任务信息
     */
    "data": {
        /**
         * 转码任务id
         */
        "taskId": "gz000001",
        /**
         * 视频id
         */
        "videoId": "34c71dba-f280-4f5e-a05f-f4daed83xxxx",
        /**
         * 状态,DONE/FAIL
         */
        "status": "DONE",
        /**
         * 转码模板id
         */
        "transcodeTemplateId": "10001",
        /**
         * 水印模板id,如果转码没有水印,不返回该字段。
         */
        "watermarkTemplate": "10001",
        /**
         * 转码后的视频地址。如果转码失败,不返回该字段。
         */
        "url": "http://path.to.transcode/video/file.mp4"
        /**
         * 转码后的视频文件大小。单位byte。
         */
        "targetFileSize": "23456"
    }
}