音视频直播平台如何实现数据存储?视频监管及风控需求如何满足?直播视频/图片内容如何自动审核?视频监控行业如何降低视频数据存储成本?为了方便直播/监控用户使用OSS来存储音视频数据,OSS近期推出了RTMP收流功能。用户可以直接用RTMP协议将音视频数据上传到OSS。
LiveChannel是OSS为了管理RTMP推流新增的概念;LiveChannel即直播频道,用来保存推流配置,获取推流状态等;直播频道从属于bucket,一个用户可以在bucket中创建无限多的直播频道。
用户创建一个LiveChannel即可以获取一个对应的RTMP推流地址,随后用户可以将音视频数据通过RTMP协议推送到OSS,转储为HLS协议的ts、m3u8文件。转储的文件可以用来做点播;在延迟要求不高的场景下也可以直接使用HLS协议做直播;另外,OSS还支持收流的同时实时截图,鉴黄来做协助用户做内容审查(内测中,有需求的用户可以通过工单、支持群来联系我们)。
通过LiveChannel,用户可以在直播的同时将内容存储到OSS,不需要任何的本地临时存储;在享受OSS高可靠、低成本、无限扩展的云存储的同时,还可以利用OSS强大并且还在不断丰富中的数据处理能力(截图、转码、鉴黄等等)来进行各种后期处理;还可以非常便捷的使用OSS的Lifecycle等功能来做数据的生命周期管理。
OSS提供了丰富的鉴权/授权机制让用户可以精细的控制数据的访问权限;对于HLS直播/点播场景,我们同样提供了“动态签名m3u8”的机制,使用户可以使用私有bucket提供HLS播放服务。
用户只需要使用URL签名方式访问m3u8,并且增加参数“x-oss-process=hls/sign”,OSS会对返回的播放列表中的所有ts地址按照与m3u8完全的相同的方式进行签名(相同的accessId、accessKey、expireTime)。
假设某个m3u8文件的内容如下:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:54 #EXT-X-TARGETDURATION:6 #EXTINF:6.006, 1470971233380.ts #EXTINF:6.006, 1470971233398.ts #EXTINF:1.944, 1470971233415.ts动态签名后返回的内容如下:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:54 #EXT-X-TARGETDURATION:6 #EXTINF:6.006, 1470971233380.ts?Expires=1470973160&OSSAccessKeyId=YJjHKOKWDWINLKXv&Signature=6aJidj9VCRqnv+wszh9MeROeHPM= #EXTINF:6.006, 1470971233398.ts?Expires=1470973160&OSSAccessKeyId=YJjHKOKWDWINLKXv&Signature=ek3I5uK3R8FlnZLLWCmzsJXo7wk= #EXTINF:1.944, 1470971233415.ts?Expires=1470973160&OSSAccessKeyId=YJjHKOKWDWINLKXv&Signature=JMjdUcCGu63bgtiIHeEi0USyY18=