鄒 羚
(南京鐵道職業技術學院蘇州校區 信息工程系,江蘇 蘇州 215137)
流媒體技術是一種新興的網絡媒體傳輸技術,它可以將音頻、視頻和其他多媒體在網絡上以實時的、無需下載等待的方式進行播放。其傳輸音像文件時具有“占用硬盤小、速度快、高保真”等性能,并具有播放功能、交互功能和緩沖區功能,因此得到了廣泛的使用。多流媒體播放技術是指多個媒體流,如音頻、視頻流等同時傳輸和播放的技術。這些媒體流在時間和空間上彼此關聯,互相約束。在連續的視頻流或音頻流中,少數數據幀的丟失或不及時處理,并不會導致播放質量的明顯下降,但是,如果各媒體流不同步則會造成相關畫面中語音和動作的不協調,或者不同畫面之間存在相對時延等。因此,多流媒體的同步技術是一個值得研究的問題。在教學研究的實驗平臺上,對教學過程中教師使用的電子教案,老師上課的實況錄像,教室的學生學習情況等多種邏輯關聯音視頻流進行錄制、傳輸,保證這些媒體流傳輸后播放時仍然要保持它們之間的同步關系[1-2]。利用所提出的算法,對四種流媒體進行同步測試,確定同步時間為1000 ms。測試結果表明,該算法對多流媒體實現同步播放是有效的。
目前研究流媒體技術的公司分別是Real Networks公司的Real System、Microsoft公司的Windows Media Technology和Apple公司的QuickTime,它們擁有著流媒體傳輸系統的主流技術[3]。
目前流媒體播放的同步技術大致有三種。
此法需要在ASF流中利用ASFINDEXER工具設定標記,每個標記有相應的名稱說明標記的內容,在導航區中點擊標記名稱并利用相應的調用語句,就能使媒體播放器跳到標記所在位置開始播放。
Microsoft公司的Windows Media Technology技術中Media Tools主要提供了創建工具和編輯工具幫助用戶生成.asf格式的多媒體流,即把實時視頻/音頻信息、現有的聲音文件、圖片以及AVI或MOV文件轉換為ASF文件,也可以將轉換成ASF格式的多媒體流信息進行編輯與管理,如增加有關流的名稱(Title)、描述(Description)、作者(Author)、版權(Copyright)、速率(Rating)等信息,這些信息在ASF流播放時會顯示在播放器的信息窗口中。利用這些信息,設定的標記,能夠實現各種視頻、音頻、導航區標題等之間的同步。
此法是用工具將視頻導入,并將其分割若干片斷(Create Clips),依次把片斷拖拽到時間線上,然后點擊同步按鈕自動生成標題、音視頻等信息的同步。
同步多媒體集成語言(SMIL,Synchronized Multimedia Integration Language),屬于擴展型標記語言XML的范疇??梢杂萌魏挝谋揪庉嬈骶帉懀且环N標準的純文本文件,很方便實現編輯和修改。采用SMIL可以方便地描述各種媒體之間的時間同步關系和空間編排關系,是Internet上用于集成多媒體節目,尤其是流媒體的主要語言工具。SMIL語言是通過編輯SMIL文件將各種媒體文件如音頻、視頻、文字、圖片等關聯起來,它沒有將它們融為一體,當想要重新組合生成新的多媒體節目時,只需要重新編輯而無需對各媒體文件做任何改變,這樣可以極大程度地提高媒體素材的重用性??梢?,通過SMIL語言可以實現各種視頻、音頻、導航區標題等之間的同步[4-5]。
此法微軟的Media是不支持的。
這里所設計的同步思想是:設定一個多流媒體標記文件,其中定義了流媒體文件的數量、名稱、路徑,并通過一個Common Dialog來打開流媒體文件及同步文件。利用同步文本文件記錄的同步信息,讀取同步時間頭后,在流媒體播放起始時間進行同步,然后在播放器中設置函數每1 000 ms檢測一次同步信息,通過播放時間與同步時間數組對比,如果發現多個流媒體播放時間點與文本文件中記錄同步信息一致,則無需同步,如果不同就需按文本文件記錄的同步信息調整。圖1為同步實現機理實現圖[6-8]。
多流媒體標記文件是用來記錄多個流媒體文件的基本信息,以便播放器進行調用。記錄格式如下:流媒體數量,流媒體名稱,流媒體1的路徑,流媒體2的路徑,流媒體3的路徑,流媒體4的路徑,流媒體1的起始時間,流媒體2的起始時間,流媒體3的起始時間,流媒體4的起始時間,流媒體的同步文件路徑。
文檔示例為:
4,教學演示,F:微格教室教師授課.wmv,F:微格教室課堂情況.avi,F:微格教室反饋.mpg,F:微格教室授課講義.rm,0,0,0,0,F:微格教室XMediaPlayersyc.dat。
流媒體同步文件是用來記錄多個流媒體文件需要進行同步的時間和同步的次數。其格式如下:
我國的經濟建設正處于快速發展的軌道,科學技術和行業發展日新月異。建筑行業在尋找新型的技術手段進行改革創新的同時,流水施工作業作為一種行之有效的組織管理方法,有利于加快施工進度,保證建筑工程質量,保證施工過程中每個環節的流暢性和均衡性,一直在現代施工項目管理中有著不可替代的獨特作用。
同步點數量。
流媒體1需同步時間,流媒體2需同步時間,流媒體3需同步時間,流媒體4需同步時間。
文檔示例為:
2
10,10,2 ,10
20,20,2 ,20

