直播推流端即主播端,主要通過手機攝像頭采集視頻數據和麥克風采集音頻數據,經過壹系列前處理、編碼、封裝,然後推流到CDN進行分發。
1、采集
移動直播SDK通過手機攝像頭和麥克風直接采集音視頻數據。其中,IOS硬件種類不多,所以比較簡單,安卓則由於市面上硬件機型非常多,所以難以做到壹個庫適配所有硬件。
2、前處理
在這個環節主要處理美顏、水印、模糊等效果。美顏功能幾乎是直播的標配功能。我們調研中發現太多case是因為沒有美顏功能被拋棄使用的。另外國家明確提出了,所有直播都必須打有水印並回放留存15天以上。
3、編碼
為了便於手機視頻的推流、拉流以及存儲,通常采用視頻編碼壓縮技術來減少視頻的體積,現在比較常用的視頻編碼是H.264。在音頻方面,比較常用的是AAC編碼格式,其它如MP3、WMA也是可選方案。
4、推流
要想用於推流還必須把音視頻數據使用傳輸協議進行封裝,變成流數據。常用的流傳輸協議有RTSP、RTMP、HLS等,使用RTMP傳輸的延時通常在1–3秒,對於移動直播這種實時性要求非常高的場景,RTMP也成為移動直播中最常用的流傳輸協議。最後通過壹定的Qos算法將音視頻流數據推送到網絡斷,通過CDN進行分發。
二、搭建直播平臺源碼,服務端處理
為了讓推上來的流適配各終端各種不同協議,服務端還需要對流進行轉碼,包括截圖、錄制、水印等。
三、搭建直播平臺源碼,播放器端
1、拉流
拉流實際是推流的逆過程。首先通過播放端獲取碼流,標準的拉流格式有RTMP、HLS、FLV等。RTMP是Adobe的專利協議,開源軟件和開源庫都支持的比較好,如開源的librtmp庫,播放端只要支持flashPlayer的就能非常簡單的播放RTMP直播,直播延遲壹般在1–3秒。
1、解碼和渲染
是指從音視頻的數據中提取原始數據,也即音視頻的播放。前面介紹的H.264和H.265編碼格式都是有損壓縮,所以在提取後的原始數據,並非原始采樣數據,存在壹定的信息丟失。因此,在視頻體積最小的情況下通過各種編碼參數保留最好的原始畫面,成為了各視頻公司的核心機密。
總之,搭建壹套直播系統還是很復雜的,大部分運營級的直播系統,是直接找專業的開發團隊進行項目開發、系統測試和最終的上線部署,壹整套開發到上架,最後還需要有專門的技術維護團隊進行運營過程中的技術問題處理。我之前在山東布谷直播開發了壹套直播程序,有售後保障,妳可以咨詢問問。
在更加智能化的發展方面,TWS各大廠商的步伐從未停止。投入研發,引領新技術,創造差異化,開發新賽道,技術供應鏈越來越成熟,產品更新叠代越來越快。
金九銀十,在9月3日由旭日大數據主辦的TWS峰會上,近50家現場參展企業將帶來與以往完全不同的新品,TWS也將以全新的面貌展現未來更多的可能性。
截止2021年7月26日,已有32款產品在圖文供應鏈中上市。