13 文件上传及管理相关接口
这组接口实现视频资源的上传及管理,为视频转码和发布提供支持。
上传的服务器上的视频文件,经过转码发布后形成可以对外播出的在线视频资源。
本小节描述文件上传和管理的接口,转码接口在下一章节说明。
13.1.文件上传接口
- 用途
通过HTTP POST协议上传视频文件。文件上传接口是一个特殊的接口,接口位置与其他接口有差异。
上传协议采用HTTP POST协议,提交form的数据采用multipart/form-data编码(enctype="multipart/form-data")。
这里有详细的规范(对于Web开发,通常您无需阅读这个文档):
rfc1867 http://www.ietf.org/rfc/rfc1867.txt
对于采用Web页面上传的应用,采用典型的form提交上传文件即可,数据提交地址设为本接口地址。 请求
http://host/upload?app=g3_video&sub_path=&file_name=&token=abcd&field_name=field_abcd
其中:
http://host/upload是上传位置,保持不变。host替换成实际的流媒体服务器IP地址或域名。
参数:
app=g3_video,表示上传的是视频文件,要保持不变。
sub_path表示上传到哪个子目录下,如果省略表示上传到用户根目录下。
file_name上传文件要在服务器上保存的文件名,如果跟上传文件名一样,则省略。该参数提供了一个上传文件在服务器上重新命名的机会。中文件名要采用UTF-8编码。
token意义跟其他接口一样。- 响应
{ "code":0 }
13.2.查询文件列表接口
- 用途
查询服务器上的某个目录下的视频文件列表。 - 请求
fileMgr/?request=list_files&subpath=&page=1
sub_path文件存放的子目录,对应上传文件时的sub_path参数。如果省略,则查询用户根目录下的文件。
page页码,该接口支持分页查询,分页信息在返回数据中。 - 响应
{ "code":0, "data":{ "page":"1", "page_size":"50", "pages":"1", "total":"1", "count":1, "items":[{ "filename":"案例视频8.mp4", "mtime":"2018-01-12 12:43", "size":"3153954", "charset":"UTF-8", "timestamp":1515732410, "is_media":1, "duration":98, "bitrate":255309, "stream_number":2, "timestamp_m":1515397208, "streams":[ { "index":"0", "type":"video", "codec":"h364", "pic_width":640, "pic_height":352, "bitrate":208980, "duration":98, "pix_fmt":"yuv420p", "frame_rate":"28/1" }, { "index":"1", "type":"audio", "codec":"aac", "lan":"und", "channels":1, "bitrate":43970, "duration":98, "sample_rate":44100 } ] }] } }
返回数据包含分页信息,在文件量较大时要按页查询。
items元素包含0或多个文件信息。streams元素是该文件包含的音视频流信息,一个多媒体文件会包含1到多个音视频流
filename文件名,返回的文件名总是采用UTF-8编码
charset文件名在服务器上的字符集编码,省略表示是UTF-8编码。如果为非UTF-8编码,在后续的接口中请将该属性带入
mtime文件最后的修改时间
size 文件大小,单位字节
duration文件播出时长,单位秒
bitrate综合码率,单位bps
stream_number文件包含的音视频流总数
streams元素:
streams包含0或多个音视频流,属性:
index流的索引编号,在转码接口中,在多语言音频流的情况下,可以通过传入音频流索引号选择指定的音频流。
type视频或音频,对应 video 或 audio
codec流编码格式,例如视频h364编码,音频aac编码等
bitrate流的比特率,单位bps
pix_fmt视频帧格式
frame_rate帧率
pic_width视频画幅宽度
pic_height视频画幅高度
lan音频语言信息,语言编码缩写
channels音频声道数
sample_rate音频采样率
13.3.查询文件目录接口
- 用途
查询服务器上的文件目录。 - 请求
fileMgr/?request=list_dirs&subpath=
sub_path文件存放的子目录,如果省略,则查询用户根目录下的文件目录。 - 响应
{ "code":0, "data":{ "count":2, "items":[ { "filename":"auto", "mtime":"2018-01-06 16:36", "size":"4096", "timestamp":0, "auto_transcode":1 }, { "filename":"audio", "mtime":"2017-12-27 18:09", "size":"4096", "timestamp":0, "auto_transcode":0 }] } }
items元素包含0或多个目录信息。
filename目录名
mtime最后修改时间
auto_transcode是否针对该目录设置了自动转码任务,1表示有自动转码任务
13.4.查询文件信息接口
- 用途
查询服务器上的某个视频文件的信息。 - 请求
fileMgr/?request=get_file&filename=案例视频8.mp4&charset=UTF-8
filename文件名,如果在子目录中,应当包含完整的相对目录,如 mypath/myfile.mp4,文件名采用UTF-8编码
charset文件名在服务器上的实际字符集编码,在查询文件列表接口中有返回。 - 响应
{ "code":0, "data":{ "count":1, "items":[ { "filename":"/案例视频8.mp4", "charset":"UTF-8", "mtime":1515732213, "size":3153954, "timestamp":1516941450, "is_media":1, "duration":98, "bitrate":255309, "stream_number":2, "timestamp_m":1515397208, "streams":[ { "index":"0", "type":"video", "codec":"h364", "pic_width":640, "pic_height":352, "bitrate":208980, "duration":98, "pix_fmt":"yuv420p", "frame_rate":"28/1" }, { "index":"1", "type":"audio", "codec":"aac", "lan":"und", "channels":1, "bitrate":43970, "duration":98, "sample_rate":44100 } ] } ] } }
返回一个文件的信息,包含多媒体信息。
返回数据的文件信息的描述与查询文件列表接口中对文件信息的描述相同。
13.5.删除文件接口
- 用途
删除服务器上的文件。 - 请求
fileMgr/?request=remove&filename=myvideo.mp4&charset=ASCII
filename文件名,如果在子目录中,应当包含完整的相对目录,如 mypath/myfile.mp4,文件名采用UTF-8编码
charset文件名在服务器上的实际字符集编码,在查询文件列表接口中有返回。 - 响应
{ "code":0 }
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
分享标题:接口规范13.文件上传及管理相关接口-创新互联
标题URL:http://lswzjz.com/article/dspdii.html