《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 用于移動學習的流媒體服務器研究
用于移動學習的流媒體服務器研究
來源:微型機與應用2013年第3期
陳建明,張翼翔
(浙江廣播電視大學 網絡中心,浙江 杭州 310012)
摘要: 隨著多媒體通信技術的不斷發(fā)展,移動學習(M-Learning)在現代遠程教育中占據越來越重要的地位。針對流媒體服務器的傳輸系統,分析了流媒體傳輸協議、RTP承載H.264壓縮視頻數據的包格式和組包策略,移植并搭建了一種基于Live555視頻點播的移動學習平臺。轉換現有教學資源的視頻格式,并部署到該平臺中,可以滿足學習愛好者對移動學習的迫切需求。
Abstract:
Key words :

摘  要: 隨著多媒體通信技術的不斷發(fā)展,移動學習(M-Learning)在現代遠程教育中占據越來越重要的地位。針對流媒體服務器的傳輸系統,分析了流媒體傳輸協議、RTP承載H.264壓縮視頻數據的包格式和組包策略,移植并搭建了一種基于Live555視頻點播的移動學習平臺。轉換現有教學資源的視頻格式,并部署到該平臺中,可以滿足學習愛好者對移動學習的迫切需求。
關鍵詞: 移動學習;流媒體;H.264;實時流協議

 建設浙江開放大學,是要把終身學習數字化公共服務平臺建設成為統一架構、整體部署、多功能、開放式和工具型的信息平臺,并構建信息系統運行、開發(fā)、使用和管理的良好環(huán)境,為各類學習者提供方便、靈活、個性化的學習環(huán)境;為全面推進繼續(xù)教育和終身教育體系建設,加快建設人人皆學、處處可學、時時能學的學習型社會提供有效的平臺技術支撐。
 隨著網絡技術與通信技術的迅速發(fā)展,移動數字設備(如智能手機,平板電腦等)具備了較強的多媒體處理能力,擁有高分辨率、高色彩數的顯示屏,支持音視頻的播放及各種娛樂、辦公、學習等應用軟件擴展功能,同時還可通過移動通信網絡實現無線網絡接入。而終身學習平臺如果僅僅依靠臺式電腦和電視作傳播媒介正面臨極大的局限性,已無法滿足廣大學習者對“人人皆學、處處可學、時時能學”的需求。
 針對個性化學習的需求,移動學習應運而生。移動學習是指利用無線移動通信網絡技術以及無線移動通信設備(如移動電話、個人數字助理PDA、Pocket PC等)獲取教育信息、教育資源和教育服務的一種新型學習形式[1]。學習者只要擁有智能終端和無線網絡就能進入學習環(huán)境,充分體現學習的便捷性、教學個性化、交互豐富性等特點。它的出現不僅給人們帶來觀念的轉變,還會改變傳統的學習模式,教材將由紙質書本向電子文檔、教學視頻轉變,學習場地也由教室向各個能連接網絡的場所延伸。移動學習流媒體服務器正是在這背景下的技術產物,讓學習者通過智能終端網絡接入,進行教學視頻資源的點播學習?;诖耍疚囊浦膊⒋罱嘶贚ive555的開源視頻點播系統。由于Live555良好的設計非常容易擴展對其他格式的支持,能快速、有效地搭建流媒體服務器服務于移動學習平臺。該系統使遠程教育的接入途徑更多、覆蓋面更廣、提供了更便捷的學習方法,以吸引更多的學習愛好者,激發(fā)他們的學習欲望。
1 流媒體服務器傳輸系統
 流媒體服務器與移動終端是通過RTSP(Real Time Streaming Protocol)建立連接,通過RTP(Real Time Protocol)網絡傳輸協議將多媒體數據封裝后發(fā)送到網絡,并用RTCP(Real Time Control Protocol)協議進行QoS控制。主要的流媒體協議棧如圖1所示。

 客戶端首先向服務器發(fā)送包含了點播文件的URL(Uniform Resource Locator),連接服務器端的RTSP端口,建立RTSP連接。具體交互過程如下:
