转码结果回调用户

最近更新时间:2020-07-10 20:02:46

POST 回调接口

视频云提供HTTP POST的回调Body如下:

字段名 类型 是否必有 描述
TaskID string 任务ID
Status int 任务状态:3为成功,4为失败
Type string 任务类型,与创建任务时使用的模板类型一致
Details json object 更详细的信息
  • Details更详细的说明:
字段名 类型 是否必有 描述
errnum int 错误码,0:成功;非0:失败
errmsg string 描述本次请求错误的原因
bucket string 输出目标文件的Bucket
snapshotNum int 截图的个数,截图任务有效
status string 任务当前所处的状态:transcoding、uploading。
progress int 任务当前Status下的进度百分比。仅适用于长视频,且未设置时默认为0
items json object 回调中用户定制的输出文件信息等。

备注:status、progress只有在用户在创建任务时,设置了定时回调进度信息才会有效。

  • items更详细的说明:
字段名 类型 是否必有 描述
dstpath string 输出文件在ks3的相对路径
metainfo string avinfo任务的回调字段,源文件信息。 string类型,string内部是json串
outMediainfo string avtrans任务的回调字段,输出视频的信息。string类型,string内部是json串
segmentlisttype string avtrans任务的字段,切片文件列表的类型,不为空“”,表示为切片任务,否则为普通转码任务,默认为空。
segmentsinfo string 当任务是切片任务时(非HLS切片),每个切片的文件信息。string类型,string内部是json串,数组形式
thumnailsinfo string 生成雪碧图时,每张雪碧图的文件信息。string类型,string内部是json串,数组形式
  • 对输出文件信息metainfo的说明
字段名 类型 是否必有 描述
streams json array 流信息列表
format json object 文件信息

streams部分:

字段名 类型 是否必有 描述
index int 流索引值
codec_name string 编码器名称
codec_long_name string 编码器全称
codec_type string 流类型,video/audio/data/subtitle等
codec_time_base string 编码器的每帧时长,时间戳计算基础单位,分数表示
codec_tag_string string 编码器的标签名
codec_tag string 编码器标签的二进制代号
time_base string 每帧时长,时间戳计算基础单位,分数表示
start_time string 首帧时间,单位:秒
duration string 该路流时长,单位:秒
duration_ts int 该路流时长,以time_base为单位
bit_rate string 该路流平均码率
max_bit_rate string 该路流最大码率
nb_frames string 音视频帧数
width int 视频帧的高,文件必须有视频流
height int 视频帧的宽,文件必须有音频流
coded_width int 编码器对齐的帧宽
coded_height int 编码器对齐的帧高
has_b_frames int 包含B帧信息
sample_aspect_ratio string 图像采样率
display_aspect_ratio string 图像显示比例
pix_fmt string 帧的图像色彩格式
profile string 编码的profile
level int 编码的level
refs int B和P帧向前预测参考的帧数
is_avc string 封装格式是否是avc 1代表avc 0表示annexb格式
rotate string 输出为转码后文件的rotate,与源文件无关,一般系统会自动旋转并删除rotate防止终端播放二次旋转
sample_fmt string 音频采样格式
sample_rate string 音频采样率
channels int 音频声道数,对于音轨数>2的文件,可能该值不准
channel_layout string 声道设计,是指的单声道,双声道,立体声

format部分:

字段名 类型 是否必有 描述
nb_streams int 文件包含的流个数
format_name string 文件封装格式
format_long_name string 文件封装格式全称
duration string 文件总时长,单位:秒
size int 文件大小,单位:bytes
bit_rate string 文件平均码率,单位bps
  • 对输出文件信息outMediainfo的说明
字段名 类型 是否必有 描述
outMediainfo string 视频信息
metadata json object 视频metadata
streams json array 视频流信息列表
format json object 视频文件信息

metadata部分

字段名 类型 是否必需 描述
rotate string 旋转信息

