rtp rtcp rtsp
RTP協議
Ver.(2 bits)是目前協定的版本號碼,目前版號是 2。
P(1 bit)如果該位被設置,則在該packet末尾包含了額外的附加信息,附加信息的最后一個字節表示額外附加信息的長度(包含該字節本身)。該字段之所以存在是因為一些加密機制需要固定長度的數據塊,或者為了在一個底層協議數據單元中傳輸多個RTP packets。
X(1 bit)如果應用程序類型允許擴展,則使用X指定分組中是否有擴展,如果該位被設置,則在固定的頭部后存在一個擴展頭部。.
CC(4 bits)包含了 CSRC 數目用于修正標頭(fixed header).
M(1 bit) 是用于應用等級以及其原型(profile)的定義。如果不為零表示目前的數據有特別的程序解譯。
PT(7 bits)標識RTP負載的格式,包括所采用的編碼算法、采樣頻率、承載通道等。如果接收方不識別該類型,必須忽略該packet。
序號(16位)包含分組的序號,某些會話的第一個序號是隨機選擇的。在每一次發送時才增加1,接收方根據序列號重新排列數據包順序。也可通過此項為接收方提供探測數據丟失的方法,但是如果數據丟失則是應用程序自己的事情,協議本身不負責數據的重傳。
timerstamp(32位)時間戳:反映packet所攜帶信息包中第一個字節的采樣時間。時間戳連續增加,即使是沒有信號、沒有發送的期間也是如此。當同事對多個分組采樣,可以允許這些分組的時間戳一樣。通過此項來確定時間間隔,判斷數據的到達是否受到抖動的影響。
SSRC?是同步化來源。在使用混合器時,將多個數據流混合成新的數據流,此項用于標識數據流的源,最多可以流出15個源。每個源站必須選擇一個唯一的32位標識符,如果沖突,協議中包含解決沖突的機制。
CSRC,只有存在Mixer的時候才有效,如一個將多聲道的語音流合并成一個單聲道的語音流,在這里就列出原來每個聲道的SSRC。
?
RTCP協議
負責管理傳輸質量在當前應用進程之間交換控制信息。RTP本身不能為按序傳輸數據包提供可靠的保障,也不提供流量控制和擁塞控制,于是配合RTCP一起使用。當應用程序啟動一個RTP會話時將同時占用兩個端口,分別供RTP和RTCP使用。RTCP向會話中的所有成員周期性的發送控制信息,應用程序通過接收這些數據來獲取會話參與者的相關信息、網絡狀況、分組丟失數量等。因此,服務器利用這些信息動態地改變傳輸速率,甚至改變有效載荷類型。RTP和RTCP配合使用,能有效的反饋和最小化開銷使傳輸效率最佳化。
在RTCP通信控制中,RTCP協議的功能是通過不同的RTCP數據報來實現的,主要有如下幾種類型:①SR:發送端報告,用來使發送端周期的向所有接收端用多播方式進行報告,
內容包括:該RTP流的SSRC;該RTP流中最新產生的RTP分組的時間戳和絕對時鐘時間(或稱墻上時間:wall clock time);該RTP流包含的分組數;該RTP流包含的字節數。絕對時鐘時間是必要的。因為RTP要求每一種媒體使用單獨的流,所以發送視頻和伴隨的音頻需要兩個數據流。有了絕對時鐘時間就可以進行圖形和聲音的同步。
②RR:接收端報告,用來使接收端周期性的向所有的點用多播方式進行報告。
內容包括:所接收到的RTP流的SSRC;該RTP流的分組丟失率;在該RTP流中的最后一個RTP分組的序號;分組到達時間間隔的抖動等。發送RR分組有兩個目的。第一,可以使所有的接收端和發送端了解當前網絡的狀態。第二,可以使所有發送RTCP分組的站點自適應的調整自己發送RTCP分組的速率,RTCP分組的通信量不超過網絡中的數據分組的通信量的5%,而接收端分組報告分組的通信量又應小于所有RTCP分組的通信量的75%。
③SDES:源描述,主要功能是作為會話成員有關標識信息的載體,如用戶名、郵件地址、電話號碼等,此外還具有向會話成員傳達會話控制信息的功能。
④BYE:通知離開,主要功能是指示某一個或者幾個源不再有效,即通知會話中的其他成員自己將退出會話。 ⑤APP:由應用程序自己定義,解決了RTCP的擴展性問題,并且為協議的實現者提供了很大的靈活性。?
RTSP協議
用來控制聲音或影像的多媒體串流協議,并允許同時多個串流需求控制,傳輸所用協議并不在其定義的范圍,服務器可自行選擇TCP或UDP來傳送串流內容。它的語法和運作與HTTP1.1類似,但不特別強調時間同步,所以比較能容忍網絡延遲,而且proxy的緩沖功能也使用于RTSP,在負載均衡上,因RTSP有重定向功能,所以可根據負載情況來轉換提供服務的服務器。RTSP支持多播,所以除了降低網絡的負載,還能提供視頻會議的功能。
RTSP狀態:RTSP的控制信息和數據是分開的,我們可以用TCP來傳控制信息,用UDP來傳數據,主要狀態有:
SETUP:服務器將會開辟資源,準備傳輸被請求的數據流。
PLAY和RECORD:經由SETUP開辟的流,開始傳數據。
PAUSE:暫停流,但是不將服務器段的資源釋放。
TEARDOWN:將流占用的資源釋放掉,并關閉這個RTSP會話。
?
rtp rstp 編程
http://blog.csdn.net/pu1030/article/details/7619908
轉載于:https://www.cnblogs.com/pengkunfan/p/3551629.html
總結
以上是生活随笔為你收集整理的rtp rtcp rtsp的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringMVC+Apache Shi
- 下一篇: 单据关联关系记录