1?
流媒體業務是從Internet上發展起來的一種多媒體應用,指使用流(Streaming)方式在網絡上傳輸的多媒體文件,包括音頻、視頻和動畫等。
流媒體傳輸技術的主要特點是以流(streaming)的形式進行多媒體數據的傳輸。把連續的影像和聲音信息經過壓縮處理后放到網絡服務器上,客戶端在播放前并不需要下載整個媒體文件,而是在將緩存區中已經收到的信息進行播放的同時,多媒體文件的剩余部分將持續不斷地從服務器下載到客戶端,即“邊下載,邊播放”。這樣就避免了用戶在收看或收聽媒體流的時候要花費一段時間把完整的文件下載到客戶端,可以給用戶帶來“實時播放”的業務感知體驗。
2?
移動流媒體業務就是流媒體技術在移動網絡和終端上的應用,主要是利用目前2.5G或3G的移動通信網,為手機終端提供音頻、視頻的流媒體服務。移動流媒體業務的內容包括新聞資訊、影視、MTV、體育、教育、行業和專項應用等多種形式。
移動流媒體業務根據數據內容的播放方式可以分為三種業務類型:
●?
●?
●?
移動流媒體技術是網絡音視頻技術和移動通訊技術發展到一定階段的產物,它是融合很多網絡技術之后所產生的技術,它會涉及到流媒體數據的采集、壓縮、存儲,無線網絡通信,以及移動終端等多項技術。
由于流媒體的技術特點,決定了其在移動網絡中的廣闊應用前景。首先,流媒體技術有效降低對傳輸帶寬和抖動的要求,使得在無線傳輸環境實現實時媒體播放業務成為可能。移動終端體積小、低能耗的要求決定了有限的存儲空間,而媒體文件不需要在終端中保存,避免了對存儲空間的要求。其次,有效的版權保護,能夠確保移動流媒體應用的商用模式。
隨著第三代移動通信技術的逐步成熟,將移動流媒體技術引入移動增值業務,已經成為目前全球范圍內移動業務研究的熱點之一。目前3GPP、3GPP2等標準化組織早已經開展了移動流媒體的應用研究工作,并已經制定了相應的標準。
3?
移動流媒體系統所支持的媒體內容編解碼格式與業務類型無關,即無論是點播、直播,還是下載播放,這些格式都是適用的。
依據3GPP的PSS規范,UMTS系統的移動分組流媒體支持的編碼類型包含視頻、音頻、靜態圖像、位圖、向量圖、普通文本和定時文本等,其中音頻和視頻的編解碼類型可以有多種組合。本文主要描述視頻與音頻媒體編碼格式的要求。
根據3GPP R6的PSS規范,視頻的媒體編解碼類型主要有三種:H.263、MPEG-4和H.264。具體包括:
●?
●?
●?
●?
音頻媒體編解碼方面,包含4種:
●?
●?
●?
●?
其中,MPEG-4音頻解碼器支持的最高采樣率為48kHz。所支持的通道配置為mono(1/0)和stereo(2/0)。對于AAC-LC或AAC-LTP流,應在SDP“a=fmtp”行中包含MIME參數“profile-level-id”和“object”。其值如表1所示:
4?
本章主要介紹會話建立、RTSP、SDP、RTP/RTCP等移動流媒體的重要協議,以及這些協議用于移動應用的擴展。
實現移動流媒體業務的協議棧如圖1所示。其中,視頻、音頻等流媒體數據主要通過RTP/UDP承載,而一些靜態的圖像、文本則可以使用HTTP進行承載。對于能力交換(Capbility Exchange)和表示描述(PresentationDescription)可以使用HTTP或者RTSP進行封裝,這取決于不同的實現方式。RTSP和SDP用于會話建立和控制,MIME描述媒體類型,RTP是流媒體負載的傳輸協議。
4.1?
會話建立是指移動流媒體客戶端獲得初始會話描述的方法。初始會話描述可能是一個表示描述、或者一個場景描述、或者僅僅是一個指向該內容的URL。移動流媒體客戶端應當支持按以下格式定義的初始會話描述:SMIL、SDP或者簡單的RTSPURL。
除了“rtsp://”以外,移動流媒體客戶端還應該支持以“file://”(用于本地存儲的文件)和“http://”(用于通過HTTP協議分發的表示描述或場景描述)開頭的指向有效初始會話描述的URL,移動流媒體客戶端應支持至少其中一種。三種輸入舉例如下:
●?
●?
●?
4.2?
RTSP(Real-time StreamingProtocol)是由RealNetworks和Netscape共同提出的一種協議,它定義了如何使一對多應用程序有效地通過IP網絡傳送多媒體數據。
連續的媒體是只有內在時間線的媒體。不連續的媒體則不包含自己的時間元素。話音、音頻和視頻屬于連續的媒體,而靜態圖像和文本則是不連續的媒體。對于不連續的媒體的傳輸,例如矢量圖、同步文本和合成音頻,可以采用HTTP/TCP/IP協議。在這種情況下,由于HTTP已經具備這些功能,因此不需要一個獨立的會話建立和控制協議。而對于使用RTP/UDP/IP的連續媒體流則需要一個會話控制協議來建立并控制獨立的媒體流。流媒體業務使用RTSP協議來進行會話的建立和控制。
RTSP在體系結構上位于RTP、RTCP之上,它使用TCP或RTP完成數據傳輸。與HTTP相比,RTP傳送的是多媒體數據,而HTTP傳送HTML。在使用RTSP時,客戶機和服務器均可發出請求,也就是說RTSP可雙向服務,而HTTP的請求是由客戶機發出,服務器進行響應。
RTSP的主要命令:DESCRIBE、PLAY、PAUSE、SET_PARAMETER、TEARDOWN、OPTIONS、SETUP。
3GPP的PSS規范中對于RTSP協議在移動分組流媒體中的應用定義了一些擴展字段,主要包括:
●?
●?
●?
●?
●?
●?
4.3?
RTSP需要一個表示描述(PresentationDescription),以便說明一個流媒體會話的基本屬性,包括媒體類型和格式、所需要的傳輸帶寬、播放的時間范圍、所需Buffer信息等。作為在移動網絡中應用的一種帶寬和時延敏感的業務,這些信息對于保證移動終端用戶的業務感受是非常重要的。
SDP協議最初用于描述SIP會話中支持的媒體類型,只是一種用于會話描述的格式(協議),它并不是一個傳輸協議,也不包含在媒體的編解碼之中,而是用于在不同傳輸協議間的傳遞消息的通知協議,其主要目的是解決多媒體會話通知、邀請和會話的初始化工作。
3GPP的PSS規范中使用SDP協議實現RTSP的表示描述,并對SDP進行了必要的擴展,以便滿足流媒體業務在移動網絡中QoS需求。
SDP消息中包含兩層:會話層和媒體層。一個會話描述中可能包含一個或多個媒體層的信息。SDP消息的基本內容包括:
●?
■?
■?
■?
■?
●?
■?
■?
■?
■?
■?
DP會話描述由許多文本行組成。文本行的格式為:類型=值。其中“類型”是一個字母,“值”是結構化的文本串。例如:
m = video?
其中:m代表這一行代表媒體信息;video代表是視頻流;53000代表UDP端口號是53000;RTP/AVP指媒體傳輸協議使用RTP/AVP;31代表媒體格式使用H.261并且使用90KHz的時鐘。
對于移動流媒體應用,3GPP在PSS規范中定義了一些擴展。SDP在移動流媒體的擴展要求包括帶寬參數擴展、用于Buffer管理的擴展、完整性保護擴展等3GPP擴展要求。
移動終端需要使用SDP中的帶寬(Bandwidth)字段,以便正確設置QoS參數。因此,移動流媒體服務器應在SDP中的媒體層為每個媒體流包括“b=AS:”、“b=TIAS:”和“a=maxprate”字段,并且在會話層包含“b=TIAS:”和“a=maxprate”字段。當客戶端接收到SDP,它將忽略會話層的“b=AS:”參數,并且從相關流的媒體層帶寬參數的值來計算會話需要的帶寬。若會話層具有“b=TIAS:”和“a=maxprate”參數,由于匯聚多個媒體流時會話層能夠提供所需會話帶寬更為準確的描述,則優先使用會話層的這個參數,而不是媒體層的參數。
此外,3GPP的PSS規范中對于SDP中的會話層和媒體層都定義了帶寬信息參數的兩個擴展字段:
●?
●?
流媒體服務器在SDP的媒體層包含每個媒體流的“b=RS:”和“b=RR:”字段。
為滿足移動網絡提供視頻流媒體業務的性能要求或速率適配,3GPP的PSS規范也定義了一些擴展字段:
●?
●?
●?
●?
●?
對于H.263格式的流媒體文件,SDP媒體層定義了framesize擴展字段。該字段定義了H.263流的最大視頻幀的長度,便于終端分配適當大小的緩沖空間。格式如下:“a=framesize:?
3GPP還定義了一些SDP會話層的擴展字段,用于支持會話的完整性保護,包括:
●?
●?
●?
4.4?
為了傳輸會話控制信息和媒體信息,移動流媒體客戶端和服務器應支持基于IP的網絡接口。控制信息和媒體信息基于TCP/IP和UDP/IP傳輸。
移動流媒體的業務定義是按照實時或點播方式通過移動縵蚴只斬私幸羰悠倒悴ィ嫦蛄擁腡CP需要較多的開銷,所以不適合移動流媒體的應用。移動流媒體傳輸一般采用實時傳輸協議RTP/UDP來傳輸實時多媒體數據,以獲得較小的時延和減少數據開銷。
RTP(Realtime TransportProtocol)實時數據傳輸協議是針對Internet上多媒體數據流的一個傳輸協議,由IETF作為RFC1889發布。RTP被定義為在一對一或一對多的傳輸情況下工作,其目的是提供時間信息和實現流同步。RTP的典型應用建立在UDP上,但也可以在TCP或ATM等其他協議之上工作。RTP本身只保證實時數據的傳輸,并不能為按順序傳送數據包提供可靠的傳送機制,也不提供流量控制或擁塞控制,它依靠RTCP提供這些服務。
RTCP(Realtime Transport ControlProtocol)是RTP的控制協議,負責管理傳輸質量,在當前應用進程之間交換控制信息。在RTP會話期間,各參與者周期性地傳送RTCP包,包中含有已發送的數據包的數量、丟失的數據包的數量等統計資料。因此,服務器可以利用這些信息動態地改變傳輸速率,甚至改變有效載荷類型。
RTP和RTCP配合使用,能以有效的反饋和最小的開銷使傳輸效率最佳化,適合傳送網上的實時數據。
RTCP的一個關鍵作用就是能讓接收方同步多個RTP流,例如:當音頻與視頻一起傳輸的時候,由于編碼的不同,RTP使用兩個流分別進行傳輸,這樣兩個流的時間戳以不同的速率運行,接收方必須同步兩個流,以保證聲音與影像的一致。
RTP只是保證同一媒體流的時間戳功能,但是對于同時需要不同媒體流(音頻+視頻)的業務時,RTCP把時間戳和實時時鐘聯系起來,保證了媒體的同步,同時RTCP保證參與會話的成員反饋通信信息,從而保證通信的質量。
RTCP包的主要類型包括:
●?
●?
●?
●?
●?
幾個單獨的RTCP包可以組合成混合RTCP包進行傳輸。
3GPP對用于移動流媒體傳輸的RTP/RTCP也進行了一些擴展,以支持傳輸的完整性、RTP重傳、擁塞控制和速率自適應等功能。
4.5?
在移動流媒體業務中,終端能力協商是一個重要的功能,它使得流媒體服務器可以提供廣泛的內容給多種類型的客戶端設備。其另一個重要功能是在不同版本的移動流媒體間提供平滑轉換。因此,移動流媒體客戶端和服務器應支持能力交換。
用戶終端檔案服務器(User AgentProfile)用于存儲用戶參數和設備功能信息。這些信息可用于控制如何向移動用戶提供流媒體內容。
圖2概括性說明終端能力協商機制。
?
5?
在移動流媒體技術的標準化方面,移動分組流媒體主要在3GPP進行規范,3GPP2對用于cdma2000系統的移動流媒體文件格式有所規定。
3GPPR6版本的PSS規范項目已經基本完成,在技術內容上與R5兼容。在協議、能力交換、網絡適配、DRM等方面有所增強。在編解碼方面,3GPP也根據相關組織規范的最新版本進行了更新,與之保持一致,并且在R6引入了視頻H.264(AVC)、音頻Extended AMR-WB和音頻Enhanced aacPlus等幾種編解碼方式。