?。?)客戶端發(fā)送Option消息請求,服務器端響應所支持的所有交互的方法信息。
?。?)客戶端發(fā)送Describe請求(主要包含流媒體名字、解碼器類型、視頻分辨率、解碼能力等描述),服務器對Describe請求作出響應,發(fā)送必要的媒體參數(即SDP文件,包括媒體名、幀速率、編碼類型、傳輸協議等)。響應成功后會話進入INIT狀態(tài)。
?。?)客戶端發(fā)送Setup請求,其中包括協議集和端口號(或者是端口號的一個范圍)。服務器從中選擇一個協議和端口,然后作出應答。啟動成功后會話進入READY態(tài)。
 (4)客戶端發(fā)送Play請求,請求消息主要是播放媒體的起始時間。服務器啟動RTP包發(fā)送線程并發(fā)送多媒體數據。此時,會話進入PLAYING態(tài)。
 (5)在播放過程中,客戶端可隨時發(fā)出Teardown請求關閉會話,服務器端響應后關閉連接,停止傳輸。
1.2 多媒體數據傳輸
 RTP協議是IETF在1996年提出的、適用于實時數據傳輸的新型協議,由實時傳輸協議RTP和實時傳輸控制協議RTCP兩部分組成。RTP為用戶提供連續(xù)媒體數據的實時傳輸服務,主要承載在UDP上,并不直接保證傳輸的實時性,而依賴底層網絡提供的QoS服務來真正達到實時性的要求。而RTCP協議是控制部分,用于實時監(jiān)控數據傳輸質量,為系統提供擁塞控制和流控制。在RTP會話期間,各參與者會周期性地傳送包含數據包已發(fā)送的數量、丟失的數量等統計信息的RTCP包。
 在流媒體應用場合,流媒體服務器一方面會周期性地產生發(fā)送端報告,該RTCP數據包包含不同媒體流之間的同步信息以及已經發(fā)送的數據包和字節(jié)的計數,接收端可以根據這些信息估算出實際的數據傳輸速率;另一方面,接收端也會向服務器發(fā)送接收端報告,該RTCP數據包含有已接收數據報的最大序列號、丟失的數據報數目、延時抖動和時間戳等信息。服務器根據這些信息可以估算出往返時延,并且根據這些信息調整發(fā)送速率,以改善網絡擁塞,或者根據網絡狀況平滑地調整服務質量[3]。
 H.264視頻編解碼是兩大國際標準組織ITU-T視頻編碼專家組VCEG(Video Coding Experts Group)和ISO/IEC運動圖像專家組MPEG(Moving Picture Experts Group)共同制定的視頻編碼標準。H.264最大的優(yōu)勢是具有很高的數據壓縮比率,在同等圖像質量的條件下,H.264的壓縮比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。良好的壓縮技術將大大節(jié)省用戶的下載時間和數據流量,同時還擁有高質量流暢的圖像。經過H.264壓縮的視頻數據,特別適合在低延時模式下的實時通信應用(如視頻會議)的場合和沒有延時的視頻存儲或視頻流服務器,也適用在高誤碼率傳輸的無線網絡中傳輸視頻數據。當前所有的視頻應用都可以通過H.264獲得高質量地實現,例如數字電視廣播、在線視頻的存儲和點播、3G視頻電話等。為了配合3G網絡的高傳輸速度,開發(fā)的移動設備流媒體的視頻編碼格式3GP/MP4,就是采用了H.264視頻壓縮標準。
H.264定義了視頻編碼層VCL(Video Coding Layer)以及網絡提取層NAL(Network Abstraction Layer),以便能夠適應不同的網絡結構。VCL中包括VCL編碼器與VCL解碼器,其主要功能是實現視頻數據的壓縮編碼和解碼;NAL則用于為VCL提供一個與網絡無關的統一接口,負責對VCL處理后的視頻數據進行封裝(經RTP、UDP、IP協議逐層封裝)后發(fā)送到網絡。RTP承載H.264視頻數據的傳輸格式如圖3所示,可分為兩部分:RTP固定包頭和RTP載荷H.264視頻流。RTP固定包頭為RTCP進行相應監(jiān)測和控制提供了基礎,各字段含義如下:V為版本號,P表示包是否有堵塞數據,X表示是否含有擴展頭,M表示保留字段可由用戶決定,PT表示媒體類型。

 

 

 組包格式的后半部分是RTP承載H.264視頻流數據。組包格式載荷第一字節(jié)的各字段含義如下:
 F:1 bit,默認值為0,當網絡檢測到NAL單元中存在比特錯誤時可將其置1。
 NRI:2 bit,為00表示NAL單元的內容不用于重建幀間預測的參考圖像;非00則相反。
 TYPE:5 bit,指示NAL單元載荷類型。接收端通過判斷RTP載荷類型字節(jié)來辨識三類不同的載荷結構:單個NAL單元分組、聚合分組、分片組。
 流媒體服務器在RTP組包設計需考慮以下幾點:
