視頻直播的流程能夠分爲以下幾步: 採集 —>處理—>編碼和封裝—>推流到服務器—>服務器流分發—>播放器流播放服務器
1.採集 採集是整個視頻推流過程當中的第一個環節,它從系統的採集設備中獲取原始視頻數據,將其輸出到下一個環節。視頻的採集涉及兩方面數據的採集:音頻採集和圖像採集,它們分別對應兩種徹底不一樣的輸入源和數據格式。測試
音頻採集 音頻數據既能與圖像結合組合成視頻數據,也能以純音頻的方式採集播放,後者在不少成熟的應用場景如在線電臺和語音電臺等起着很是重要的做用。音頻的採集過程主要經過設備將環境中的模擬信號採集成 PCM 編碼的原始數據,而後編碼壓縮成 MP3 等格式的數據分發出去。常見的音頻壓縮格式有:MP3,AAC,HE-AAC,Opus,FLAC,Vorbis (Ogg),Speex 和 AMR等。。動畫
圖像採集 將圖像採集的圖片結果組合成一組連續播放的動畫,即構成視頻中可肉眼觀看的內容。圖像的採集過程主要由攝像頭等設備拍攝成 YUV 編碼的原始數據,而後通過編碼壓縮成 H.264 等格式的數據分發出去。常見的視頻封裝格式有:MP四、3GP、AVI、MKV、WMV、MPG、VOB、FLV、SWF、MOV、RMVB 和 WebM 等。編碼
視頻採集的採集源主要有 攝像頭採集、屏幕錄製和從視頻文件推流。視頻
推流編碼: 推薦Andorid4.3(API18)或以上使用硬編,如下版本使用軟編;iOS使用全硬編方案;圖片
播放解碼:Andorid、iOS播放器都使用軟解碼方案,通過咱們和大量客戶的測試以及總結,雖然犧牲了功耗,可是在部分細節方面表現會較優,且可控性強,兼容性也強,出錯狀況少,推薦使用。直播