网络视频传输协议
1、 RTP
Real-time Transport Protocol,是用于Internet上針對多媒體數據流的一種傳輸層協議。RTP協議詳細說明了在互聯網上傳遞音頻和視頻的標準數據包格式。RTP協議常用于流媒體系統(配合RTCP協議),視頻會議和一鍵通(Push to Talk)系統(配合H.323或SIP),使它成為IP電話產業的技術基礎。RTP協議和RTP控制協議RTCP一起使用,而且它是建立在UDP協議上的。
RTP 本身并沒有提供按時發送機制或其它服務質量(QoS)保證,它依賴于網絡應用程序去實現這一過程。 RTP 并不保證傳送或防止無序傳送,也不確定底層網絡的可靠性。 RTP 實行有序傳送, RTP 中的序列號允許接收方重組發送方的包序列,同時序列號也能用于決定適當的包位置,例如:在視頻解碼中,就不需要順序解碼。
2、 RTCP
實時傳輸控制協議(Real-time Transport Control Protocol或RTP Control Protocol或簡寫RTCP)是實時傳輸協議(RTP)的一個姐妹協議。RTCP為RTP媒體流提供信道外(out-of-band)控制。RTCP本身并不傳輸數據,但和RTP一起協作將多媒體數據打包和發送。RTCP定期在流多媒體會話參加者之間傳輸控制數據。RTCP的主要功能是為RTP所提供的服務質量(Quality of Service)提供反饋。
RTCP收集相關媒體連接的統計信息,例如:傳輸字節數,傳輸分組數,丟失分組數,jitter,單向和雙向網絡延遲等等。網絡應用程序可以利用RTCP所提供的信息試圖提高服務質量,比如限制信息流量或改用壓縮比較小的編解碼器。RTCP本身不提供數據加密或身份認證。SRTCP可以用于此類用途。
3、 SRTP & SRTCP
安全實時傳輸協議(Secure Real-time Transport Protocol或SRTP)是在實時傳輸協議(Real-time Transport Protocol或RTP)基礎上所定義的一個協議,旨在為單播和多播應用程序中的實時傳輸協議的數據提供加密、消息認證、完整性保證和重放保護。它是由David Oran(思科)和Rolf Blom(愛立信)開發的,并最早由IETF于2004年3月作為RFC 3711發布。
由于實時傳輸協議和可以被用來控制實時傳輸協議的實時傳輸控制協議(RTP Control Protocol或RTCP)有著緊密的聯系,安全實時傳輸協議同樣也有一個伴生協議,它被稱為安全實時傳輸控制協議(Secure RTCP或SRTCP)。安全實時傳輸控制協議為實時傳輸控制協議提供類似的與安全有關的特性,就像安全實時傳輸協議為實時傳輸協議提供的那些一樣。
在使用實時傳輸協議或實時傳輸控制協議時,使不使用安全實時傳輸協議或安全實時傳輸控制協議是可選的;但即使使用了安全實時傳輸協議或安全實時傳輸控制協議,所有它們提供的特性(如加密和認證)也都是可選的,這些特性可以被獨立地使用或禁用。唯一的例外是在使用安全實時傳輸控制協議時,必須要用到其消息認證特性。
4、 RTSP
RTSP(Real Time Streaming Protocol)是用來控制聲音或影像的多媒體串流協議,并允許同時多個串流需求控制。傳輸時所用的網絡通訊協定并不在其定義的范圍內,服務器端可以自行選擇使用TCP或UDP來傳送串流內容。它的語法和運作跟HTTP 1.1類似,但并不特別強調時間同步,所以比較能容忍網絡延遲。
5、 RTSP 和RTP的關系
6、 SIP
SIP會話使用多達四個主要組件:SIP用戶代理、SIP注冊服務器、SIP代理服務器和SIP重定向服務器。這些系統通過傳輸包括了SDP 協議(用于定義消息的內容和特點)的消息來完成SIP會話。下面概括性地介紹各個 SIP 組件及其在此過程中的作用。
*SIP 用戶代理 (UA) 是終端用戶設備,如用于創建和管理 SIP 會話的移動電話、多媒體手持設備、PC、PDA 等。用戶代理客戶機發出消息。用戶代理服務器對消息進行響應。
*SIP 注冊服務器是包含域中所有用戶代理的位置的數據庫。在 SIP 通信中,這些服務器會檢索參與方的 IP 地址和其他相關信息,并將其發送到 SIP 代理服務器。
*SIP 代理服務器接受 SIP UA 的會話請求并查詢 SIP 注冊服務器,獲取收件方 UA 的地址信息。然后,它將會話邀請信息直接轉發給收件方 UA(如果它位于同一域中)或代理服務器(如果 UA 位于另一域中)。
*SIP 重定向服務器允許 SIP 代理服務器將 SIP 會話邀請信息定向到外部域。SIP 重定向服務器可以與 SIP 注冊服務器和 SIP 代理服務器同在一個硬件上。
下面是一個典型的SIP會話:
以下幾個情景說明 SIP 組件之間如何進行協調以在同一域和不同域中的 UA 之間建立 SIP 會話。
(1)在同一域中建立 SIP 會話
下圖說明了在預訂同一個 ISP 從而使用同一域的兩個用戶之間建立 SIP 會話的過程。用戶 A 使用 SIP 電話。用戶 B 有一臺 PC,運行支持語音和視頻的軟客戶程序。加電后,兩個用戶都在 ISP 網絡中的 SIP 代理服務器上注冊了他們的空閑情況和 IP 地址。用戶 A 發起此呼叫,告訴 SIP 代理服務器要聯系用戶 B。然后,SIP 代理服務器向 SIP 注冊服務器發出請求,要求提供用戶 B 的 IP 地址,并收到用戶 B 的 IP 地址。SIP 代理服務器轉發用戶 A 與用戶 B 進行通信的邀請信息(使用 SDP),包括用戶 A 要使用的媒體。用戶 B 通知 SIP 代理服務器可以接受用戶 A 的邀請,且已做好接收消息的準備。SIP 代理服務器將此消息傳達給用戶 A,從而建立 SIP 會話。然后,用戶創建一個點到點 RTP 連接,實現用戶間的交互通信。
(2)在不同的域中建立 SIP 會話
本情景與第一種情景的不同之處如下。用戶 A 邀請正在使用多媒體手持設備的用戶 B 進行 SIP 會話時,域 A 中的 SIP 代理服務器辨別出用戶 B 不在同一域中。然后,SIP 代理服務器在 SIP 重定向服務器上查詢用戶 B 的 IP 地址。SIP 重定向服務器既可在域 A 中,也可在域 B 中,也可既在域 A 中又在域 B 中。SIP 重定向服務器將用戶 B 的聯系信息反饋給 SIP 代理服務器,該服務器再將 SIP 會話邀請信息轉發給域 B 中的 SIP 代理服務器。域 B 中的 SIP 代理服務器將用戶 A 的邀請信息發送給用戶 B。用戶 B 再沿邀請信息經由的同一路徑轉發接受邀請的信息。
7、 SDP
SDP用于描述多媒體通信會話,包括會話建立、會話請求和參數協商。SDP不用于傳輸媒體數據,只能用于兩個通信終端的參數協商,包括媒體類型、格式以及所有其他和會話相關的屬性。SDP以字符串的形式描述上述初始化參數。
8、 總結
就如同它們的名字所表示的那樣,SIP用于初始化一個Session,并負責傳輸SDP包;而SDP包中描述了一個Session中包含哪些媒體數據,邀請的人等等;當需要被邀請的人都通過各自的終端設備被通知到后,就可以使用RTSP來控制特定Media的通信,比如RTSP控制信息要求開始Video的播放,那么就開始使用RTP(或者TCP)實時傳輸數據,在傳輸過程中,RTCP要負責QoS等。
總結
- 上一篇: [css] 重置(初始化)css的作用
- 下一篇: [jQuery] jQuery的attr