近期外出交流比较多,在以前的一篇博客《一种流量成本节省60%以上的手机直播微信直播H5直播幼儿园直播方案》咱们说到了一种模式,就是当咱们在作最近火热的幼儿园直播平台时,比较简单的作法是在幼儿园内部会部署一台工控机设备,上面跑一个RTMP推流程序,再在公网部署一套流媒体服务器,内网的RTMP推流服务将摄像机的视频流拉取到本地再不间断地推流到公网的RTMP流媒体服务器,这样就能在公网得到一个固定的HLS m3u8直播地址,这样就能够交给微信业务端,嵌入到直播业务中了,这种作法的好处:nginx
实现方法简单灵活,直接拉流+推流+HLS切片;服务器
微信HLS秒开,无等待过程,起播很是快;微信
服务器上行流量可能是免费的,因此,对流量的消耗没有影响;markdown
惟一存在的问题是:网络
太耗内网网络的上行带宽,好比一个家庭100M宽带,上行4M~8M,那么一路摄像机就算调整的比较低,控制在512kbps,一个月幼儿园只能知足8~16路左右的摄像机,要增长再多的摄像机,一种作法是下降画质到更低,还有一种就是增长带宽线路,显然两种都不是很好的方案;session
内网上行带宽基本被全时段占据,连办公网络也会收到影响,简单说就是,传文件都传不出去了,由于带宽已经被上行的视频直播流量用掉了;.net
以前在咱们的《基于EasyDarwin云视频平台的幼儿园视频直播(手机直播/微信直播)解决方案》中,咱们是实现了一种按需推流直播的方案,这种方案在什么状况下是效果是比较好的呢?视频
内网摄像机太多太多了,都同时上传直播视频不大合适;blog
观看的客户端是原生App,直接能够采用RTMP播放;接口
由于采用按需直播的形式,HLS是临时切片的,也就是说这个切片过程会由于终端的不一样,起播消耗的时间也不同,体验会比较差,那么当您的应用对摄像机的画质要求不高,也就是画面能够尽可能压缩、或者内网的摄像头数量很少,就那么几个,占用不了多少上行带宽资源,那么咱们能够采用内网不间断RTMP直播推流,公网RTMP流媒体服务器不间断直播切片的方案了;
那么咱们如何实现这种方案呢,也就是如何在公网一直进行内网摄像头的RTMP/HLS直播,咱们能够采用EasyNVR+EasyDSS的方案!
直接在EasyDSS官网下载EasyDSS流媒体服务器版本,其中包含了EasyDSS流媒体服务器Windows/Linux版本及使用手册PDF:
主要配置节点:
在EasyNVR官网:http://www.easydarwin.org/easynvr,下载EasyNVR最新版本,其中包含EasyNVR Windows/Linux版本、EasyNVR使用文档PDF和二次开发接口文档PDF;
常规配置按照EasyNVR使用手册中配置便可,这里说一下须要达成本文方案所须要的关键配置方法:
完成以上两步以后,就能够直接调用公网的EasyDSS文档中描述的接口,例如:getlivesessions、query_record_devices等等接口,获取摄像机的RTMP直播流、HLS直播流、录像检索、录像回放等功能了;
Copyright © EasyDarwin.org 2012-2017