移動流媒體業務的技術與標準

1?引言
  流媒體業務是從Internet上發展起來的一種多媒體應用,指使用流(Streaming)方式在網絡上傳輸的多媒體文件,包括音頻、視頻和動畫等。
  流媒體傳輸技術的主要特點是以流(streaming)的形式進行多媒體數據的傳輸。把連續的影像和聲音信息經過壓縮處理后放到網絡服務器上,客戶端在播放前并不需要下載整個媒體文件,而是在將緩存區中已經收到的信息進行播放的同時,多媒體文件的剩余部分將持續不斷地從服務器下載到客戶端,即“邊下載,邊播放”。這樣就避免了用戶在收看或收聽媒體流的時候要花費一段時間把完整的文件下載到客戶端,可以給用戶帶來“實時播放”的業務感知體驗。

2? 移動流媒體業務
  移動流媒體業務就是流媒體技術在移動網絡和終端上的應用,主要是利用目前2.5G或3G的移動通信網,為手機終端提供音頻、視頻的流媒體服務。移動流媒體業務的內容包括新聞資訊、影視、MTV、體育、教育、行業和專項應用等多種形式。
  移動流媒體業務根據數據內容的播放方式可以分為三種業務類型:
  ●?流媒體點播(VOD):內容提供商將預先錄制好的多媒體內容編碼壓縮成相應格式,存放在內容服務器上并把內容的描述信息以及鏈接放置在流媒體的門戶網站上。最終用戶就可以通過訪問門戶網站,發現感興趣的內容,有選擇的進行播放。
  ●?流媒體直播:流媒體編碼服務器將實時信號編碼壓縮成相應的格式,并經由流媒體服務器分發到用戶的終端播放器。根據實時內容信號源的不同,又可以分為電視直播、遠程監控等。
  ●?下載播放:用戶將流媒體內容下載并存儲到本地終端中,然后可以選擇在任意時間進行播放。對于下載播放,主要的限制指標是終端的處理能力和終端的存儲能力,內容提供商可以制作出較高質量的視音頻內容(高帶寬、高幀速率),但需要考慮內容的下載時間及終端的存儲空間。
  移動流媒體技術是網絡音視頻技術和移動通訊技術發展到一定階段的產物,它是融合很多網絡技術之后所產生的技術,它會涉及到流媒體數據的采集、壓縮、存儲,無線網絡通信,以及移動終端等多項技術。
  由于流媒體的技術特點,決定了其在移動網絡中的廣闊應用前景。首先,流媒體技術有效降低對傳輸帶寬和抖動的要求,使得在無線傳輸環境實現實時媒體播放業務成為可能。移動終端體積小、低能耗的要求決定了有限的存儲空間,而媒體文件不需要在終端中保存,避免了對存儲空間的要求。其次,有效的版權保護,能夠確保移動流媒體應用的商用模式。
  隨著第三代移動通信技術的逐步成熟,將移動流媒體技術引入移動增值業務,已經成為目前全球范圍內移動業務研究的熱點之一。目前3GPP、3GPP2等標準化組織早已經開展了移動流媒體的應用研究工作,并已經制定了相應的標準。

3? 移動流媒體的編解碼類型
  移動流媒體系統所支持的媒體內容編解碼格式與業務類型無關,即無論是點播、直播,還是下載播放,這些格式都是適用的。
  依據3GPP的PSS規范,UMTS系統的移動分組流媒體支持的編碼類型包含視頻、音頻、靜態圖像、位圖、向量圖、普通文本和定時文本等,其中音頻和視頻的編解碼類型可以有多種組合。本文主要描述視頻與音頻媒體編碼格式的要求。
  根據3GPP R6的PSS規范,視頻的媒體編解碼類型主要有三種:H.263、MPEG-4和H.264。具體包括:
  ●?H.263 profile 0 Level 45;
  ●?H.263 profile 3 Level 45;
  ●?MPEG-4 Visual Simple Profile level 0b;
  ●?H.264(AVC) Baseline Profile Level1b,且constraint_set1_flag=1,不要求輸出的時間順序。
  音頻媒體編解碼方面,包含4種:
  ●?Enhanced aacPlus;
  ●?Extended AMR-WB;
  ●?MPEG-4 AAC Low Complexity (AAC-LC);
  ●?MPEG?4 AAC Long Term Prediction (AAC-LTP)。
  其中,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,移動流媒體客戶端應支持至少其中一種。三種輸入舉例如下:
  ●?
