一種微信直播H5直播與存儲回放的HLS攝像機方案

接上篇

在上一篇博客《一種流量成本節省60%以上的手機直播微信直播H5直播幼兒園直播方案》中,咱們一共介紹了兩種省錢的HLS直播途徑:html

  • 方案一:編碼器或者內網推流直接對接雲存儲的場景git

    若是咱們是一個作編碼器或者咱們在內網有個直播主機,並且能夠對編碼器、主機作定製,那麼咱們能夠直接將直播流切片成HLS數據源源不斷寫入到雲存儲中,再經過雲存儲提供的Public或者Private的http地址,就能夠直接觀看HLS直播,與咱們在直播服務器中切片的HLS m3u8地址訪問方法同樣;github

  • 方案二:推流到公網的服務器再作切片七牛雲存儲

    若是咱們沒有辦法或者技術方法改變內網推流端,而是直接購買的直播設備,咱們也是能夠作到的:購買一臺雲主機,部署上RTMP服務器(例如EasyDSS),再經過RTMP服務器將切片的HLS直播數據源源不斷經過內網的形式寫入到雲存儲中,阿里雲也出了一個叫作cloudfs的產品,就是可以直接將OSS雲存儲掛在到服務器上作爲一個磁盤,這樣就能想寫本地磁盤目錄同樣,寫m3u8+ts文件了,這裏的費用也是極低的,首先內網上行到服務器主機的流量是免費的,服務器主機寫入到雲存儲走內網流量也是免費的,流量費用與第一種方式是類似的!服務器

咱們今天着重要描述的就是場景一的實現方案,直接在攝像機或者編碼器中將直播/存儲的HLS數據寫入到OSS/七牛雲存儲這樣的雲存儲中,注意,這裏不管是直播類型的HLS,仍是點播類型的HLS,均可以寫入到雲存儲中,並且都可以跟正常的直播型HLS或者點播型存儲效果是一致的!微信

實現方法

肯定了方向,那麼下一步就是應該如何實現呢,我總結了幾個層次的需求,按順序:markdown

  1. Step1:有攝像機/編碼器的二次開發權限,能直接在攝像機/編碼器的arm系統中植入咱們對接雲存儲的程序;阿里雲

  2. Step2:對接攝像機/編碼器SDK或者協議獲取到實時的音視頻流,並轉換爲標準的H.264+AAC(若是有音頻);編碼

  3. Step3:將H.264+AAC切片成HLS實時流數據/點播流數據;.net

  4. Step4:將Step3中的數據經過雲存儲的SDK寫入到雲存儲的Bucket中;

開發計劃

我自己是海康螢石的用戶,每月須要本身付款12元保存7天的錄像,個人計劃是本身基於廠家的攝像機開發一款雲存儲攝像機,具有幾個功能:

  1. 根據攝像機的SDK二次開發,當有移動偵測回調的時候,才啓動雲存儲錄像;

  2. 存儲錄像到雲存儲中保存7/30天;

  3. 攝像機原生須要支持H.264,音頻轉碼經過EasyAACEncoder:https://github.com/EasyDarwin/EasyAACEncoder來實現;

  4. HLS切片採用EasyHLS:https://github.com/EasyDarwin/EasyHLS來實現;

  5. 雲存儲固然就用雲存儲平臺提供的SDK二次開發了,例如OSS:https://help.aliyun.com/document_detail/32131.html?spm=5176.87240.400427.51.01eGWx,七牛雲:https://developer.qiniu.com/kodo/sdk/1255/cpp

  6. 固然阿里雲的OSS有直接將四、5兩步合併的SDK:https://help.aliyun.com/document_detail/32159.html?spm=5176.87240.400427.55.01eGWx

獲取更多信息

郵件:support@easydarwin.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2017

EasyDarwin

#20171028於北京#

相關文章
相關標籤/搜索