Android手機直播系統開發介紹

來源:互聯網
上載者:User

標籤:cdn   ESS   需要   直播開發   問題   技術分享   android   卡頓   序號   

近兩年直播熱的興起也帶動了直播開發行業的崛起,每個人都想要去吃直播開發這塊蛋糕。但這塊蛋糕也不是這麼容易吃到的,在激烈的市場競爭下,有幾個大的直播平台始終佔據著市場中較大的份額,也有一些小的公司承受不住衝擊倒下,只有擁有高精尖的技術,才能夠在市場中擁有一席之地。直播開發不是一件能夠容易完成的事情,安卓和蘋果對於搭建的要求就不一樣,今天我們就先瞭解一下安卓如何搭建直播系統。

如果一上來就要去搭建一個直播系統,基本是不可能的,首先我們要從總體上瞭解直播到底是什麼。手機直播要實現的就是將手機採集到的視頻和音頻經過一定的處理後發送到CDN,然後傳輸到各個終端的過程。主要包含以下過程:
一、採集
採集主要包含視頻採集和音頻採集,涉及到網路攝影機及麥克風等裝置。視頻主要是通過網路攝影機採集,涉及到網路攝影機的操作和一些參數的設定,很多安卓手機存在相容性問題,需要較好的處理。音頻主要通過麥克風進行採集,有時一些手機為了進行連麥功能要進行回聲消除。
二、處理
視頻處理。現在直播間中美顏功能一定是標配了,對主播的形象有一個很大的提升,,也可以添加一些好玩的卡通貼紙,也會吸引更多的粉絲去觀看。美顏SDK基於Face Service技術打造,優秀的SDK需要在添加美白磨皮等美顏功能後還不降低清晰度,不會過度磨皮,顯得美顏過度,視頻失真。目前圖片上的美顏功能已經較為成熟,視頻美顏功能還需要不斷地完善。
音頻處理。有時直播間只有主播一人說話的話會顯得略有尷尬,這時候就需要一些聲音來緩解尷尬,比如笑聲或者鼓掌聲。主播可以讓附加的聲音直接播放出來,這樣麥克風就可以同時錄製主播聲音和附加聲音,但這種處理存在一個問題就是在主播戴上耳機或者進行回聲消除處理的時候,附加聲音就不會收錄進去。以後針對這個功能還需要有更多的處理。
三、編碼
通過網路攝影機和麥克風我們可以採集到相應的資料,把這些資料直接進行傳輸的話,佔用的頻寬會很大,容易造成資源的浪費。這時就需要對資料進行編碼處理。目前我們使用的是H。264編碼通訊協定。H.264擁有較高的編碼效率,在同等映像品質下,採用H.264技術壓縮後的資料量只有MPEG2的1/8,MPEG4的1/3,且h.264視頻畫面品質高,容錯率高而且在網路傳輸中所需頻寬更少,經濟性高。
其次,編碼分為軟編碼和寫入程式碼。軟編碼採用CPU進行編碼,實現簡單直接參數調整方便,升級易,但是CPU負載重,效能要比寫入程式碼差一些。寫入程式碼採用非CPU進行編碼,效能較高。直播平台如果想要稍高一點的清晰度,一般選擇寫入程式碼。編碼要在解析度,幀率,碼率,GOP等參數設計上找到最佳平衡點。
對音頻進行編碼也可以分為軟編和硬編兩種。軟編則下載相應的編碼庫,寫好相應的jni,然後傳入資料進行編碼。硬編則是使用Android自身提供的MediaCodec。
四、打包
資料在傳輸過程中需要定義一定的格式進行傳輸,這樣傳輸到對端的時候才可以被正確的解析出來,打包一般需要相應的協議:TCP協議(Transmission Control Protocol )傳輸控制通訊協定是一種連線導向的、可靠的、基於位元組流的傳輸層通訊協定。TCP為了保證檔案傳輸的可靠性,給每一個包一個序號,同時序號也保證了從傳送到接收端實體包的順序接收。
RTMP協議、http-hlv協議等都是打包過程中需要用到的協議。
五、差網路處理
好的網路狀況下,視頻傳輸串流暢,不會堆積音視頻造成視頻延遲、卡頓,而較差的網路狀況下,音視頻資料發不出去,就容易造成卡頓延遲,需要我們對音視頻進行處理,一般有以下幾個方式:緩衝區設計、丟幀處理、網路檢測、降碼率處理。
六、發送
經過各種處理,需要將資料發送出去,這一步較為簡單,不論是RTMP還是HTTP-HLV都可以通過TCP建立串連。
以上幾個步驟就是Android端搭建一個直播平台的基本流程了,這樣看來想要自己搭建一個系統看起來並不太現實,搭建直播系統最簡單有效方式就是委託給專門搭建直播系統的開發公司,可以保證系統從開始搭建到最後運營的穩定流暢,可以選擇我們這樣的公司,聯絡我們可以看我的設定檔。

Android手機直播系統開發介紹

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.