[关闭]
@sewise-dev 2019-07-03T03:45:14.000000Z 字数 13287 阅读 559

鹏城转码 API

api


更新历史

编号 版本 说明 作者 日期
1 v1.0 1.创建文档; GuQiuSheng 2019-07-03

目录


【备注】

1. 错误码

当请求发生错误时,系统返回错误码和错误描述;错误分为 客户端错误服务端错误

HTTP请求状态列表,4xx为客户端错误,5xx为服务端错误

HTTP状态码 错误码 错误描述
400 10001 消息格式错误,缺少必要的参数或者是参数传值错误
413 10002 HTTP请求内容类型错误
401 11001 身份验证失败
404 12001 api接口不存在
500 50001 内部错误,服务器执行过程中遇到未知错误,会返回该未知错误,遇到该错误,请及时联系
50002 服务器资源不足
50003 服务器暂不支持该功能
504 50003 服务器繁忙,操作超时

HTTP请求状态返回格式

返回字段 字段类型 说明
code Integer 请求失败状态码(详细请见状态表)
error String 错误描述

错误样例
{
"code": 11001,
"error": "core expired"
}

2. 回调地址说明
3. 时间定义

以下接口中,类型为 UNIX TIME 的时间均为 UTC+0 时间


核心能力接口

1. 文件直传

接口功能

支持用户将本地文件上传到sewise的流媒体服务器(支持断点续传,需客户端支持)

接口功能

文件上传握手操作,系统根据请求参数返回该文件相应的上传操作指导

接口地址

/api/file/fupload

HTTP Content-Type

application/json

HTTP 请求方式

POST

请求参数
参数 必选 类型 说明
RequestBody
source_id String 该文件的MD5值,该值将作为sewise系统为该文件的唯一标识码
HTTP 响应状态

200

返回字段 字段类型 说明
source_id String 文件的MD5值
status Integer 文件上传状态,包括以下状态:0,文件未存在,可按请求正常上传;1,文件上传未完成,需要重新上传;2,文件已存在;
upload_url String 上传地址,当 status=0status=1 时存在

其他响应状态描述请参照:【备注】-【错误码】

接口示例

Request
curl -X POST -H "Content-Type:application/json" -d {"source_id":"1234qwer"} http://api.sewise.com/api/file/fupload/qwerasdfzxcvtyuiqwerasdfzxcvtyui
Response
{"source_id":"qwerasdfzxcvtyuiqwerasdfzxcvtyui","status":1,"upload_url":"http://api.sewise.com/api/upload"}

接口功能

支持用户将本地文件上传到sewise的流媒体服务器,支持用户以Form表单形式上传完整文件

接口地址

/api/file/fupload

HTTP Content-Type

multipart/form-data

HTTP 请求方式

POST

请求报文格式

POST /api/file/ HTTP/1.1
Content-Type: multipart/form-data; boundary="----=_Part_6_19788992.1452675017567"
Content-Length: 8418
Host: localhost:8888
Connection: Keep-Alive

------=_Part_6_19788992.1452675017567
Content-Disposition: form-data; name="source_id"

{source_id}
------=_Part_6_19788992.1452675017567
Content-Disposition: form-data; name="file_name"

{file_name}
------=_Part_6_19788992.1452675017567
Content-Disposition: form-data; name="tag"

{tag}
------=_Part_6_19788992.1452675017567
Content-Disposition: form-data; name="upload_callback"

{upload_callback}
------=_Part_6_19788992.1452675017567
Content-Type: video/mp4; name=test.jpg
Content-Transfer-Encoding: binary
Content-Disposition: form-data; name="test.mp4"; filename="test.mp4"

{file_binary_data}
------=_Part_6_19788992.1452675017567--

请求参数
参数 必选 类型 说明
RequestBody
source_id String 该文件的MD5值,该值将作为sewise系统为该文件的唯一标识码
tag String 文件标签
file_name String 默认使用文件的 sourceid 为文件名
capture_image Boolean 默认不截取封面图片
upload_callback String 文件上传结果回调地址,返回数据格式为 【5.文件查询】-【HTTP响应状态】-200-【data】-【Response Item】,回调请求说明请参照 【备注】-【回调地址说明】;若不存在回调地址,可以通过文件查询接口获取上传文件的信息
file_binary_data Binary 二进制文件数据(需要上传的文件)
HTTP 响应状态