file://temp/morning_news.smil
  ●?
http://mediaportal/morning_news.sdp
  ●?rtsp://mediaportal/morning_news.3gp或?                rtsp://mediaportal/morning_news.3g2。

4.2? 實時流媒體協議(RTSP)

  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協議在移動分組流媒體中的應用定義了一些擴展字段,主要包括:
  ●?Range頭字段,并在PLAY的響應中包含這個字段;
  ●?Bandwidth頭字段;
  ●?3GPP-link-Char頭字段:用于移動流媒體客戶端向移動流媒體服務器報告無線鏈路特性;
  ●?3GPP-Adaptation頭字段:用于移動流媒體客戶端設置速率自適應參數;
  ●?QoE頭字段:用于移動流媒體客戶端和服務器協商移動流媒體客戶端應發送哪些QoSMetrics,以什么樣的頻率發送以及如何取消發送這些Metrics;
  ●?Video Buffering頭字段:用于Buffer的管理。

4.3? 會話描述協議(SDP)
   RTSP需要一個表示描述(PresentationDescription),以便說明一個流媒體會話的基本屬性,包括媒體類型和格式、所需要的傳輸帶寬、播放的時間范圍、所需Buffer信息等。作為在移動網絡中應用的一種帶寬和時延敏感的業務,這些信息對于保證移動終端用戶的業務感受是非常重要的。
  SDP協議最初用于描述SIP會話中支持的媒體類型,只是一種用于會話描述的格式(協議),它并不是一個傳輸協議,也不包含在媒體的編解碼之中,而是用于在不同傳輸協議間的傳遞消息的通知協議,其主要目的是解決多媒體會話通知、邀請和會話的初始化工作。
  3GPP的PSS規范中使用SDP協議實現RTSP的表示描述,并對SDP進行了必要的擴展,以便滿足流媒體業務在移動網絡中QoS需求。
  SDP消息中包含兩層:會話層和媒體層。一個會話描述中可能包含一個或多個媒體層的信息。SDP消息的基本內容包括:
  ●?會話信息:
   ■?會話名和目的;
   ■?會話時間;
   ■?會話使用的帶寬;
   ■?會話的用戶信息;
  ●?媒體信息:
   ■?媒體類型,例如:視頻或音頻;
   ■?傳輸協議,例如:RTP/UDP/IP;
   ■?媒體格式,例如:H.263視頻或者MPEG視頻;
   ■?多播地址和媒體傳輸端口(IP多播會話);
   ■?IP單播會話的聯系地址和媒體傳輸端口等。
  DP會話描述由許多文本行組成。文本行的格式為:類型=值。其中“類型”是一個字母,“值”是結構化的文本串。例如:
        m = video? 53000?RTP/AVP? 31
  其中: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中的會話層和媒體層都定義了帶寬信息參數的兩個擴展字段:
  ●?“b=RS:”:為發送者(即流媒體服務器)分配的RTCP帶寬;
  ●?“b=RR:”:為接收者(即移動流媒體終端)分配的RTCP帶寬。
  流媒體服務器在SDP的媒體層包含每個媒體流的“b=RS:”和“b=RR:”字段。
  為滿足移動網絡提供視頻流媒體業務的性能要求或速率適配,3GPP的PSS規范也定義了一些擴展字段:
  ●?"a=X-predecbufsize:";
  ●?"a=X-initpredecbufperiod:";
  ●?"a=X-initpostdecbufperiod:";
  ●?"a=X-decbyterate:";
  ●?"a=3gpp-videopostdecbufsize:"。
  對于H.263格式的流媒體文件,SDP媒體層定義了framesize擴展字段。該字段定義了H.263流的最大視頻幀的長度,便于終端分配適當大小的緩沖空間。格式如下:“a=framesize:?-”。
  3GPP還定義了一些SDP會話層的擴展字段,用于支持會話的完整性保護,包括:
  ●?"a=3GPP-Integrity-Key";
  ●?"a=3GPP-SRTP-Config";
  ●?"a=3GPP-SDP-Auth"。

