直播原始碼搭建教程之什麼是直播服務架構
阿新 • • 發佈:2020-10-09
直播原始碼搭建教程之什麼是直播服務架構
前言
隨著移動裝置的普及和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)的分享,轉載僅為分享乾貨知識,如有侵權歡迎聯絡雲豹科技進行刪除處理