200

返回字段 字段类型 说明
source_id String 文件的MD5值

其他响应状态描述请参照:【备注】-【错误码】

接口示例

Request
curl -F "file=@e:/test.mp4" -F "source_id=1234qwer" -F "file_name=1234qwer" -F "tag=sd" -F "capture_image=false" -F "upload_callback=http://api.sewise.com/api/callback" http://api.sewise.com/api/file/fupload

Response
{"source_id":"1234qwer"}

2. 文件分片上传

接口功能

支持用户将本地文件上传到sewise的流媒体服务器(支持断点续传,需客户端支持)

接口功能

文件上传握手操作,系统根据请求参数返回该文件相应的上传操作指导

接口地址

/api/file/upload

HTTP Content-Type

application/json

HTTP 请求方式

POST

请求参数
参数 必选 类型 说明
RequestBody
source_id String 该文件的MD5值,该值将作为sewise系统为该文件的唯一标识码
file_size Long 文件大小,单位为byte
slice_size Integer 文件分块大小
slice_nums Integer 文件分块数目
suffix_name String 文件扩展名
tag String 文件标签
file_name String 默认使用文件的 sourceid 为文件名
capture_image Boolean 默认不截取封面图片
upload_callback String 文件上传结果回调地址,返回数据格式为 【5.文件查询】-【HTTP响应状态】-200-【data】-【Response Item】,回调请求说明请参照 【备注】-【回调地址说明】;若不存在回调地址,可以通过文件查询接口获取上传文件的信息
HTTP 响应状态

200

返回字段 字段类型 说明
source_id String 文件的MD5值
status Integer 文件上传状态,包括以下状态:0,文件未存在,可按请求正常上传;1,文件上传一部分;2,文件已存在;
upload_url String 上传地址,当 status=0status=1 时存在
upload_set String Json格式的文件上传参数,只有当 status=1 时存在,详细信息请看 Response Item

Response Item

返回字段 字段类型 说明
file_name String 文件名
tag String 文件标签,存在时返回,否则为空
file_size Long 文件大小,单位为byte
slice_size Integer 文件分块大小
slice_nums Integer 文件分块数目
slice_arr Array 未上传的文件分块列表;如果客户端通过单线程按照序号顺序上传分块的方式,则本参数返回最后一个上传的分块序号,如果客户端通过多线程同时上传分块分的方式,则本参数返回未上传切片的序号列表

其他响应状态描述请参照:【备注】-【错误码】

接口示例

Request
curl -X POST -H "Content-Type:application/json" -d {"file_size":10000,"slice_size":250,"slice_nums":40,
"upload_callback":"http://callback.sewise.com/api/callback"} http://api.sewise.com/api/file/upload/qwerasdfzxcvtyuiqwerasdfzxcvtyui
Response
{"source_id":"qwerasdfzxcvtyuiqwerasdfzxcvtyui","status":1,"upload_set":{"file_size":1000,"slice_size":25,"slice_nums":40,"slice_arr":[4]}}

接口功能

上传分片文件,客户端需串行上传文件

接口地址

/api/file/upload/{source_id}/{slice_id}

HTTP Content-Type

application/octet-stream

HTTP 请求方式

PUT

请求参数
参数 必选 类型 说明
PathParam
source_id String 文件ID
slice_id Integer 文件分块序号
请求内容

文件分块的二进制数据

HTTP 响应状态

200

返回字段 字段类型 说明
source_id String 文件ID
slice_id Integer 文件分片序号
接口示例

Request
curl -X PUT -H "Content-Type:application/octet-stream" http://api.sewise.com/api/file/upload/qwerasdfzxcvtyuiqwerasdfzxcvtyui/1
Response
{"source_id":"qwerasdfzxcvtyuiqwerasdfzxcvtyui","slice_id":1}

3. 文件删除

接口功能

删除已上传的文件,包括与该资源相关的内容

接口地址

/api/file/{source_id[,source_id]}

HTTP Content-Type

application/json

HTTP 请求方式

DELETE

请求参数
参数 必选 类型 说明
PathParam
source_id String 视频id,可以批量操作,格式如下xxx,xxx
HTTP 响应状态

