近期外出交流比較多,在以前的一篇博客《一種流量成本節省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