實現流媒體的關鍵技術是流式傳輸。流式傳輸的定義很廣泛,主要是指通過網絡傳送媒體(如視頻、音頻)的技術總稱。
流式傳輸分為順序流式傳輸和實時流式傳輸。
順序流式傳輸采用順序下載方式,在下載文件的同時用戶可觀看在線節目,在給定時刻,用戶只能觀看已下載的那部分,而不能跳到還未下載的部分,這種方式不像實時流式傳輸那樣,可以在傳輸期間根據用戶連接的速度進行調整。順序流式傳輸不適合長片段和有隨機訪問要求的視頻節目,如講座、演說和演示等,它也不支持現場廣播。嚴格地說,它是一種點播技術。
實時流式傳輸可保證媒體信號帶寬與網絡連接匹配,可實時觀看節目。實時流與HTTP流式傳輸不同,它需要專用的流媒體服務器與傳輸協議。實時流式傳輸總是實時傳送的,特別適合現場事件,也支持隨機訪問,用戶可對觀看內容進行快進或后退。理論上,實時流一經播放就不可停止,但可進行周期暫停。
流式傳輸模式一般會使用RTP/UDP、RTSP/TCP兩種通信協議與A/V(Audio/Video)Server建立聯系,將服務器的輸出重定向到一個運行A/V Player程序所在客戶機的目的地址。
一是實時傳輸協議RTP、RTCP。
RTP(Real-time Transport Protocol)是在Internet上針對多媒體數據流的一種傳輸協議,工作于一對一或一對多的傳輸情況,可提供時間信息和實現流同步。RTP通常使用UDP傳送數據,也可在TCP或ATM協議上工作。當應用程序開始一個RTP會話時,會使用兩個端口,一個給RTP,一個給RTCP。RTP本身并不能為按順序傳送數據包提供可靠的傳送機制,也不提供流量控制或擁塞控制服務,而是依靠RTCP提供這些服務。通常RTP算法并不作為一個獨立的網絡層實現,而是作為應用程序代碼的一部分。
RTCP(Real-time Transport Control Protocol)與RTP共同提供流量控制和擁塞控制服務。在RTP會話期間,參與者周期性地傳送RTCP包,這些包中含有已發送數據包的數量、丟失數據包的數量等統計數據,服務器可根據這些信息動態地改變傳輸速率,甚至改變有效載荷類型。RTP與RTCP的配合使用可有效地進行反饋,從而減小開銷、提高傳輸效率,非常適合傳送網上的實時數據。
二是實時流協議RTSP。
實時流協議RTSP(Real-time Streaming Protocol)是由Real Networks、Netscape共同提出的一種協議,它定義了如何使一對多應用程序有效地通過IP網絡傳送多媒體數據。RTSP在體系結構上位于RTP、RTCP之上,它使用TCP或RTP完成數據傳輸。與HTTP相比,RTP傳送的是多媒體數據,而HTTP傳送HTML。在使用RTSP時,客戶機和服務器均可發出請求,也就是說RTSP可雙向服務,而HTTP的請求是由客戶機發出的,服務器進行響應。
三是資源預訂協議RSVP。
音視頻數據流對網絡的延時比數據業務更敏感,如何在網絡中傳輸高質量的音視頻信息,除了帶寬要求之外,還需其它條件。RSVP(Resource Reservation Protocol)是一種正在開發的Internet資源預訂協議,它通過采取預留一部分網絡資源(帶寬)的措施,在一定程度上為流媒體傳輸提供QoS。某些試驗性系統,如網絡視頻會議工具vic就集成了RSVP。
3GPP UMTS視頻媒體編解碼技術規范是ITU-T H.263 profile0level10,也是PSS必須使用的視頻解碼器。此外,PSS還應該支持H.263Profile3Level10解碼器和MPEG-4 Visual Simple Profile Level0解碼器,在實際應用中,兩個視頻解碼器可選。最近提出的H.264標準也引起了業界的廣泛關注,3GPP PSSR6在積極考慮將其納入規范。