200

返回字段 字段类型 说明
result Array Json格式的请求结果列表,详细信息请看 Response Item

Response Item

返回字段 字段类型 说明
source_id String 文件ID
success boolean 文件删除是否成功

其他响应状态描述请参照:【备注】-【错误码】

使用示例

Request
curl -X DELETE -H "Content-Type:application/json" http://api.sewise.com/api/file/qwerasdfzxcvtyuiqwerasdfzxcvtyui
,qwerasdfzxcvtyuiqwerasdfzxcvtyu7
Response
{"result":[{"success":true,"source_id":"qwerasdfzxcvtyuiqwerasdfzxcvtyui"}]}

4. 文件查询

接口功能

查询文件的详细信息

接口地址

/api/file/{source_id[,source_id]}

HTTP Content-Type

application/json

请求方式

GET

请求参数
参数 必选 类型 说明
PathParam
source_id String 视频id,可以批量操作,格式如下xxx,xxx
QureyParam
tag String 当source_id不存在,可根据tag查询,支持多tag查询,格式如 tag1,tag2
status Integer 当source_id不存在,可根据status查询,获取指定状态的文件信息
size Integer 当source_id不存在,可设置查询文件个数,默认为20
page Integer 当source_id不存在,可设置查询文件的页数,默认为1
HTTP 响应状态

200

返回字段 字段类型 说明
total_record Integer 总文件数
size Integer 分页大小
page Integer 当前分页
total_page Integer 总的分页数
data Array Json格式的文件列表信息,详细信息请看 Response Item

Response Item

返回字段 字段类型 说明
source_id String 文件ID
file_name String 文件名称
status Integer 文件状态,0:不可用;1:上传中;2:可用;3:可播放
tag String 文件标签,存在时则返回
create_time Long UNIX TIME,文件创建时间
file_info String Json格式的文件详细信息,当 status=1,2 时存在,详细信息请看 FileInfo Item
job_info Array Json格式的文件转码信息列表,当 status=1 时存在,详细信息请看 JobInfo Item
multiple Array Json格式的多码率文件列表,仅当用户调用多码率转码操作完成后存在,详细信息请看 Multiple Item

FileInfo Item

返回字段 字段类型 说明
file_size Long 文件大小,单位byte
cover String 封面图片地址,可通过http访问的绝对地址,存在时返回该值
duration Integer 视频时长,单位s
format String 文件格式
vcodec String 视频编码格式
dimension String 分辨率
bitrate Integer 码率,单位kb/s
framerate Float 帧率
acodec String 音频编码格式
channels Integer 音轨数量
samplerate Integer 音频采样率

JobInfo Item

返回字段 字段类型 说明
job_id String(8) 转码任务ID
status Integer 转码状态

Multiple Item

返回字段 字段类型 说明
source_id String 转码文件ID
dimension String 分辨率,格式为640x480
bitrate Integer 视频码率,单位为kb/s
framerate float 视频帧率
size Long 视频大小

其他响应状态描述请参照:【备注】-【错误码】

使用示例

Request
curl -X GET -H "Content-Type:application/json" http://api.sewise.com/api/file/1234qwerasdfzxcv1234qwerasdfzxcv
Response
{"total_record":1,"total_page":1,"page":1,"size":1,"data":[{"source_id":1234qwerasdfzxcv1234qwerasdfzxcv,"status":2,"create_time":1445307741210,"file_info":{"file_size":10000,"format":"ts","duration":300,"vcodec":"h264","acode":"aac","dimension":"640x480","bitrate":"200","framerate":"30","samplerate":"44100","channles":2}}]}

5. 文件下载

接口功能

下载指定文件

接口地址

/api/file/download/{source_id}

HTTP Content-Type

application/json

HTTP 请求方式

GET

请求参数
参数 必选 类型 说明
PathParam
source_id String 视频id
QueryParam
format String 视频格式
HTTP 响应状态

200

返回字段 字段类型 说明
url String 文件下载地址

其他响应状态描述请参照:【备注】-【错误码】

使用示例

Request
curl -X GET -H "Content-Type:application/json" http://api.sewise.com/api/file/download/qwerasdfzxcvtyuiqwerasdfzxcvtyui
Response
{"url":"http://download.sewise.com/qwerasdfzxcvtyuiqwerasdfzxcvtyui.flv"}