4.4? 數據傳輸協議RTP與RTCP
  為了傳輸會話控制信息和媒體信息,移動流媒體客戶端和服務器應支持基于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包的主要類型包括:
  ●?SR:發送報告,發送者的發送和接收信息的統計;
  ●?RR:接收報告,非發送者的接收信息的統計;
  ●?SDES:信息源的描述;
  ●?BYE:會話參與者會話結束標志;
  ●?APP:某種應用功能。
  幾個單獨的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等幾種編解碼方式。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447205.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447205.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447205.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用python實現對于chineseocr的API調用

ChineseOCR在線API 網頁鏈接 界面 提供多種接口調用方式,比如在線調用、Javascript api調用、curl api調用和python api調用四種方式,本次使用javascript api調用的方式進行OCR識別在線Base64 轉化工具 Base64在線小工具代碼修改 新增一個變量fill_w…

UDP穿透NAT

NAT(Network AddressTranslators),網絡地址轉換: 網絡地址轉換是在IP地址日益缺乏的情況下產生的,它的主要目的就是為了能夠地址重用。NAT分為兩大類,基本的NAT和NAPT(Network Address/Port Translator)。 最開始NAT是運行在路由器…

算法入門篇十 圖

圖的存儲方式 臨接表臨接矩陣 表達 點集/邊集有向圖/無向圖 Graph&#xff08;大結構就是圖&#xff09;&#xff08;包含點集合和邊集合&#xff09; import java.util.HashMap; import java.util.HashSet;public class Graph {public HashMap<Integer, Node> nodes;…

SDP協議 學習筆記

