直播軟件搭建直播服務架構

直播軟件搭建直播服務架構

前言

隨着移動設備的普及和4G網絡建設的全面鋪開,短視頻和直播行業日益火爆,其代表應用抖音、頭條更是火遍大江南北,逐漸成爲家喻戶曉的國民APP。各大廠商也紛紛入局短視頻賽道,推動音視頻人才的需求的高漲,這對於開發人員來說是一次難得的機遇。
筆者是一名Android APP開發工程師,一直用Java開發,因爲工作需要,開始轉做音視頻開發。希望能通過這一系列文章,將自己的學習路徑記錄並分享出來,對大家有幫助。

文章適合對象

對音視頻感興趣卻又不知道從何入手的開發人員,如果你已經是音視頻方面的大牛,那麼請忽略我的文章

直播服務架構

 

直播軟件搭建直播服務架構

 

本系列文章的所有內容都是圍繞上圖展開。相信大家或多或少都接觸過網絡直播,對直播業務都有一定了解:主播通過手機或PC開播,觀衆通過終端設備進入房間觀看直播。直播業務由三大要素組成:主播、服務器、觀衆,對應上圖的發送端、服務器、接收端,其中發送端的行爲是自底向上的,接收端的行爲是自頂向下的。

 

發送端

  • 1.主播通過設備的麥克風採集原始音頻數據(pcm格式),攝像頭採集原始視頻數據(yuv格式)
  • 2.通過編解碼工具(如MediaCodec-硬編,ffmpeg-軟編)將原始音頻、視頻數據分別轉換成aac和h264格式
  • 3.通過混合器提取音視頻數據中的軌道並封裝成flv格式
  • 4.將flv數據包裹上rtmp協議頭並將數據發送到服務器

接收端

  • 1.觀衆通過客戶端設備進入房間,播放器通過rtmp協議向服務器拉取視頻數據流
  • 2.用rtmp協議解析數據流,得到flv格式的數據流
  • 3.播放器將flv格式數據解析成音視頻數據流(aac,h264)
  • 4.通過編解碼工具將aac和h264解碼成原始的音視頻數據
  • 5.調用設備的揚聲器播放音頻數據,顯卡渲染視頻數據並在屏幕上顯示

最終目標

直播軟件搭建直播服務架構通過這一系列文章,掌握音視頻開發必備的知識,並通過自己搭建一套直播服務(Android客戶端+服務端)來運用學到的知識

本文轉載自網絡,感謝(懷素2020)的分享,轉載僅爲分享乾貨知識,如有侵權歡迎聯繫雲豹科技進行刪除處理