6. 文件转码

接口功能

对已上传成功的文件根据需求执行转码操作

接口地址

/api/file/transcode/{source_id}

HTTP Content-Type

application/json

请求方式

POST

请求参数
参数 必选 类型 说明
PathParam
source_id String 文件ID
RequestBody
template_id String(8) 转码参数模板ID,8位任意字符串组成,系统默认的转码模板ID除外;系统默认已设定三种转码模板可供使用,id分别为tp_sd,tp_hd,tp_shd,详细信息请看 【备注】-【转码模板】
trans_callback String 转码任务结果回调地址;回调地址格式请参照【备注】-【回调地址说明】;回调数据格式为 【查询转码】-【HTTP 响应状态】- 200 -【data】-【Response Item】-【Multiple Item】;
HTTP 响应状态

200

返回字段 字段类型 说明
job_id String(8) 转码任务ID

其他响应状态描述请参照:【备注】-【错误码】

使用示例

Request
curl -X POST -H "Content-Type:aplication/json" -d {"template_id":"tp_sd","trans_callback":"http://callback.sewise.com/api/callback"} http://api.sewise.com/api/file/transcode/1234qwer
Response
{"job_id":"1234qwer"}

7. 取消转码

接口功能

取消正在进行的转码任务

接口地址

/api/file/transcode/{job_id[,job_id]}

HTTP Content-Type

application/json

请求方式

PUT

请求参数
参数 必选 类型 说明
PathParam
job_id String(8) 转码任务ID,可以批量操作,格式如:xxx,xxx
HTTP 响应状态

200

返回字段 字段类型 说明
result Array Json格式的取消转码结果列表,详细信息请看 Response Item

Response Item

返回字段 字段类型 说明
success boolean 请求结果
job_id String(8) 转码任务ID

其他响应状态描述请参照:【备注】-【错误码】

使用示例

Request
curl -X POST -H "Content-Type:aplication/json" http://api.sewise.com/api/file/transcode/1234qwer,qwer1234
Response
{"result":[{"job_id":"1234qwer","success":true},{"job_id":"qwer1234","success":true}]}

8. 查询转码

接口功能

查询正在进行的转码任务

接口地址

/api/file/transcode/{job_id[,job_id]}

HTTP Content-Type

application/json

请求方式

GET

请求参数
参数 必选 类型 说明
PathParam
job_id String(8) 文件ID,支持批量操作,格式为xxx,xxx
QueryParam
size Integer 查询任务的数量,默认为20
page Integer 查询任务的页数,默认为1
HTTP 响应状态

200

返回字段 字段类型 说明
total_record Integer 总文件数
size Integer 分页大小
page Integer 当前分页
total_page Integer 总的分页数
data Array Json 格式的转码任务列表,详细信息请看 Response Item

Response Item

返回字段 字段类型 说明
job_id String(8) 转码任务ID
template_id String(8) 转码模板ID
create_time Long 任务创建时间
status Integer 转码状态,0:等待转码;1:正在转码中;2:转码完成
process Float 转码进度,仅当 status==1 时存在

其他响应状态描述请参照:【备注】-【错误码】

使用示例

Request
curl -X GET -H "Content-Type:application/json" http://api.sewise.com/api/transcode/1234qwer
Response
{"total_record":1,"total_page":1,"page":1,"size":1,"data":[{"job_id":"1234qwer","template_id":"qwerasdf","status":"1","process":"20.01","create_time":1445307741210}]}

9. 转码模板设置

接口功能

自定义合适的转码模板

接口地址

/api/transtemplate

HTTP Content-Type

application/json

请求方式

POST

请求参数
参数 必选 类型 说明
RequestBody
template_name String 转码模板的名称
params String Json格式的转码参数列表,详细信息请看 Request Item

Request Item

参数 必选 类型 说明
video String Json格式的视频转码参数列表,详细信息请看 Video Params
audio String Json格式的音频转码参数列表,详细信息请看 Audio Params
watermark String Json格式的水印参数列表,暂不支持使用

Video Params

参数 必选 类型 说明
dimension String 视频分辨率,默认为原视频分辨率
bitrate Integer 视频码率,单位kb/s,默认为原视频码率
framerate Float 视频帧率,默认为原视频帧率

