博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接口规范 13. 文件上传及管理相关接口
阅读量:5839 次
发布时间:2019-06-18

本文共 4752 字,大约阅读时间需要 15 分钟。

13 文件上传及管理相关接口

这组接口实现视频资源的上传及管理,为视频转码和发布提供支持。

上传的服务器上的视频文件,经过转码发布后形成可以对外播出的在线视频资源。
本小节描述文件上传和管理的接口,转码接口在下一章节说明。

13.1.文件上传接口

  • 用途
    通过HTTP POST协议上传视频文件。文件上传接口是一个特殊的接口,接口位置与其他接口有差异。
    上传协议采用HTTP POST协议,提交form的数据采用multipart/form-data编码(enctype="multipart/form-data")。
    这里有详细的规范(对于Web开发,通常您无需阅读这个文档):
    rfc1867
    对于采用Web页面上传的应用,采用典型的form提交上传文件即可,数据提交地址设为本接口地址。
  • 请求

    其中:
    是上传位置,保持不变。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":"h264",                        "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 流编码格式,例如视频h264编码,音频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":"h264",                    "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}

转载于:https://blog.51cto.com/livestreaming/2065414

你可能感兴趣的文章
我的2014-相对奢侈的生活
查看>>
Java设计模式
查看>>
华为OJ 名字美丽度
查看>>
mysql-This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
查看>>
基本概念复习
查看>>
通过Roslyn构建自己的C#脚本(更新版)(转)
查看>>
红黑树
查看>>
【数据库】
查看>>
WindowManager.LayoutParams 详解
查看>>
Linux中rc的含义
查看>>
安卓中数据库的搭建与使用
查看>>
AT3908 Two Integers
查看>>
.NET 设计规范--.NET约定、惯用法与模式-2.框架设计基础
查看>>
win7 64位+Oracle 11g 64位下使用 PL/SQL Developer 的解决办法
查看>>
sql 内联,左联,右联,全联
查看>>
C++关于字符串的处理
查看>>
Breaking parallel loops in .NET C# using the Stop method z
查看>>
[轉]redis;mongodb;memcache三者的性能比較
查看>>
让你的WPF程序在Win7下呈现Win8风格主题
查看>>
802.11 学习笔记
查看>>