一种微信直播H5直播与存储回放的HLS摄像机方案
接上篇在上一篇博客《一种流量成本节省60%以上的手机直播微信直播H5直播幼儿园直播方案》中,我们一共介绍了两种省钱的HLS直播途径:方案一:编码器或者内网推流直接对接云存储的场景如果我们是一个做编码器或者我们在内网有个直播主机,而且可以对编码器、主机做定制,那么我们可以直接将直播流切片成HLS数据源源不断写入到云存储中,再通过云存储提供的Public或者Private的http地址,就可以直接观看
接上篇
在上一篇博客《一种流量成本节省60%以上的手机直播微信直播H5直播幼儿园直播方案》中,我们一共介绍了两种省钱的HLS直播途径:
方案一:编码器或者内网推流直接对接云存储的场景
如果我们是一个做编码器或者我们在内网有个直播主机,而且可以对编码器、主机做定制,那么我们可以直接将直播流切片成HLS数据源源不断写入到云存储中,再通过云存储提供的Public或者Private的http地址,就可以直接观看HLS直播,与我们在直播服务器中切片的HLS m3u8地址访问方法一样;
方案二:推流到公网的服务器再做切片
如果我们没有办法或者技术方法改变内网推流端,而是直接购买的直播设备,我们也是可以做到的:购买一台云主机,部署上RTMP服务器(例如EasyDSS),再通过RTMP服务器将切片的HLS直播数据源源不断通过内网的形式写入到云存储中,阿里云也出了一个叫做cloudfs的产品,就是能够直接将OSS云存储挂在到服务器上做为一个磁盘,这样就能想写本地磁盘目录一样,写m3u8+ts文件了,这里的费用也是极低的,首先内网上行到服务器主机的流量是免费的,服务器主机写入到云存储走内网流量也是免费的,流量费用与第一种方式是相似的!
我们今天着重要描述的就是场景一的实现方案,直接在摄像机或者编码器中将直播/存储的HLS数据写入到OSS/七牛云存储这样的云存储中,注意,这里不论是直播类型的HLS,还是点播类型的HLS,都可以写入到云存储中,而且都能够跟正常的直播型HLS或者点播型存储效果是一致的!
实现方法
确定了方向,那么下一步就是应该如何实现呢,我总结了几个层次的需求,按顺序:
Step1:有摄像机/编码器的二次开发权限,能直接在摄像机/编码器的arm系统中植入我们对接云存储的程序;
Step2:对接摄像机/编码器SDK或者协议获取到实时的音视频流,并转换为标准的H.264+AAC(如果有音频);
Step3:将H.264+AAC切片成HLS实时流数据/点播流数据;
Step4:将Step3中的数据通过云存储的SDK写入到云存储的Bucket中;
开发计划
我本身是海康萤石的用户,每个月需要自己付款12元保存7天的录像,我的计划是自己基于厂家的摄像机开发一款云存储摄像机,具备几个功能:
根据摄像机的SDK二次开发,当有移动侦测回调的时候,才启动云存储录像;
存储录像到云存储中保存7/30天;
摄像机原生需要支持H.264,音频转码通过EasyAACEncoder:https://github.com/EasyDarwin/EasyAACEncoder来实现;
HLS切片采用EasyHLS:https://github.com/EasyDarwin/EasyHLS来实现;
云存储当然就用云存储平台提供的SDK二次开发了,例如OSS:https://help.aliyun.com/document_detail/32131.html?spm=5176.87240.400427.51.01eGWx,七牛云:https://developer.qiniu.com/kodo/sdk/1255/cpp
当然阿里云的OSS有直接将4、5两步合并的SDK:https://help.aliyun.com/document_detail/32159.html?spm=5176.87240.400427.55.01eGWx;
获取更多信息
Copyright © EasyDarwin.org 2012-2017
#20171028于北京#
更多推荐
所有评论(0)