RTSP協(xié)議、RTMP協(xié)議、HTTP協(xié)議的區(qū)別
- 2016-11-28 09:09:00
- admin
- 轉(zhuǎn)貼:
- 未知
- 3522
RTSP、 RTMP、HTTP的共同點及區(qū)別
共同點:
1:RTSP RTMP HTTP都是在應(yīng)用應(yīng)用層。
2:理論上RTSP RTMPHTTP都可以做直播和點播,但一般做直播用RTSP RTMP,做點播用HTTP。做視頻會議的時候原來用SIP協(xié)議,現(xiàn)在基本上被RTMP協(xié)議取代了。
區(qū)別:
1:HTTP: 即超文本傳送協(xié)議(ftp即文件傳輸協(xié)議)。HTTP:(Real Time Streaming Protocol),實時流傳輸協(xié)議。HTTP全稱Routing Table Maintenance Protocol(路由選擇表維護(hù)協(xié)議)。
2:HTTP將所有的數(shù)據(jù)作為文件做處理,http協(xié)議不是流媒體協(xié)議,RTMP和RTSP協(xié)議是流媒體協(xié)議。
3:RTMP協(xié)議是Adobe的私有協(xié)議,未完全公開,RTSP協(xié)議和HTTP協(xié)議是共有協(xié)議,并有專門機構(gòu)做維護(hù)。
4:RTMP協(xié)議一般傳輸?shù)氖莊lv,f4v格式流,RTSP協(xié)議一般傳輸?shù)氖莟s,mp4格式的流。HTTP沒有特定的流。
5:RTSP傳輸一般需要2-3個通道,命令和數(shù)據(jù)通道分離,HTTP和RTMP一般在TCP一個通道上傳輸命令和數(shù)據(jù)。
RTSP、RTCP、RTP區(qū)別
1:RTSP實時流協(xié)議
作為一個應(yīng)用層協(xié)議,RTSP提供了一個可供擴展的框架,它的意義在于使得實時流媒體數(shù)據(jù)的受控和點播變得可能??偟恼f來,RTSP是一個流媒體表示 協(xié)議,主要用來控制具有實時特性的數(shù)據(jù)發(fā)送,但它本身并不傳輸數(shù)據(jù),而是必須依賴于下層傳輸協(xié)議所提供的某些服務(wù)。RTSP可以對流媒體提供諸如播放、暫 停、快進(jìn)等操作,它負(fù)責(zé)定義具體的控制消息、操作方法、狀態(tài)碼等,此外還描述了與RTP間的交互操作(RFC2326)。
2:RTCP控制協(xié)議
RTCP控制協(xié)議需要與RTP數(shù)據(jù)協(xié)議一起配合使用,當(dāng)應(yīng)用程序啟動一個RTP會話時將同時占用兩個端口,分別供RTP和RTCP使用。RTP本身并 不能為按序傳輸數(shù)據(jù)包提供可靠的保證,也不提供流量控制和擁塞控制,這些都由RTCP來負(fù)責(zé)完成。通常RTCP會采用與RTP相同的分發(fā)機制,向會話中的 所有成員周期性地發(fā)送控制信息,應(yīng)用程序通過接收這些數(shù)據(jù),從中獲取會話參與者的相關(guān)資料,以及網(wǎng)絡(luò)狀況、分組丟失概率等反饋信息,從而能夠?qū)Ψ?wù)質(zhì)量進(jìn) 行控制或者對網(wǎng)絡(luò)狀況進(jìn)行診斷。
RTCP協(xié)議的功能是通過不同的RTCP數(shù)據(jù)報來實現(xiàn)的,主要有如下幾種類型:
SR:發(fā)送端報告,所謂發(fā)送端是指發(fā)出RTP數(shù)據(jù)報的應(yīng)用程序或者終端,發(fā)送端同時也可以是接收端。(SERVER定時間發(fā)送給CLIENT)。
RR:接收端報告,所謂接收端是指僅接收但不發(fā)送RTP數(shù)據(jù)報的應(yīng)用程序或者終端。(SERVER接收CLIENT端發(fā)送過來的響應(yīng))。
SDES:源描述,主要功能是作為會話成員有關(guān)標(biāo)識信息的載體,如用戶名、郵件地址、電話號碼等,此外還具有向會話成員傳達(dá)會話控制信息的功能。
BYE:通知離開,主要功能是指示某一個或者幾個源不再有效,即通知會話中的其他成員自己將退出會話。
APP:由應(yīng)用程序自己定義,解決了RTCP的擴展性問題,并且為協(xié)議的實現(xiàn)者提供了很大的靈活性。
3:RTP數(shù)據(jù)協(xié)議
RTP數(shù)據(jù)協(xié)議負(fù)責(zé)對流媒體數(shù)據(jù)進(jìn)行封包并實現(xiàn)媒體流的實時傳輸,每一個RTP數(shù)據(jù)報都由頭部(Header)和負(fù)載(Payload)兩個部分組成,其中頭部前12個字節(jié)的含義是固定的,而負(fù)載則可以是音頻或者視頻數(shù)據(jù)。
RTP用到的地方就是 PLAY ,服務(wù)器往客戶端傳輸數(shù)據(jù)用UDP協(xié)議,RTP是在傳輸數(shù)據(jù)的前面加了個12字節(jié)的頭(描述信息)。
RTP載荷封裝設(shè)計本文的網(wǎng)絡(luò)傳輸是基于IP協(xié)議,所以最大傳輸單元(MTU)最大為1500字節(jié),在使用IP/UDP/RTP的協(xié)議層次結(jié)構(gòu)的時候,這 其中包括至少20字節(jié)的IP頭,8字節(jié)的UDP頭,以及12字節(jié)的RTP頭。這樣,頭信息至少要占用40個字節(jié),那么RTP載荷的最大尺寸為1460字 節(jié)。以H264 為例,如果一幀數(shù)據(jù)大于1460,則需要分片打包,然后到接收端再拆包,組合成一幀數(shù)據(jù),進(jìn)行解碼播放。
聯(lián)系人: | 北極星通公司 |
---|---|
電話: | 010-56545416 |
傳真: | 010-82896426 |
Email: | support@bjsin.cn |
QQ: | 35338585 |
微信: | Aoku2017 | QQ群:241759321 |
地址: | 北京市中關(guān)村生命科學(xué)園創(chuàng)意園3-3-103 |