摘要:該文闡述了用SMIL開發制作“雙語”“智能”流媒體課件的一個優化策略,該策略優化做指導為關鍵,能實現多語言的自動識別,帶寬的智能檢測,動畫的交互性,存放空間與傳輸的高壓縮率等,整個系統簡單實用,課件播放效果良好,大大地彌補了傳統流媒體課件的不足,并在分析中給出了實例與解決問題的部分代碼。
關鍵詞:優化策略;SMIL;媒體同步;雙語;智能流;交互性
中圖分類號:TP316 文獻標識碼:B 文章編號:1009-3044(2008)35-2470-03
Design and Implementation of Streaming Media Courseware in Double Language Based on SMIL
XI Da-xin
(Jiying Polytechnic-College,Jiangyin 214433,China)
Abstract: This article introduces the exploitation methods on synchronal networkmultimediacourseware based on SMIL.The optimization is the key to design streaming media course,we try to do some researches about it. The system is very simple to use,and the playing effect is very well.It will offset the defect of traittionalStreaming media courseware.An example is given in the analysis,finally we give out part codes of the procedure in SMIL.
Key words:optimizing policies; SMIL;multimedia synchronize; double-language; surestream; interaction
1 前言
SMIL是基于XML技術的同步多媒體集成語言,有W3C制定推廣標準,用來規定多媒體片斷內容按照時序、布局、超鏈接等的有機的、智能組合。但目前許多人的制作課件還是在用傳統多媒體集成工具制作網絡上的流媒體并發布,誤解為SMIL只不過其中的一類……其實不然,SMIL文件本身并不是多媒體文件,只是很小的文本文件,內容為各媒體、圖片、文字等的URL存放地址。因此在使用中可實現與平臺無關性,只要一個播放器就能實現通用性。另外SMIL還有其許多獨特方面的功能。
其優點有:
1)避免使用統一的包容文件格式
多媒體文件的格式非常多。如音頻格式MP3、WAV、RA等;視頻格式MPG、AVI、MOV、RM等,圖片格式等。如果想在本機用流式同時播放多個格式不一的文件,可用播放列表,但超前一定要用多媒體編輯軟件將這類多媒體文件整合成一個文件,使用某種統一的文件格式。并且打包轉換之前源文件一定要保存副本,否則下次要用到某個源文件時多找不到源了。而用SMIL來組織此類媒體文件可以不對源文件進行任何修改,就可有機組合調用。
2)可同時播放不在同一服務器上的多媒體片斷。
如可同時調用A服務器上視頻文件、B服務器上音頻文件、C 服務器上文字文件與圖片展覽文件等,而不要同時拷到同一機上播放。
3)時間控制與場景轉場效果上
如果不想用整個視頻,只要調用其中的一部分,傳統方法要用多媒體編輯軟件將這類多媒體文件剪輯,費時費力,用SMIL僅須調用指定一下第T1時到T2時即可。
同理利用SMIL的wipe 與fade屬性可以很方便地設置多個多媒體片斷之間的多個轉場效果,比制作電影視頻時轉場效果的制作要大大省時省力,不必破壞、剪輯源文件。(注:場景轉場效果是指在制作電影視頻中二個不同內容鏡頭間一種特效動畫的轉換過渡效果)
4)多語言智能選擇支持與存放空間的高壓縮率
一個產品,對象為多個國家的,想要讓所有的都可看懂聽懂介紹,需準備不同語言版本的多媒體文件。傳統方法是讓用戶選擇。從服務器上下載相應版本的多媒體文件,但容易發生用戶看不懂、連接出錯等問題。用SMIL就能根據用戶播放器的語言版本自動調用相關相應版本的多媒體文件自動播放,不要人工干預。并且在雙語課件的流式播放時更能體現其高壓縮率。
因為傳統方法播放雙語課件要二個視頻文件與二個音頻文件,用左右聲道播放有不同步容易失真現象,多語課件則無法用左右聲道解決,而用SMIL來組織此雙語課件則只要共用一個視頻文件,針對不同語種分別調用二個音頻文件中的一個,特別是多語課件時更能大大省下多個視頻文件的空間。因為一般音頻文件只占視頻文件的5—10%大小。
5)多帶寬智能流選擇支持
由于各用戶聯上Internet的帶寬不同,網速就不同,傳統方法是讓用戶選擇各自對應的網速,比較繁,用SMIL就能自動檢測用戶實際網速,自動調用相應網速的多媒體文件自動播放,不要人工干預,實現智能化。
6)動畫的交互性與帶寬的高壓縮率
傳統流媒體最大的弊端沒有交互性(INTERACTION),用SMIL就能實現好象FLASH一樣的能交互性的流,類似C語言的指針一樣,比其它的多媒體編輯軟件更有特色。在形式上支持超鏈接,類似Html語言,在時序上與XML、SVG語言進行集成。
更為重要的一點,許多的視頻課件尤其是教學課件,視頻占了80%,音頻占了10%,圖片文字各占了5%,而實際真正起到教學效果的,圖片文字各占了30%左右,視頻音頻僅僅各占約20%左右,可見許多的視頻課件中光一個教師視頻坐在那里空講,不僅大大浪費服務器存放空間,更大大阻塞了網絡帶寬,延遲了網速。而用SMIL來組織此類多媒體片斷,在某種程度上壓縮率可與FLASH文件相媲美,并且FLASH動畫只不過是在播放已經做好的視頻動畫,從SMIL2.0規范中可見SMIL動畫就是按照SMIL規定并有SMIL播放器解釋產生的動畫,完全可取代FLASH動畫其可以并行播放多個視頻,用多個播放器同時播放多個視頻或者用一個播放器同時多界面播放多個視頻,不失真,不影響網速。
7)優化策略上:
最為重要的一點,制作者完全可以用屏幕截圖軟件超前對影片、屏幕錄像等截圖,截取各大小各種風格若干圖片,借助SMIL語言, 實質為采用RealPix制作流式圖像文件,可以用流式圖片在RealOne Player播放各類動畫,達到替代部分視頻的效果,并且演示效果不失真,不會出現GIF動畫一類的跳幀、文件太大等現象,可與FLASH文件幀幀效果相媲美,達到一個動畫幾十分鐘文件僅限100KB大小,真正實現多媒體片斷從“源頭”、“流通”上同時多實現高壓縮率。據此我院藝術系制作了一篇“國畫、油畫簽賞”的選修課視頻課件,3小時類似FLASH的視頻只要10多MB。
另外,SMIL在定義視頻窗口的布局上等多很方便的。其開發工具有Sausage公司的 SMILComposer,Dasan公司的 smileEditeor等。課件一個視頻區布局圖又可細分為如圖1。
當然,可根據實際需要添加視頻區C、D等,以實現畫中畫功能;中英文音頻區則隱在畫面后。圖一本身實質就是一個完整的RealOne Player播放的大的視頻區。
2 部分功能的實現
1)多語言智能選擇
<smil>
<body>
<switch>
<video src =”English.rm” system-language=”en-us”>
<video src =”Chinese.rm” system-language=”zh-cn”/>
</switch>
<body>
/<smil>
其中檢測到en-us是美國英語就放English.rm,檢測到zh-cn為簡體中文就放Chinese.rm
2)多帶寬智能選擇
<smmil>
其中檢測到用戶網速大于250 kbit/s時,就放high.rm,網速在80 kbit/s--250 kbit/s之間時就放mid.rm,網速在20 kbit/s時就放low.rm
3)同理語言帶寬同時檢測就是
<smil>
<body>
<switch>
<text src =” Chinese_14000.txt” system-language=”zh-cn” system-bitrate=”28000”/>
<text src =” Chinese_28000.txt” system-language=”zh-cn” system-bitrate=”14000”/>
<text src =” English_14000.txt” system-language=”en-us” system-bitrate=”28000”/>
<text src =” English_28000.txt” system-language=”en-us” system-bitrate=”14000”/>
</switch>
<body>
/<smil>
4)場景轉場效果上
SMIL中有wipe 與fade二大類,僅wipe就有barwipe,boxwipe,fourboxwipe等36類,例多個轉場
< smilxmlns=”http://www.w3.org/200/smil20/language”>
<head>
<layout>
<root-layout width =”400” height=”300”/>
</layout>
<transitionid =”fade”type= “fade ”subtype=”fadetocolor”fadecolor=”green” dur = “ 4 s ”/>
<transitionid =”fade1”type= “fade ”subtype=”fadefromcolor”fadecolor=”red” dur = “ 4 s ”/>
<transitionid =”fade2” type= “fade ”subtype=”crossfade” dur = “ 2 s ”/>
<transitionid =”push” type= “snakeWipe ” dur = “ 4 s ”/>
</head>
<body>
<seq>
<img dur =”5s” src=”g06.jpg” transln=”fade1” fill=”transition”/>
<img dur =”4s” src=”g05.jpg” transln=”fade2” fill=”transition”/>
<img dur =”4s” src=”g06.jpg” transln=”fade2” fill=”transition”/>
<img dur =”4s” src=”g05.jpg” transln=”push1” transout=”fade”
</seq>
</body>
</smil>
其中fadecolor=”green”設置淡入淡出為綠色,fadecolor=”red”表示從紅色漸變為,當前的多媒體的第一幀。fill=”transition”表示最后的完成效果有下面的轉場效果來決定。
3 結論
本課件作為XML的重要應用,可見SMIL在多語言智能流媒體課件時具有制作簡單、節省存儲空間、節省帶寬、多場景轉場,動畫的交互性好,采用RealPix制作流式圖像文件完全可取代FLASH動畫,并且更有優勢。通過實際使用,效果良好。
<E:\\2008學術交流\\200學術交流第四卷第八期(2008總第35期)\\第2次110篇\\2.3多媒體技術及其應用\\xdx02.tif>
參考文獻:
[1] 肖磊,陳卓,鄭重.流媒體技術與應用完全手冊[M].北京:清華大學出版社,2003.
[2] 張麗.流媒體技術大全[M].北京:中國青年出版社,2001.
[3] 唐天虹,馮寶坤.實戰流媒體[M].北京:科學出版社,2003.
[4] 孫力,錢維瑩.流媒體技術與創新[M].北京:中國青年出版社,2002.