SDP:Session Description ProtocolSDP格式:Session descriptionv (protocolversion)o (owner/creatorand session identifier)s (sessionname)i* (sessioninformation)u* (URI ofdescription)e* (emailaddress)p* (phonenumber)c*(connection information - not required if in…

以太坊私有鏈 使用dev模式

dev 使用dev模式&#xff0c;創建一個管理員賬號&#xff0c;控制挖礦&#xff0c;將證明機制改為POA啟動dev模式&#xff0c;需要重新創建一個文件夾&#xff0c;重新搭建私有鏈條 命令 mkdir myDevChain cd myDevChain geth --datadir . --dev console 2>output.log 實…

超文本傳輸協議

超文本傳輸協議 超文本傳輸協議超文件傳輸協定(HTTP&#xff0c;HyperTextTransfer Protocol)是因特網上應用最為廣泛的一種網絡傳輸協定。所有的WWW文件都必須遵守這個標準。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。 目錄 介紹請求信息請求方法安全方法超…

以太坊區塊鏈 JSON-RPC

RPC定義 以太坊客戶端提供了API和一組遠程調用的&#xff08;RPC&#xff09;命令&#xff0c;這些命令被編碼成json的格式&#xff0c;被叫做JSON-RPC-API。本質上&#xff0c;JSON-RPC API就是一個接口&#xff0c;允許我們編寫的程序使用以太坊客戶端作為網關&#xff0c;訪…

利用MFC調用libvlc.dll作一個簡單的播放器

簡單介紹MFC調用libvlc.dll作一個簡單的播放器&#xff0c;拋磚引玉&#xff0c;各位VC達人繼續深入研究&#xff0c;Jeremiah對VC確實不太感興趣&#xff0c;所以就不做太深入的研究了。2009.10.29修改&#xff1a;加入clip_children屬性設置。參開第1步。環境&#xff1a; …

對于以太坊虛擬機 (EVM)及其相關知識的講解

以太坊虛擬機&#xff08;EVM&#xff09; EVM是智能合約的運行環境作為區塊驗證協議的一部分&#xff0c;參與網絡的每個節點都會運行EVM&#xff0c;審查節點會檢查驗證正在驗證的區塊中列出的交易&#xff0c;并運行EVM中交易觸發的代碼EVM是沙盒封裝的&#xff0c;并且是完…

對于以太坊的Solidity語言介紹

Solidity是什么 Solidity是一門面向合約的、為實現智能合約而創建的高級編程語言&#xff0c;主要目的是為了在以太坊虛擬機&#xff08;EVM&#xff09;上運行Solidity是靜態語言&#xff0c;支持繼承、庫和復雜的用戶定義等特性內含的類型除了常見的編程語言中的標準類型&am…

live555 接收rtsp視頻流流程分析

live555 接收rtsp視頻流流程分析 RTSP交互流程 C表示RTSP客戶端&#xff0c;S表示RTSP服務端 ① C->S: OPTIONrequest //詢問S有哪些方法可用 S->C: OPTION response //S回應信息中包括提供的所有可用方法 ② C->S: DESCRIBErequest //要求得到S…

使用Remix編寫Solidity語言的小例子

設置數值/取數值/加法運算 講解 uint默認使用256位數的整型view表示這個函數僅僅對于數據僅僅是讀取&#xff0c;沒有修改操作returns(uint )&#xff0c;如果單純指定uint&#xff0c;返回的是函數體內的return值&#xff0c;如果包含uint sum,uint SAD_a&#xff0c;那么返…

RTP協議棧簡介

流媒體指的是在網絡中使用流技術傳輸的連續時基媒體&#xff0c;其特點是在播放前不需要下載整個文件&#xff0c;而是采用邊下載邊播放的方式&#xff0c;它是視頻會議、IP電話等應用場合的技術基礎。RTP是進行實時流媒體傳輸的標準協議和關鍵技術&#xff0c;本文介紹如何在L…

深入理解Solidity

Solidity源文件布局 pragma&#xff08;版本雜注&#xff09; 用于指定源文件的版本&#xff0c;表明編譯器的版本&#xff0c;例如 pragma solidity ^0.4.0^用于指代版本號需要大于0.4.0但是不可以超過大的層級&#xff0c;必須小于0.5.0也可以使用大于等于小于來指定版本 i…

H264 流媒體 編碼匯總

實時傳輸協議&#xff08;RTP&#xff09;和實時控制協議&#xff08;RTCP&#xff09; RTP是一種提供端對端傳輸服務的實時傳輸協議&#xff0c;用來支持在單目標廣播和多目標廣播網絡服務中傳輸實時數據&#xff0c;而實時數據的傳輸則由RTCP協議來監視和控制。 RTP定義在RFC…

使用多線程的方式調用chineseocr_API

ChineseOCR在線API 網頁鏈接 界面 提供多種接口調用方式&#xff0c;比如在線調用、Javascript api調用、curl api調用和python api調用四種方式&#xff0c;本次使用javascript api調用的方式進行OCR識別代碼 import glob import base64 import os import requests import …

開源好代碼 音視頻

VirtualDub 一、簡介 圖1VirtualDub主界面 VirtualDub是一款開源的音視頻捕獲、處理軟件。VirtualDub也可稱為一款多媒體編輯軟件&#xff0c;因為它包含了多媒體輸入、編輯、處理、輸出等各個環節&#xff0c;但是作者并未將它定位為一款多媒體編輯軟件&#xff08;參見官網&a…

MAC對于Excel表格換行操作

按住option之后&#xff0c;點擊Enter就可以完成換行操作

深入理解Solidity 二

Solidity數據位置 所有復雜的數據類型&#xff0c;即數組、結構和映射類型&#xff0c;都會有一個額外屬性“數據位置”&#xff0c;用來指定數據的存儲位置&#xff0c;即數據是存儲在memory還是存儲在storage里面根據上下文環境&#xff0c;IDE會自動指定數據的默認存儲位置…

VOIP簡介

一、什么是VOIP VOIP全稱為&#xff08;VoiceOver Internet Protocol&#xff09;&#xff0c;是一種利用Internet網絡進行語音通信的技術&#xff0c;更通俗一點說&#xff0c;就是IP電話。就是以IP分組交換網為傳輸平臺&#xff0c;對模擬的語音信號進行編碼壓縮&#xff0c…