圖1 同步機理實現
根據同步技術思想,筆者對設置同步點、播放時間和同步點比較、同步多個媒體等方面進行程序設計。設有四個播放文件,其算法如下:
①打開同步文件sycFile,設定動態數組WMP1time(sycQt),WMP2time(sycQt),WMP3time(sycQt), WMP4time(sycQt);
②讀取同步文件中的各流媒體的同步時間,將其讀入到動態數組中;
③關閉文件,并設置第一個同步點,將sycponit置1;
④讀取流媒體標記文件中的多個流媒體的路徑,持續播放;
⑤檢測每個流媒體文件播放時間curtime,并將它和同步文件中的各流媒體的同步時間相比較,以第一個流媒體文件為主;
⑥當WMP1time(sycpoint) =curtime時,將流媒體播放文件1暫停,流媒體播放文件2、3、4停止,即將文件的Controls屬性設置為stop;
⑦將流媒體播放文件2、3、4的播放時間轉到同步點,將currentPosition設置為同步時間點;
⑧同時將暫停的流媒體文件同時播放;
通過實驗來對比流媒體播放不同步和采用同步技術的性能差異。實驗中,選取多比特率編碼的MV作為媒體源。播放300 s,選取10個同步點。其間觀察各個流媒體播放和同步情況;實驗重復20次,采用同步技術的流媒體播放比較流暢、未出現流媒體不同步現象,平均播放幀可達28.6左右;而沒有采用同步技術的流媒體播放時明顯出現不同步現象,平均播放幀只能到19.3左右。性能差異非常明顯。
在確定同步掃描時間時,最早使用200 ms進行播放測試,即200 ms檢測一次同步,其同步時間需要820 ms,運行時由于太過于頻繁的同步導致四個流媒體不能協調,后來測試了300 ms、500 ms、800 ms、1200 ms、1500 ms等不同測試時間。圖2就是在不同掃描時間所測得的同步時間,其中1t為掃描時間,2t為同步時間。

圖2 同步時間實測
可以發現,在同步掃描時間1 000 ms處即無過多同步開銷,也能做到媒體間很好的同步,因此,文中確定采用1000 ms。
該實驗對于不同的硬件配置數據略有不同,同步點的選取對于實現流媒體同步具有比較重要的意義:首先,必須合理的確定同步點的數量,過多會增加系統開銷導致不能很好的同步,過少可能會起不了作用;其次,必須合理的確定同步點時間(第一流媒體為時間軸),它可以根據系統配置好壞、資源狀況作一合理確定。
流媒體技術有著廣泛的應用前景,在教學、會議和娛樂領域已得到很好的例證。基于聲音流、圖像流、文字流、音頻流等多種媒體流的同步播放是多流媒體播放的關鍵技術。在多流媒體同步技術方面,提出利用文本文件記錄同步信息和跟蹤跳轉時間以實現多個流媒體之間同步,設計出同步播放算法以實現同步播放,確定同步掃描時間以優化媒體間的同步,這種新的解決多流媒體同步播放問題的技術,十分簡便,又是一個比較方便和廉價的解決方案。
[1] 李曉燕,嚴殊.嵌入式流媒體播放器的設計與實現[J].通信技術,2007,40(12):403-404;410.
[2] 曹靖,陸琳琳,邢雪峰,等.基于媒體技術的遠程教育平臺的設計與實現[J].中國環境管理干部學院學報,2007,17(03):91-94.
[3] 王儒昇.流媒體技術綜述[J].中華素質教育,2004(09):55-57.
[4] 胡曉,高鷹,余群,等.移動數字化校園中流媒體的實現[J].通信技術,2008,41(12):399-401.
[5] 張炳卓,蘇恭.建立Real流媒體技術的網絡教學系統[J].中國電化教育,2004(06):83-85.
[6] 鐘玉琢,向哲,沈洪.流媒體和視頻服務器[M].北京:清華大學出版社,2003:183-186.
[7] 陸其明.DirectShow開發指南[M].北京:清華大學出版社,2003:1-3.
[8] 李海.Visual Basic編程晉級,ActiveX控件[M].北京:清華大學出版社,2000:100-120.