streams部分

字段名 类型 是否必需 描述
index int 序号
codec_type string 流类型
codec_name string 编码格式
bit_rate int 码率,单位bps
width int
height int
r_frame_rate string 帧率
channels int 声道数
sample_rate int 音频采样率

format部分

字段名 类型 是否必需 描述
duration string 文件时长,单位秒
format_name string 文件容器格式
size int 文件大小,单位字节
bit_rate string 文件平均码率,单位bps
  • 对切片文件信息segmentsinfo的说明:
字段名 类型 是否必需 描述
fileindex int 切片文件的顺序,从0开始
filename string 切片文件的名字
duration string 每个切片的实际时长,字符串内用小数表示,单位为秒,如"10.000",表示10s
filesize int 文件大小,单位字节
  • 对雪碧图信息thumnailsinfo的说明:
字段名 类型 是否必需 描述
fileindex int 雪碧图文件的顺序,从0开始
thumbnailpath string 雪碧图在ks3中的存路路径,不包括bucket信息
filesize int 文件大小,单位字节

POST回调接口的Body的格式示例:

注:offline老用户回调内容格式,json一级参数没有驼峰


{

    //任务id type:string

    "taskid": "92e3745751aee5662f9f06ff3f03076920160914",

    //处理中:2 成功:3 失败: 4 type:int

    "status": 2,

    //任务类型:与创建请求的任务类型一致

    "type": "avtrans",

    //视频云媒体转码返回信息

    "details": {

        ...

    }

}
  • avtrans 任务进度回调内容格式示例

{

    //任务id type:string

    "TaskID": "92e3745751aee5662f9f06ff3f03076920160914",

    //处理中:2 成功:3 失败: 4 type:int

    "Status": 2,

    //任务类型:与创建请求的任务类型一致

    "Type": "avtrans",

    //视频云媒体转码返回信息

    "Details": {

        //转码处理状态 transcoding 转码中,uploading 上传中 type:string

        "status": "transcoding",

        //转码进度百分比 type:int

        "progress": 5

    }

}
  • avtrans任务中segment切片任务(非HLS)回调内容格式示例

{

    //任务id type:string

    "TaskID": "92e3745751aee5662f9f06ff3f03076920160914",

    //处理中:2 成功:3 失败: 4 type:int

    "Status": 3,

    //任务类型:与创建请求的任务类型一致

    "Type": "avtrans",

    //视频云媒体转码返回信息

    "Details": {

        //成功:0 失败:其他 type:int

        "errnum": 0,

        //bucket地址 type:string

        "bucket": "wangshuai9",

        "items": [

            {

                //文件存储地址 type:string

                "dstpath": "m3u8/test/filelist.m3u8"

                //输出文件视频信息

                "segmenglisttype":"m3u8",

                "segmentsinfo":"[

                    {

                        "fileindex":0,

                        "filename":"segmentfile-000.mp4",

                        "duration":"10.0000",

                        "filesize":67778

                    },

                    {

                        "fileindex":1,

                        "filename":"segmentfile-001.mp4",

                        "duration":"11.0000",

                        "filesize":76578

                    },

                    {

                        "fileindex":2,

                        "filename":"segmentfile-002.mp4",

                        "duration":"10.0000",

                        "filesize":54776

                    },

                    {

                        "fileindex":3,

                        "filename":"segmentfile-003.mp4",

                        "duration":"12.0000",

                        "filesize":76564

                    }

                ]"

            }

        ]

    }

}
  • avtrans、avsample、avsnapshop 等普通任务结束回调内容格式示例

