音视频处理接口
基本概念
音视频行业用户在将BOS作为后端存储源站时,结合上层业务逻辑往往会有不同的使用场景。 随着业务层对用户体验的不断演进,音视频业务对数据加工、处理、访问的实时性要求越来越高,并且希提供望更加简化的使用方式。
百度智能云BOS提供了业界全新的音视频处理接口,支持上传mp4格式的文件,系统自动保存为hls格式,用于m3u8风格播放器读取使用。充分满足了“UGC上传——自动化处理——播放”这条使用流,免去了原本复杂的视频操作处理逻辑,并为业务提速。
音视频处理命令
音视频文件远大于图片文件,处理时间也较长,通常在秒级。因此,BOS音视频处理命令,采用了相较于BOS图片处理接口有所区别的写时处理方案,即音视频原文件写入BOS时即开始按需处理,而非基于用户读取时定义的参数处理。
BOS音视频处理接口定义如下:
-
格式转换参数
参数名称 缩写 类型 取值 命令描述 是否必选 format f string [hls] 将视频转换转化为指定格式 是 time t int [6,600] 切片时间,默认10s 否 -
持久化存储参数
参数名称 缩写 类型 取值 命令描述 是否必选 object o string - 经过base64编码的object名称,受object长度限制,即不超过1024个字符(此处为转码后的m3u8文件名称,如xxx.m3u8) 是
请求方法
在BOS的POST接口中,以header形式填写参数,即可实现POST上传的音视频文件,按照header中的命令实现转封装及转存。
POST /video.mp4 HTTP/1.1
Content-Length:ContentLength
Content-Type: ContentType
x-bce-process=video/format,f_hls
注:该接口的鉴权生成方式参考PostObject接口。
请求示例
转封装并存储示例
将视频video.mp4转封装为hls,并将结果存储到video/demo.m3u8(此处文件目录定义与BOS规范一致)。
POST /video.mp4 HTTP/1.1
Content-Length:ContentLength
Content-Type: ContentType
x-bce-process=video/format,f_hls|system/save,o_dmlkZW8vZGVtby5tM3U4
如果需要指定分片时间转码,可以在参数中加入t_分片时长,如指定每个分片时长为20s,则参数为t_20。如x-bce-process=video/format,f_hls,t_20|system/save,o_dmlkZW8vZGVtby5tM3U4
注:video/demo.m3u8 Base64编码后结果为dmlkZW8vZGVtby5tM3U4
规则和限制
支持的规格:
- 支持的原音视频大小:100MB以下
- 支持的原音视频格式:mp4
- 支持的目标音视频格式:hls
- 目前支持在北京、保定、苏州、广州等4个region使用
- 目前仅支持在bos的post风格上传接口中使用
当前BOS音视频处理仅支持mp4文件向hls文件类型的转换,更多类型的支持、文件码转换等能力,BOS后续将逐步支持。
如您短期内希望采用更广泛的处理能力,同时业务侧也可允许相对长一些的处理延迟,也可参考百度智能云音视频转码MCT、百度智能云音视频点播VOD, 示例:
- 获取BOS中音视频文件的媒体信息,参考媒体信息获取接口。