概況
視頻的整個流程主要分為推流和拉流
攝像頭場景:
攝像頭捕捉視頻畫面,推流到服務器,服務器分發到CDN,
客戶端從CDN地址拉流,客戶端進行播放
直播場景:
主播通過手機,電腦等客戶端,捕捉視頻畫面,推流到服務器,服務器分發到CDN
客戶端通過CDN地址拉流,客戶端進行播放
大致流程如上,但是再細化一些:
推流:視頻捕捉---傳輸---編碼---存儲
拉流:視頻請求---傳輸---解碼---播放
流程圖
在網上找的這個流程圖可能更為細致的能表達整個流程
其中RTMP是傳輸協議
HLS,FLV,RTMP也是拉流協議
HLS,FLV都是基于HTTP的協議,就是需要多次請求,請求后將得到的片數據進行整合
RTMP,RTSP不是基于HTTP,是基于tcp的長連接協議
這個圖也是在網上找的,大部分都是贊同的,可能有部分的理解和自己理解不太一致。
采集時,視頻數據,音頻數據分開采集,分開編碼。
然后將音頻文件和視頻文件合并成為:流媒體文件(FLV 格式,TS分片格式,rtmp 包)
播放時,整個的流程正好反過來
參考:
視頻推流和視頻拉流都涉及什么技術?
音視頻流媒體-推流與拉流