多平台统一管理软件接口,如何实现多平台统一管理软件接口
183
2024-02-03
本文讲解"接口规范 13. 文件上传及管理相关接口",用于解决相关问题。
这组接口实现视频资源的上传及管理,为视频转码和发布提供支持。
上传的服务器上的视频文件,经过转码发布后形成可以对外播出的在线视频资源。
本小节描述文件上传和管理的接口,转码接口在下一章节说明。通过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 }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音频采样率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表示有自动转码任务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 } ] } ] } }返回一个文件的信息,包含多媒体信息。
返回数据的文件信息的描述与查询文件列表接口中对文件信息的描述相同。fileMgr/?request=remove&filename=myvideo.mp4&charset=ASCII
filename文件名,如果在子目录中,应当包含完整的相对目录,如 mypath/myfile.mp4,文件名采用UTF-8编码
charset 文件名在服务器上的实际字符集编码,在查询文件列表接口中有返回。 响应 { "code":0 }关于 "接口规范 13. 文件上传及管理相关接口"
本文讲解"接口规范 14.转码接口",用于解决相关问题。 14 转码相关接口14.1.转码接口用途对上传到服务器上的视频进行转码,转码后可以面向互联网或局域网发布播出。请求transcodeMgr ...
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~