{

    //任务id type:string

    "TaskID": "92e3745751aee5662f9f06ff3f03076920160914",

    //处理中:2 成功:3 失败: 4 type:int

    "Status": 3,

    //任务类型:与创建请求的任务类型一致

    "Type": "avtrans",

    //兼容ks3老用户需求,avtrans任务没有该参数

    "itmes": [

        {

            "cmd": "tag=avop|tag=saveas&bucket=wangshuai9&object=bTN1OC90ZXN0LzEubXA",

            "desc": "success",

            "keys": [

                "m3u8/test/shouyin1.mp4"

            ],

            "code": 3

        }

    ],

    //视频云媒体转码返回信息

    "Details": {

        //成功:0 失败:其他 type:int

        "errnum": 0,

        //bucket地址 type:string

        "bucket": "wangshuai9",

        //截图总量

        //该参数只有avsample任务有效

        "snapshotNum":0,

        "items": [

            {

                //文件存储地址 type:string

                "dstpath": "m3u8/test/shouyin1.mp4"

                //输出文件视频信息

                "outMediainfo": "{

                    "metadata":{

                        "rotate":"10"

                    },

                    "streams":[

                        {

                            "index":0,

                            "codec_name":"h264",

                            "codec_type":"video",

                            "width":1280,

                            "height":720,

                            "bit_rate":"500000",

                            "r_frame_rate":"30.1"

                        },

                        {

                            "index":1,

                            "channels":2,

                            "sample_rate":44100,

                            "codec_name":"aac",

                            "codec_type":"audio",

                            "bit_rate":"64000"

                        }

                    ],

                    "format":{

                        "duration":"198.123",

                        "format_name":"mp4",

                        "size":198

                    }

                }"

            }

        ]

    }

}
  • avinfo 任务回调格式示例

{

    "TaskID":"0c33c9c372ff87fe197cb0dcf236e18d20161223",

    "Status":3,

    "Type":"avinfo",

    // 为兼容ks3老客户,新用户接入时,不带有itmes字段,请忽略

    "itmes":[

        {

            "cmd":"tag=avinfo",

            "desc":"success",

            "keys":[

                ""

            ],

            "code":3

        }

    ],

    "Details":{

        "errnum":0,

        "bucket":"",

        "items":[

            {

                "dstpath":"",

                "metainfo":"{

                    "streams":[

                        {

                            "codec_name":"aac",

                            "codec_long_name":"AAC (Advanced Audio Coding)",

                            "profile":"LC",

                            "codec_type":"audio",

                            "codec_time_base":"1/48000",

                            "codec_tag_string":"mp4a",

                            "codec_tag":"0x6134706d",

                            "r_frame_rate":"0/0",

                            "avg_frame_rate":"0/0",

                            "time_base":"1/48000",

                            "start_time":"0.000000",

                            "duration_ts":61673448,

                            "duration":"1284.863500",

                            "bit_rate":"47325",

                            "nb_frames":"60228",

                            "sample_fmt":"fltp",

                            "sample_rate":"48000",

                            "channels":2,

                            "channel_layout":"stereo"

                        },

                        {

                            "index":1,

                            "codec_name":"h264",

                            "codec_long_name":"H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",

                            "profile":"High",

                            "codec_type":"video",

                            "codec_time_base":"642153/15575000",

                            "codec_tag_string":"avc1",

                            "codec_tag":"0x31637661",

                            "r_frame_rate":"13/1",

                            "avg_frame_rate":"7787500/642153",

                            "time_base":"1/16000",

                            "start_pts":10176,

                            "start_time":"0.636000",

                            "duration_ts":20548896,

                            "duration":"1284.306000",

                            "bit_rate":"781679",

                            "nb_frames":"15575",

                            "width":500,

                            "height":600,

                            "coded_width":512,

                            "coded_height":608,

                            "has_b_frames":2,

                            "sample_aspect_ratio":"0:1",

                            "display_aspect_ratio":"0:1",

                            "pix_fmt":"yuv420p",

                            "level":22,

                            "chroma_location":"left",

                            "refs":1,

                            "is_avc":"true",

                            "bits_per_raw_sample":"8"

                        }

                    ],

                    "format":{

                        "nb_streams":2,

                        "format_name":"mov,mp4,m4a,3gp,3g2,mj2",

                        "format_long_name":"QuickTime / MOV",

                        "duration":"1284.864000",

                        "size":"133778683",

                        "bit_rate":"832951",

                        "probe_score":100

                    }

                }"

            }

        ]

    }

}

