開發與維運

直播間搭建中流媒體直播系統的幾大要素

(h.264/h.265/VP9/AAC等);由流媒體服務器負責對數據包進行容器封裝(flv/ts等)以及負責網絡協議打包(RTMP/HTTP等);由CDN網絡進行全網分發;由播放層負責對圖像進行解碼顯示(FLASH/VLS/VIDEO JS等)。
u=3974047596,4270579326&fm=11&gp=0.jpg

一、流媒體直播系統所需的核心組件包括:
1、編碼工具:用於流媒體文件生成的編碼工具
 
2、流媒體服務器:用於控制、傳送流媒體數據的流媒體服務器
 
3、CDN網絡:用於支撐流媒體的全網分發網絡
 
4、網絡協議:用於支持特定的流式傳輸的網絡協議
 
5、播放器:各操作平臺用於顯示流式數據的播放器

二、編碼工具
直播間搭建中視音頻的編碼應該是整個視音頻技術中最複雜、涉及知識點最多的技術了,當然也是最重要的技術,這是一門專業學科。我們研究流媒體時,如果不是專業做編解碼的,倒不必對編解碼技術進行系統學習。因為當下市面上有大量優秀的專業編碼設備、編碼軟件、開源工具,我們只需要瞭解視音頻編解碼大致的原理,瞭解各種編碼標準,做流媒體時如何選擇及使用編碼工具就達到目的了。
fffsdf.jpg

三、視音頻編碼原理

1、我們所謂的視音頻編碼,其實就是一個對數據進行壓縮的過程。在編碼原理這塊,我們無需掌握其過於深奧的數學原理和計算機算法,只需要搞清楚兩個問題即可,一是為什麼要壓縮?二是為什麼能壓縮?

 

2、為什麼要壓縮,在回答這個問題之前我們需要搞清楚我們天天在網上看的直播裡面那些視頻和音頻到底是個什麼東西。視頻,是通過攝像頭採集下來的YUV等原始數字格式;音頻,是通過麥克風拾音器採集下來的PCM等原始數字格式。

 
  3、為什麼能壓縮,主要是由於原始視音頻數據存在以下兩種冗餘數據,所以我們才能使用編碼算法對數據量進行大幅壓縮,以此實現網絡上的傳輸和存儲。

四、編碼器工作流程

    在我們熟悉的流媒體直播系統中,編碼工作一般由硬件編碼器、PC端OBS/FMLE、移動端各種採集SDK來完成。這些編碼工具除了壓縮編碼之外,其實還完成了下圖所示的採集、編碼、封裝、協議打包、推流5大環節,其中每一個環節都涉及非常多的理論知識和巨大的研發工作量。

Leave a Reply

Your email address will not be published. Required fields are marked *