rtp協議
A. java 如何發送 RTP/RTSP協議 具體怎麼實現的
netty裡面封裝了rtp、rtsp的協議。有api可以用
B. 優酷網等視頻網站使用的協議是什麼,rtp 還是 rtsp
這個問題實在太長,不是一句兩句說清楚的. 1,rtp實時傳輸協議,用於傳輸流媒體數據,基於udp. 2,rtsp實時流媒體協議,用於發起流媒體會話,交互信息,基於tcp. 3,http這個比較雜,通過http進行流化視頻有很多種方法. 具體有http漸進式下載,http live streaming,http dynamic streaming.HTML5. 具體不同的平台,不同的播放器,瀏覽器,這個都可能有些小區別. 國內最為常見是flash+http漸進下載.adobe最近推出的HTTP dynamic streaming是後續版本. 對於iOS,則使用蘋果的HLS(http live streaming)支持. HDS與HLS,很大程度上比較相似,都是通過軟體將視頻文件分割,然後通過索引文件,進行訪問.這樣的方式,減少了下載塊的大小,同時可以動態更新索引文件,可以支持偽直播.例如:HLS,就是分割為h264+aac編碼的ts文件,通過m3u8文件索引.客戶端通過m3u8文件就可以訪問視頻內容. 相比之下,HTML5是最為簡單的方式,不需要flash,不需要特定軟體支持,但是對瀏覽器要求較高,而且不同的瀏覽器對具體的視頻容器格式與編碼格式不完全一致,這個還有待進一步發展. pptv之類的,還會用到p2p的方式,就是用戶下載的視頻,還有可能用於上傳.如有錯誤,請指正.
C. 用rtp協議打包音頻數據, 發送到vlc播放器播放,在.sdp中設置的參數都是什麼意思啊
RTP協議
實時傳輸協議RTP提供了實時信息的端對端傳輸業務,如交互的語音和圖象;這些業務包括負載類型識別,序列編號,加入時間標志,傳輸監視.典型的應用是在UDP層上傳輸RTP包,以利用它的復用和總和檢測業務.
RTP包括兩個緊密相關的部分:
- 實時傳輸協議(RTP),傳輸有實時特性的信息;
- RTP控制協議(RTCP),監視業務質量和傳輸對話中成員的信息.
RTP包頭
RTP頭有以下格式:
0 1 2 3
0 1 23 4 5 6 7 89 0 1 2 3 45 6 7 8 90 1 2 34 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X| CC |M| PT | 序列號 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 時間標志 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 同步源(SSRC)識別符 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 有貢獻源(CSRC)識別符 |
| ... ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
RTP包頭格式
前12個位元組出現在每個RTP包中,僅僅在被混合器插入時,才出現CSRC識別符列表.這些域有以下意義:
版本(V):2比特 此域定義了RTP的版本.此協議定義的版本是2.(值1被RTP草案版本使用,值0用在最初"vat"語音工具使用的協議中.)
填料(P):1比特 若填料比特被設置,此包包含一到多個附加在末端的填充比特,不是負載的一部分.填料的最後一個位元組包含可以忽略多少個填充比特.填料可能用於某些具有固定長度的加密演算法,或者在底層數據單元中傳輸多個RTP包.
擴展(X):1比特 若設置擴展比特,固定頭(僅)後面跟隨一個頭擴展.
CSRC計數(CC):4比特 CSRC計數包含了跟在固定頭後面CSRC識別符的數目.
標志(M):1比特 標志的解釋由具體協議規定.它用來允許在比特流中標記重要的事件,如幀范圍.規定該標志在靜音後的第一個語音包時置位.
負載類型(PT):7比特 此域定義了負載的格式,由具體應用決定其解釋.協議可以規定負載類型碼和負載格式之間一個默認的匹配.其他的負載類型碼可以通過非RTP方法動態定義.RTP發射機在任意給定時間發出一個單獨的RTP負載類型;此域不用來復用不同的媒體流.
序列號:16比特 每發送一個RTP數據包,序列號加一,接收機可以據此檢測包損和重建包序列.序列號的初始值是隨機的(不可預測),以使即便在源本身不加密時(有時包要通過翻譯器,它會這樣做),對加密演算法泛知的普通文本攻擊也會更加困難.
時間標志:32比特 時間標志反映了RTP數據包中第一個比特的抽樣瞬間.抽樣瞬間必須由隨時間單調和線形增長的時鍾得到,以進行同步和抖動計算.時鍾的解析度必須滿足要求的同步准確度,足以進行包到達抖動測量.時鍾頻率與作為負載傳輸的數據格式獨立,在協議中或定義此格式的負載類型說明中靜態定義,也可以在通過非RTP方法定義的負載格式中動態說明.若RTP包周期性生成,可以使用由抽樣時鍾確定的額定抽樣瞬間,而不是讀系統時鍾.例如,對於固定速率語音,時間標志鍾可以每個抽樣周期加1.若語音設備從輸入設備讀取覆蓋160個抽樣周期的數據塊,對於每個這樣的數據塊,時間標志增加160,無論此塊被發送還是被靜音壓縮.
時間標志的起始值是隨機的,如同序列號.多個連續的RTP包可能由同樣的時間標志,若他們在邏輯上同時產生.如屬於同一個圖象幀.若數據沒有按照抽樣的
順序發送,連續的RTP包可以包含不單調的時間標志,如MPEG交織圖象幀.
SSRC:32比特 SSRC域用以識別同步源.標識符被隨機生成,以使在同一個RTP會話期中沒有任何兩個同步源有相同的SSRC識別符.盡管多個源選擇同一個SSRC識別符的概率很低,所有RTP實現工具都必須准備檢測和解決沖突.若一個源改變本身的源傳輸地址,必須選擇新的SSRC識別符,以避免被當作一個環路源.
CSRC列表:0到15項,每項32比特 CSRC列表識別在此包中負載的有貢獻源.識別符的數目在CC域中給定.若有貢獻源多於15個,僅識別15個.CSRC識別符由混合器插入,用有貢獻源的SSRC識別符.例如語音包,混合產生新包的所有源的SSRC標識符都被陳列,以期在接收機處正確指示交談者.
RTP頭擴展
RTP提供擴展機制以允許實現個性化:某些新的與負載格式獨立的功能要求的附加信息在RTP數據數據包頭中傳輸.設計此方法可以使其它沒有擴展的交互運行忽略此頭擴展.RTP頭擴展的格式如下圖所示.
0 1 2 3
0 1 2 34 5 6 78 9 0 1 2 3 4 56 7 8 90 1 23 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 由協議定義 | 長度 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 頭擴展 |
| ... ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
若RTP頭中的擴展比特位置1,則一個長度可變的頭擴展部分被加到RTP固定頭之後,.頭擴展包含16比特的長度域,指示擴展項中32比特字的個數,不包括4個位元組擴展頭(因此零是有效值).RTP固定頭之後只允許有一個頭擴展.為允許多個互操作實現獨立生成不同的頭擴展,或某種特定實現有多種不同的頭擴展,擴展項的前16比特用以識別標識符或參數.這16比特的格式由具體實現的上層協議定義.基本的RTP說明並不定義任何頭擴展本身.
D. 為什麼RTP往往是使用UDP,而不是使用TCP封裝
計算機網路OSI模型中,TCP和UDP為第四層傳輸層的功能。
簡單的說:TCP傳輸控制協議(Transmission
Control Protocol)是基於連接的協議,也就是說,在正式收發數據前,必須和對方建立可靠的連接。TCP協議能為應用程序提供可靠的通信連接,使一台計算機
發出的位元組流無差錯地發往網路上的其他計算機,對可靠性要求高的數據通信系統往往使用TCP協議傳輸數據。
必須要經過三次「對話」才能建立。
第1次對話
A–> 發連接請求數據包 –>B
第2次對話
A<– 發送同意連接和要求同步 <–B
第3次對話
A–> 發數據包確認B的要求的同步 –>B
UDP用戶數據報協議(User Data Protocol)是與TCP相對應的協議。是面向非連接的協議,不與對方建立連接,而是直接就把數據包發送過去。UDP適用於一次只傳送少量數據、對可靠性要求不高的應用環境。
UDP例子:「ping」命令測試兩台主機之間TCP/IP通信是否正常,就是向對方主機發送UDP數據包,然後對方主機確認收到數據包,如果數據包是否到達的消息及時反饋回來,那麼網路就是通的。
幾個使用TCP重要的優點:
1.TCP速率控(TCP rate control)制有經過證明是具有的穩定性和可擴展性。
2.TCP提供保證delivery, deleting the packet loss efficiently。
3.TCP是可以助於的越過防火牆。
4.流量控制(The flow control)。
5.The transmission windows system有助於優化網路資源的使用。
關於TCP協議的主要功能:
TCP協議的主要功能是完成對數據報的確認、流量控制和網路擁塞;自動檢測數據報,並提供錯誤重發的功能;將多條路徑傳送的數據報按照原來的順序進行排列,並對重復數據進行擇取;控制超時重發,自動調整超時值;提供自動恢復丟失數據的功能。
相對TCP,UDP顯然更好地使用於實時應用,原因如下:
1.最低開銷(Minimum overhead)。
2.在最大數據從傳輸速率開始發送。
3.不重復請求,所以就沒有重傳(一個單一的數據包丟失在一個的實時應用中並不重要)。
4.低處理時間(low processing time)。不需要緩沖(No buffers)。
與TCP不同,UDP並不提供對IP協議的可靠機制、流控制以及錯誤恢復功能等。由於UDP 比較簡單,UDP頭包含很少的位元組,比TCP負載消耗少。
TCP協議和UDP協議的差別(以表格的形式):
E. 為什麼rtp要靠udp協議傳輸
UDP協議是面復向非連接的制協議,它沒有建立連接的過程。這里RTP正採用了因為UDP協議沒有連接的過程,所以結果是它的通信效果高;
但同時也正因為如此,它的可靠性不如TCP協議高。
所以控制協議採用RTSP,視頻流傳輸採用RTP進行快速通訊。
F. RTP,RTCP,RTSP等網路協議有何用途和區別
RTP: Real-time Transport Protocol,實時傳輸協議,一般用於多媒體數據的傳輸。
RTCP: RTP Control Protocol,實時傳輸控制協議,同RTP一起用於數據傳輸的監視,控制功能。
RTSP: Real Time Streaming Protocol,實時流協議,用於多媒體數據流的控制,如播放,暫停等。
RTP/RTCP相對於底層傳輸層,和RTSP,SIP等上層協議一起可以實現視頻會議,視頻直播等應用。 rtsp發起/終結流媒體(通過sdp)
rtp傳輸流媒體數據
rtcp對rtp進行控制,同步。RTSP的請求主要有DESCRIBE,SETUP,PLAY,PAUSE,TEARDOWN,OPTIONS等,顧名思義可以知道起對話和控製作用
RTP/RTCP是實際傳輸數據的協議
RTP傳輸音頻/視頻數據,如果是PLAY,Server發送到Client端,如果是RECORD,可以由Client發送到Server
RTCP包括Sender Report和Receiver Report,用來進行音頻/視頻的同步以及其他用途,是一種控制協議 RTSP的對話過程中SETUP可以確定RTP/RTCP使用的埠,PLAY/PAUSE/TEARDOWN可以開始或者停止RTP的發送,等等 (ixmy)
G. TCP協議和RTCP協議比較,主要區別有哪些
RTP(Real-timeTransportProtocol)是用於Internet上針對多媒體數據流的一種傳輸協議。RTP被定義為在一對一或一對多的傳輸情況下工作,其目的是提供時間信息和實現流同步。RTP通常使用UDP來傳送數據,但RTP也可以在TCP或ATM等其他協議之上工作。當應用程序開始一個RTP會話時將使用兩個埠:一個給RTP,一個給RTCP。RTP本身並不能為按順序傳送數據包提供可靠的傳送機制,也不提供流量控制或擁塞控制,它依靠RTCP提供這些服務。通常RTP演算法並不作為一個獨立的網路層來實現,而是作為應用程序代碼的一部分。實時傳輸控制協議RTCP。RTCP(Real-timeTransportControlProtocol)和RTP一起提供流量控制和擁塞控制服務。在RTP會話期間,各參與者周期性地傳送RTCP包。RTCP包中含有已發送的數據包的數量、丟失的數據包的數量等統計資料,因此,伺服器可以利用這些信息動態地改變傳輸速率,甚至改變有效載荷類型。RTP和RTCP配合使用,它們能以有效的反饋和最小的開銷使傳輸效率最佳化,因而特別適合傳送網上的實時數據。
TCP建立連接時的三次握手
在網際網路協議族(Internet protocol suite)中,TCP層是位於IP層之上,應用層之下的運輸層。不同主機的應用層之間經常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。 應用層向TCP層發送用於網間傳輸的、用8位位元組表示的數據流,然後TCP把數據流分割成適當長度的報文段(通常受該計算機連接的網路的數據鏈路層的最大傳送單元(MTU)的限制)。之後TCP把結果包傳給IP層,由它來通過網路將包傳送給接收端實體的TCP層。TCP為了保證不發生丟包,就給每個位元組一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然後接收端實體對已成功收到的位元組發回一個相應的確認(ACK);如果發送端實體在合理的往返時延(RTT)內未收到確認,那麼對應的數據(假設丟失了)將會被重傳。TCP用一個校驗和函數來檢驗數據是否有錯誤;在發送和接收時都要計算校驗和。 首先,TCP建立連接之後,通信雙方都同時可以進行數據的傳輸,其次,他是全雙工的;在保證可靠性上,採用超時重傳和捎帶確認機制。 在流量控制上,採用滑動窗口協議,協議中規定,對於窗口內未經確認的分組需要重傳。 在擁塞控制上,採用廣受好評的TCP擁塞控制演算法(也稱AIMD演算法),該演算法主要包括三個主要部分:1,加性增、乘性減;2,慢啟動;3,對超時事件做出反應。
H. RTP是什麼意思
RTP是實時傳送協議(Real-time Transport Protocol)的縮寫。其代表一個網路傳輸的協議,為音頻、視頻上傳中的常用協議。
I. 如何在個人電腦上抓取RTP協議的數據報文
你使用wireshark對抓到的報,進行分類啊
先選擇一個包,在右鍵選擇其中的 decode as 在裡面選擇rtp。
那麼他就會根據rtp協議的方式顯示出來了