流式任务回调Body如下:

字段名 类型 是否必有 描述
TaskID string 任务ID
Status int 任务状态:3为成功,4为失败
Details json object 更详细的信息
  • Details的展开说明:
字段名 类型 是否必有 描述
Order int 任务在流式中的执行顺序
Type string 任务类型
Status int 子任务执行结果:3为成功,4为失败
Errnum int 任务错误码
Errmsg string 任务错误信息
Bucket string 输出文件的bucket
OutInfo json object 输出信息详情
  • OutInfo的展开说明:
字段名 类型 是否必有 描述
dstpath string 任务在流式中的执行顺序
metainfo string 任务类型
snapshotNum int 子任务执行结果:3为成功,4为失败
outMediainfo string 任务错误码
segmentsinfo string 任务错误信息
thumnailsinfo string 输出文件的bucket
segmentlisttype string 输出信息详情

备注:对metinfo,outMediainfo等的说明,见前文单独任务中该字段详情。

  • 两个avtrans类型的任务流式执行,结束后回调内容格式示例

{

    //任务id type:string

    "TaskID": "92e3745751aee5662f9f06ff3f03076920160914",

    //处理中:2 成功:3 失败: 4 type:int

    "Status": 3,

    //视频云离线转码返回信息

    "Details": [

        {

        "Order":  0,

        "Type": "avtrans",

        //子任务的执行结果状态码

        "Status": 3,

        //成功:0 失败:其他 type:int

        "Errnum": 0,

        "Errmsg": "",

        //bucket地址 type:string

        "Bucket": "xxxxx",

        "OutInfo": {

                //文件存储地址 type:string

                "dstpath": "xxxx/xxx/xxx.mp4",

                //输出文件视频信息

                "outMediainfo": "{

                    "metadata":{

                        "rotate":"10"

                    },

                    "streams":[

                        {

                            "index":0,

                            "codec_name":"h264",

                            "codec_type":"video",

                            "width":1280,

                            "height":720,

                            "bit_rate":"500000",

                            "r_frame_rate":"30.1"

                        },

                        {

                            "index":1,

                            "channels":2,

                            "sample_rate":44100,

                            "codec_name":"aac",

                            "codec_type":"audio",

                            "bit_rate":"64000"

                        }

                    ],

                    "format":{

                        "duration":"198.123",

                        "format_name":"mp4",

                        "size":198

                    }

                }"

            }

        },

        {

        "Order":  1,

        "Type": "avtrans",

        //子任务的执行结果状态码

        "Status": 3,

        //成功:0 失败:其他 type:int

        "Errnum": 0,

        "Errmsg": "",

        //bucket地址 type:string

        "Bucket": "xxxxx",

        "OutInfo": {

                //文件存储地址 type:string

                "dstpath": "xxxx/xxx/xxx.mp4",

                //输出文件视频信息

                "outMediainfo": "{

                    "metadata":{

                        "rotate":"10"

                    },

                    "streams":[

                        {

                            "index":0,

                            "codec_name":"h264",

                            "codec_type":"video",

                            "width":1280,

                            "height":720,

                            "bit_rate":"200000",

                            "r_frame_rate":"25"

                        },

                        {

                            "index":1,

                            "channels":2,

                            "sample_rate":44100,

                            "codec_name":"aac",

                            "codec_type":"audio",

                            "bit_rate":"64000"

                        }

                    ],

                    "format":{

                        "duration":"220.456",

                        "format_name":"flv",

                        "size":328

                    }

                }"

            }

        }

    ]

}

GET 回调接口

目前不提供

金山云,开启您的云计算之旅

免费注册