如何云储存服务实现视频存储

摘要 视频数据存储音视频直播平台如何实现数据存储?直播平台如何实现音视频文件的存储?视频监控行业怎样才能降低视频数据存储成本?直播行业的火热,也让视频的数据存储问题成为技术人员关注的焦点

音视频直播平台如何实现数据存储?直播平台如何实现音视频文件的存储?视频监控行业怎样才能降低视频数据存储成本?直播行业的火热,也让视频的数据存储问题成为技术人员关注的焦点。

为了方便直播/监控用户使用云存储产品来存储音视频数据,阿里云的云存储(简称OSS)产品近期推出了RTMP收流功能。用户可以直接用RTMP协议将音视频数据上传到云存储OSS。

云存储 LiveChannel

LiveChannel是云存储为了管理RTMP推流新增的概念;LiveChannel即直播频道,用来保存推流配置,获取推流状态等;直播频道从属于bucket,一个用户可以在bucket中创建无限多的直播频道。

用户创建一个LiveChannel即可以获取一个对应的RTMP推流地址,随后用户可以将音视频数据通过RTMP协议推送到云存储OSS,转储为HLS协议的ts、m3u8文件。转储的文件可以用来做点播;在延迟要求不高的场景下也可以直接使用HLS协议做直播;另外,还支持收流的同时实时截图,鉴黄来做协助用户做内容审查(内测中,有需求的用户可以通过工单、支持群来联系我们)。

通过LiveChannel,用户可以在直播的同时将内容存储到云存储OSS,不需要任何的本地临时存储;在享受云存储OSS高可靠、低成本、无限扩展的同时,还可以利用云存储OSS强大并且还在不断丰富中的数据处理能力(截图、转码、鉴黄等等)来进行各种后期处理;还可以非常便捷的使用云存储OSS的Lifecycle等功能来做数据的生命周期管理。

使用

一、RTMP直播转录为HLS

4e8d4ba3099254c482b5360277b71ec0a892338a

骤说

1.    APP始直播,推送RTMP流到CDN

2.    APP或者CDN发送始直播的消息到MNS Topic,信息中包含本次直播的CDN拉流地址;

3.    MNS推送消息到用户搭建在云服务器ECS上的RTMP Proxy

4.    RTMP Proxy使用ffmpegCDN拉流;

5.    RTMP Proxy云存储OSSLiveChannel,并向云存储OSS推流;

6.    束后,RTMP Proxy发送一条推流的消息到另一个MSN Topic

7.    MNS向客户的用服务器推送的消息,供后处理(例如保存点播地址到);

8.    APP用服务器得到点播地址,访问云存储OSS取点播视

备注

1.    用户可以自己使用OSS/MNS SDKffmpeglibrtmp自己的RTMP Proxy,后云存储OSS会提供示例程序;

2.    整个步中涉及到的件都可以使用阿里云提供的服务搭建。

二、实时鉴

5f972126ef1bd9cf307e3c892e432da58cd48c02

骤说

1.    直播使用RTMP Proxy推一路据到OSS,并设置LiveChannel启截

2.    OSS按用户指定的间隔截,并保存到OSS

3.    OSS用第三方黄服务对图行打分;

4.    OSS打分的果推送到MNS Topic

5.    MNS用户的用服务器通知果;

6.    另一种处理方式:用户也可以选择让OSS直接推送截接,用服务器将图片地址聚合后采用其他方式鉴别

备注

1.    第三方黄服务会部署在阿里云提供的容器服务中,用的延等有充分的保

2.    的同云存储OSS仍然会RTMP转储为HLS文件;

三、限控制(私有bucket支持HLS播放)

云存储OSS提供了丰富的鉴权/授权机制让用户可以精细的控制数据的访问权限;对于HLS直播/点播场景,我们同样提供了“动态签名m3u8”的机制,使用户可以使用私有bucket提供HLS播放服务。

用户只需要使用URL签名方式访问m3u8,并且增加参数“x- OSS-process=hls/type”, 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%2Bwszh9MeROeHPM%3D

#EXTINF:6.006,

1470971233398.ts?Expires=1470973160&OSSAccessKeyId=YJjHKOKWDWINLKXv&Signature=ek3I5uK3R8FlnZLLWCmzsJXo7wk%3D

#EXTINF:1.944,

1470971233415.ts?Expires=1470973160&OSSAccessKeyId=YJjHKOKWDWINLKXv&Signature=JMjdUcCGu63bgtiIHeEi0USyY18%3D

备注

1.    态签不会改变存云存储OSS中的m3

2.    u8文件的容;

3.    支持子号、STS,使用STS访问时TokenURL提供;

4.    x-oss-process需要参与名。

 

本文中提到的产品

对象存储
相关文章