陳一魁
(汕尾市廣播電視大學,廣東汕尾,516600)
用戶終端在新一代移動互聯網當中,其創(chuàng)新點以及改變是最為多的。手機能夠通過專用的客戶端程序給予點播,或直接在瀏覽器上點播等。隨著機群技術不斷向先進方向發(fā)展,從而可以采用分布式的方法進行處理大規(guī)模的并發(fā)點播請求,讓其可以在大規(guī)模點播環(huán)境中快速適應。目前,人們對于移動終端上的視頻業(yè)務也越來越重視,市面上的多數視頻網站,均可支持移動終端及PC 進行看視頻,主要有流媒體內容服務器、流媒體終端、Internet 網絡、移動通信分組核心網以及移動通信接入網等。
可以將客戶端相應的請求進行處理,并從視頻網站中將指定的音視頻信息進行提取,從而通過解碼的方法把該類信息給予處理,且經流媒體協議發(fā)送于客戶端播放,這就是所謂成熟的手機視頻播放系統。
所謂RTSP,主要基于文本中的一種應用層協議,RTSP 協議在某些消息參數、語法上和HTTP 協議類似。對于RTSP 協議的掃描,是在rfc2326 里進行。在控制媒體流的傳輸建立過程中,常常應用RTSP 作為多媒體服務的網絡遠程控制。雖然媒體數據流偶爾可以與RTSP 控制信息結合傳送,但是在通常情況下,RTSP 本身是不能利用在媒體流數據傳送當中。則媒體數據能夠經過各種協議完成,如RTP/RTCP 協議等。
RTSP 單次的基本操作:先在流服務器中連接客戶端,同時將RTSP 描述命令(DESCRIBE)進行發(fā)送,經過一個SDP 描述將流服務器給予反饋,其中反饋信息有媒體類型和流數量等。SDP 描述受到客戶端分析時,客戶端分別給予會話里的流進行發(fā)送一個RTSP 建立命令(SETUP),RTSP 建立命令主要是告知服務客戶端,讓其作為接收媒體數據的端口。當建立流媒體鏈接之后,客戶端將一個播放命令進行發(fā)送,然后服務器在UDP 中,把媒體流傳送至客戶端。
RTP 是一種為端對端的傳輸服務進行提供的實時傳輸協議,其主要的作用是在多目標或單目標廣播網絡服務過程中,給予支持傳輸實時數據,然而該數據的傳輸,需要RTCP 協議進行控制及監(jiān)督。多媒體廣泛應用的各干個域,指的是信息包的結構,其中有電視會議、聲音點播、因特網電話、影視點播等。而電視壓縮格式以及聲音未因RTP 的規(guī)格而制定相關的標準,可以使用它進行傳輸各種普通格式的檔。如MPEG-2 的電視、MPEG-1、WAV 的聲音等,或者也能用作專門格式存儲電視文件及聲音的傳輸等。在RTP 中進行運行使用RTP 協議的應用程序,在UDP 上層中,運行執(zhí)行的RTP 的程序,這樣能夠將使用UDP 的檢查更好的實現。如圖1 所示,其中的RTP 報文結構相對于TCP 而言,具有一定的優(yōu)勢,對于傳輸媒體的信息,采用RTP 較適宜,可將RTP 當作傳輸層的子層。
圖1 RTP 報文頭格式
RTP 包頭格式:當在每一個RTP 包里,發(fā)現前12 個字節(jié),則僅混合器插入其中的時候,才有CSRC 識別符列表出現。然而,這些域體現各種不同的意義。首先是版本(V):2 比特。該域將RTP 版本給予定義。其版本為2。填充(P):1 比特。如果將填料進行設置,則在末端中,該包含有一至若干個的比特給予填充,當然填充比特是不屬于負載部分。填充比特的可忽略個數可以通過填充中的最后一字節(jié)來判斷。對于一些加密算法或底層數據單元里若干個傳輸RTP 包等,也可能應用到填充,如具備固定長度的加密算法等。其次是擴展(X):1 比特。如果將擴展比特設置,在固定頭后攜帶著一個頭擴展。CSRC 計數(CC):比特為4。在CSRC 計數中,有CSRC 識別符數目,此數目是跟隨在固定頭之后。標志(M):比特位1。相關的協議規(guī)定將其標志進行解釋。使用標志標記在比特流里出現的幀邊界等重要事件。負載類型(PT):比特為7。負載格式得到該域的定義,其解釋經過實際應用確定。負載格式與負載類型碼間的匹配,可利用協議進行規(guī)定。另外的負載類型碼的動態(tài)定義,能使用非RTP 手段進行。
當RTP 發(fā)送端隨意將一個RTP 負載類型進行單獨發(fā)出時,則該域不能用于不一致的媒體流。存在于RTP 信息包里的有效載荷域,具有7 位的長度,正是如此,RTP 即可支持128 種的有效載荷類型。針對聲音流的域,其作用是將聲音所采取的編碼類型進行確定,如線性預測編碼、PCM 以及自適應增量調制等。在廣播或會話過程中,若發(fā)送端中途將編碼措施給予變化,則發(fā)送端能夠經過此域告知接收端。如下表1 所示:
表1 RTP 支持的有效載荷類型
針對電視流,電視編碼的類型可經過有效載荷類型進行確定,如H.231、motionJPEG、MPEG-2 等。在會話期間,發(fā)送端也可將電視編碼的手段進行變化。如下表2 所示:RTP 支持的各種不同的電視有效載荷類型。
表2 RTP 支持的電視有效載荷類型
在RTP 信息包中,封裝著聲音以及電視數據塊,其中聲音是通過多媒體應用程序而產生的。然而在UDP 消息段里又封裝著各個RTP 信息包,接著再在IP 數據報中進行封裝。
UDP 是一種用戶數據報協議,其作用是支持需在計算機間進行傳輸數據的網絡支持。如存在于網絡視頻會議系統中的大量客戶/服務器模式的網絡應用等。但是,UDP 協議不能給予數據傳送提供確保機制。若在發(fā)送至接收中,有數據報丟失現象發(fā)生,協議不會有提示或者是檢測等,UDP 也亦如此。
在流媒體傳輸中,對于其媒體描述信息,應該及時查看,而該功能即將SDP 里體現。SDP 在媒體會話中,發(fā)揮著媒體流信息傳遞的作用,同時給予對應的會話描述接受者,加入會話當中。而SDP 幾乎都是在internet 中實行工作。
對于MPEG-4 的管理,是經過層次結構實行的,層次結構主要有以下幾個:視頻對象平面組、視頻對象、視頻場景、視頻對象平面以及視頻對象層等。該視頻標準提供高壓縮率的新多媒體信息傳輸標準和實現強勁、全方位存取以及較高交互性的糾錯能力目的。
AdaptiveMulti-Rate 簡稱AMR,比較適合多速率的編碼,常應用在移動設備中的音頻上,并具有相對較大的壓縮比,但是,對于另外壓縮格式質量而言,其質量較弱。因常應用在人聲通話中,所以具有良好的效果。針對AMR 定義的擴展卡,可將MODEM 功能與聲音同時進行支持。利用這樣的設計,不僅將成本進行有效降低,而且將MODEM 子系統和聲音功能存在的局限性給予解決。
所謂流媒體技術,指的是經過應用RTSP-on-TCP/RTPon-UDP 的手段,進行實行數據傳輸以及交互。但RTP 會因多種不同的網絡情況而受到限制,按照各種現狀,采取不同的解決措施。系統的設計以及實現,是通過了boostC++庫的asio 異步通信庫以及線程庫的充分應用實行的,如此一來,系統的并發(fā)性、跨平臺性和高校性得到更好的確保。由正常RTSP 協商將外網IP 客戶端給予控制,再經過UDP 協議中的RTP 給予傳輸。隨著IP 地址不斷降低下,大部分的局域網或運營商均采用內網IP,由此可見,對于內網IP 客戶端的UDP 傳輸過程中,則應穿透內網IP,換言之,就是NAT 穿越和UDP 打洞技術等。在進行該操作之前,必須確定此路由器能夠把NAT 協議給予支持。
用戶訪問的視頻網站通過此系統開發(fā)的客戶端程序,實現匯總以及格式安排等目的,利用搜集的方式,從各個視頻網站中,搜集高點擊的視頻,以此作為每日的焦點,同時攜帶訪問歷史以及查詢簽等功能,以便保留用戶已看過的視頻鏈接。客戶端程序能夠應用手動,將相關設置進行選擇,如開機是否運行,視頻更新頻率等。所涉及的相關內容,則需要服務端及時更新,如每日焦點等,且將用戶使用的UA 以及另外訪問的參數正常進行識別并確保。
綜上所述,手機視頻播放系統的實現,能使該系統能夠處理從無線客戶端的請求,從本地或視頻網站中提取指定音視頻信息,將這些信息以特定解碼方式處理,通過流媒體協議發(fā)送給客戶端播放。而毫無疑問,本文的研究將大大有利于該系統的進一步實現與優(yōu)化。
[1] 史政. 手機流媒體播放系統的設計與實現[J]. 北京郵電大學,2011 年
[2] 蔡慶元. 基于RTP 的手機視頻點播系統的設計與實現[J].華南理工大學,2010 年