?。?)根據IP層MTU的大小,對大尺寸的NAL單元進行分割,可以分別在兩個層次上進行分割:視頻編碼層VCL上的分割和網絡提取層NAL上的分割。
?。?)一些H.264的NAL單元的大小,如SEI NAL單元、參數集等都非常小,有些只有幾個字節(jié),可以將多個這類NAL單元聚合在一個RTP分組中,以減小包頭(RTP/UDP/IP)開銷。
?。?)一般的NAL單元封裝進一個包中,即RTP負載中只包含一個NAL單元,NAL頭部兼作RTP頭部。
2 Live555編譯及資源部署
 Live555是一個開源、免費、跨平臺的視頻和音頻流方案,實現了對標準流媒體傳輸協議如RTP/RTCP、RTSP、SIP等的支持,實現了對多種音視頻編碼格式的音視頻數據的流化、接收和處理等支持,包括MPEG、H.264、DV、JPEG視頻和多種音頻編碼。下面介紹live555在win7環(huán)境下Microsoft Visual Studio 10.0的編譯過程。首先從 http://live555.com/liveMedia/public/live555-latest.tar.gz下載live555工程,利用genWindowsMakefiles.cmd可生成編譯器可用的Makefile文件。
 (1)修改live\win32config文件中TOOLS32=E:\Program Files\Microsoft Visual Studio 10.0\VC為系統VS2010安裝路徑,LINK_OPTS_0=$(linkdebug)msvcrt.lib。
?。?)新增Makefile設定,修改live\groupsock\Makefile.head文件中INCLUDES=-Iinclude -I../UsageEnvironment/include-DNO_STRSTREAM。
?。?)在命令行運行l(wèi)ive\genWindowsMakefiles.cmd,相應文件夾下會生成VS能夠編譯的*.mak文件,如liveMedia.mak、mediaServer.mak等。
?。?)為方便編譯可新建live\complie.bat批處理腳本,編輯內容如下:
call "E:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"

cd../mediaServer
nmake /B -f mediaServer.mak
?。?) 執(zhí)行complie.bat腳本編譯工程,編譯完成后會在相應文件下生成obj文件、可執(zhí)行文件和lib庫,包括libBasicUsageEnvironment.lib、libgroupsock.lib、libUsage Environment. lib、libliveMedia.lib,其中l(wèi)ive555MediaServer.exe即為流媒體服務器運行軟件。
 由于浙江電大在線學習平臺使用的視頻資源后綴都是asf,屬于Windows Media格式,主要適用于PC機上點播播放。為此,考慮到網絡傳輸帶寬和智能終端的解碼支持,需要將asf文件格式轉換為適合流媒體傳輸的視頻壓縮標準H.264格式。可以使用Media Codec轉換工具來實現,將轉換后的文件放于live555MediaServer.exe目錄下,客戶端即可通過RTSP URL訪問到流媒體服務器下的教學資源。
 基于Live555的流媒體服務器可以迅速而有效地部署到移動學習平臺,作為數字化學習的延伸。通過格式處理后可重用浙江電大原有的教學視頻資源,可滿足廣大學習愛好者對移動學習的需求。下一步的工作是擴展基于Live555的流媒體服務器的用戶登錄管理、訪問權限控制、資源文件管理等功能,進一步完善移動學習平臺的穩(wěn)定性和功能完備性。
參考文獻
[1] 葉成林.移動學習研究綜述[J].電化教育研究,2004(3):12-18.
[2] 陳國陽.基于RTSP/RTP的嵌入式流媒體服務器設計[J].科技情報開發(fā)與經濟,2007,17(34):226-227.
[3] 樊珊.基于RTP的H.264視頻傳輸技術的研究[D].濟南:山東大學,2008.

此內容為AET網站原創(chuàng),未經授權禁止轉載。