Audio Params

参数 必选 类型 说明
channels Integer 音轨数量,默认为原音轨数
simplerate Integer 音频采样率,默认为原音频采样率
bitrate Integer 音频码率,单位为kb/s,默认为原音频码率
HTTP 响应状态

200

返回字段 字段类型 说明
template_id String(8) 转码模板ID,8位任意字符串组成

其他响应状态描述请参照:【备注】-【错误码】

使用示例

Request
curl -X POST -H "Content-Type:application/json" -d {"template_name":"标清","params":{"video":{},"audio":{}}} http://api.sewise.com/api/transtemplate
Response
{"template_id":"qwerasdf"}

10. 更新转码模板

接口功能

更新指定的转码模板

接口地址

/api/transtemplate/{template_id}

HTTP Content-Type

application/json

请求方式

PUT

请求参数
参数 必选 类型 说明
PathParam
template_id String(8) 转码模板ID
RequestBody
params String Json格式的转码参数列表,详细信息请看 Request Item

Request Item

参数 必选 类型 说明
video String Json格式的视频转码参数列表,详细信息请看 Video Params
audio String Json格式的音频转码参数列表,详细信息请看 Audio Params
watermark String Json格式的水印参数列表,暂不支持使用

Video Params

参数 必选 类型 说明
dimension String 视频分辨率,默认为原视频分辨率
bitrate Integer 视频码率,单位kb/s,默认为原视频码率
framerate Float 视频帧率,默认为原视频帧率

Audio Params

参数 必选 类型 说明
channels Integer 音轨数量,默认为原音轨数
simplerate Integer 音频采样率,默认为原音频采样率
bitrate Integer 音频码率,单位为kb/s,默认为原音频码率
HTTP 响应状态

200

返回字段 字段类型 说明
success boolean 请求结果

其他响应状态描述请参照:【备注】-【错误码】

使用示例

Request
curl -X PUT -H "Content-Type:application/json" -d {"params":{"video":{},"audio":{}}} http://api.sewise.com/api/transtemplate/qwerasdf
Response
{"success":true}

11. 获取转码模板信息

接口功能

获取指定或者全部的转码模板信息

接口地址

/api/transtemplate/{template_id[,template_id]}

HTTP Content-Type

application/json

请求方式

GET

请求参数
参数 必选 类型 说明
PathParam
template_id String(8) 转码模板ID,可以批量操作,格式为xxxx,xxxx
QureyParam
page Integer 查询日志的页数,默认为1
size Integer 查询每页日志的条数,默认为20
HTTP 响应状态

200

返回字段 字段类型 说明
total_record Long 已记录日志总数量
total_page Integer 已记录日志的总页数
page Integer 当前页数
size Integer 每一页日志的数量
data Array Json格式的转码模板信息列表,详细信息请看 Response Item

Response Item

返回字段 字段类型 说明
template_id String(8) 转码模板ID
template_name String 转码模板名称
params String Json格式的转码参数列表,详细信息请参照【设置转码模板】-【Request Item】

其他响应状态描述请参照:【备注】-【错误码】

使用示例

Request
curl -X GET -H "Content-Type:application/json" -d {"keyword":"ssss"} http://api.sewise.com/api/transtemplate/qwerasdf
Response
{"total_record":1,"total_page":1,"page":1,"size":1,"data":[{"template_id":"1234qwer","template_name":"hd","params":{}}]}

12. 删除转码模板

接口功能

删除指定转码模板

接口地址

/api/transtemplate/{template_id[,template_id]}

HTTP Content-Type

application/json

请求方式

DELETE

请求参数
参数 必选 类型 说明
PathParam
template_id String(8) 转码模板ID,可以批量操作,格式为xxxx,xxxx
HTTP 响应状态

200

返回字段 字段类型 说明
result Array Json格式的删除转码模板列表,详细请看 Response Item

Response Item

返回字段 字段类型 说明
success boolean 请求结果
template_id String(8) 转码模板ID

其他响应状态描述请参照:【备注】-【错误码】

使用示例

Request
curl -X DELETE -H "Content-Type:application/json" http://api.sewise.com/api/transtemplate/qwerasdf
Response
{"result":[{"template_id":"qwerasdf","success":true}]}

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注