rtmp和rtsp的區別和適用範圍
http://www.cnblogs.com/jiayayao/p/6536140.html
1.視頻傳輸
從網絡上接收視頻時首先要解協議(RTSP/RTMP/HTTP),然後是解格式(MKV,RMVB),之後才是將視頻(H264)和音頻(AAC)格式數據分別解碼為圖像(RGB/YUV)和聲音(PCM),再根據時間戳同步播放。
RTSP+RTP主要用於IPTV,原因是傳輸數據使用的是UDP,在網絡環境比較穩定的情況下,傳輸效率是比較高的;
RTMP主要用於互聯網音視頻傳輸,它使用的是TCP傳輸,因為互聯網環境相對較差,采用RTMP保證了視頻的傳輸質量,但是其傳輸延遲相對較高,傳輸效率相對較低。
使用RTMP技術的流媒體系統有一個非常明顯的特點:使用 Flash Player 作為播放器客戶端,而Flash Player 現在已經安裝在了全世界將近99%的PC上,因此一般情況下收看RTMP流媒體系統的視音頻是不需要安裝插件的。用戶只需要打開網頁,就可以直接收看流媒體,十分方便。直播服務普遍采用了RTMP作為流媒體協議,FLV作為封裝格式,H.264作為視頻編碼格式,AAC作為音頻編碼格式。FLV是RTMP使用的封裝格式,H.264是當今實際應用中編碼效率最高的視頻編碼標準,AAC則是當今實際應用中編碼效率最高的音頻編碼標準。
librtmp是RTMP協議的實現,可以使用librtmp來實現協議的解析和數據的收發。直播服務器可以基於nginx+rtmp實現;直播客戶端方面采用librtmp負責推流,FFmpeg負責編碼;收看客戶端采用VLC即可,因為VLC本身既可以解析RTMP流,又可以解析編碼後的視頻數據。
2.視頻壓縮
- 視頻壓縮分為有損壓縮和無損壓縮。
無損壓縮是采用一些壓縮算法壓縮視頻,但是壓縮完畢後還能夠真實的還原原始數據;
有損壓縮是借助於人眼的一些特性,丟棄一些特定的數據,但是壓縮完畢後的視頻效果還在人眼可以接受的範圍內的特定數據。
- 視頻壓縮編碼的主要原理是:
幀內編碼(變換編碼和熵編碼):像素點之間存在相關性。圖像變換到頻域可以實現去相關和能量集中。
幀間編碼(運動估計和運動補償):將圖像劃分為一個個小區塊,進行預測。
3.參考資料:
http://blog.csdn.net/leixiaohua1020/article/details/18893769
rtmp和rtsp的區別和適用範圍