多流媒體播放器ActiveX控件開發(fā)
目前視頻播放器很多,可以播放各種各樣的文件和流,但大多只支持一個文件或一個流播放,若要播放多個文件就需手工打開多個播放器。在現(xiàn)實的應用中,為了實現(xiàn)多流播放,實際上是直接將媒體流打包輸入到計算機的通信接口上,由多個播放器進程進行播放,這樣做只適應于播放無關聯(lián)的媒體流(如多路視頻監(jiān)控,多人會議系統(tǒng)等)。而對于相關聯(lián)的媒體流,這種播放器就不能實現(xiàn)多個視頻文件流的控制和同步。本文在對多流媒體同步播放技術研究的基礎上,通過對流媒體服務器的設置,進行了多流媒體播放器的開發(fā)。該多流媒體播放器可以接收多流媒體服務器的碼流并對其進行解碼和控制,同時對相關流進行同步,改進了播放器的內(nèi)部結構和播放器的用戶界面。將其移植成Active控件后,在網(wǎng)頁上調(diào)用,通過對4個媒體流的同步播放測試,證實該播放器運行性能良好。
1 ActiveX介紹
ActiveX是一種技術集合。利用ActiveX,開發(fā)者幾乎可以利用任何熟悉的工具產(chǎn)生多媒體效果、交互式功能及復雜的應用程序。其優(yōu)點在于開放的跨平臺支持,可以運行在Macintosh,Windows 和UNIX操作系統(tǒng)上,支持Visual Basic、Visual C++、Borland Delphi、Borland C++、java and Java-enabled tools等各種工具,支持HTML,TCP/IP,Java,COM和其他工業(yè)標準。
ActiveX的技術包括用戶能夠在瀏覽器之中看非HTML文檔(如word、excel文檔);能夠被插入網(wǎng)頁或任何稱作控件容器庫的應用程序之中的對象(如按鈕、股票計數(shù)器和直方圖);可以在整個客戶區(qū)域以框架形式顯示文檔;能夠定制來源于數(shù)據(jù)庫或是一個在服務器上運行的程序的網(wǎng)頁內(nèi)容;可以將處理過程從服務器方移至客戶方[1]。
2 同步方法、模型、技術
2.1 流媒體同步方法
目前流行的同步方法有分層同步法、時間戳同步法兩種。
分層同步法把多媒體流看成一個樹型結構,由串并行演示子樹組成。有基于動作的串行同步和并行同步兩種操作。其優(yōu)點是易于計算存儲和處理,因此得到了廣泛的應用。
時間戳同步法是把多個具有時間關系的媒體流依附于一個公共的時間軸上,去掉或更改一個對象不影響其他對象的同步。在運行期間,研究公共的時間軸與局部時間的誤差是否超出指定的范圍,如果超出則需同步。Quick Time就用此方法。其優(yōu)點是使得單一媒體對象和嵌套媒體對象的內(nèi)部結構能有更好的抽象。
2.2 流媒體同步模型
目前,流媒體同步模型采用RTP/RTCP協(xié)議,并且將分層同步法和時間戳同步法結合使用,其模型結構如圖1所示。人機交互同步即用戶對媒體操作,媒體做出相應反應,這種操作的特點是發(fā)生時間不確定。媒體間同步即流媒體對象根據(jù)時間相關性分為時間無關媒體和時間相關媒體。媒體內(nèi)的同步指某個時間相關媒體流中各媒體元素之間的時間同步關系[2]。
2.3 流媒體同步解決技術
目前,流媒體播放同步技術有3種:(1)Windows Media Tools同步法,此法利用ASFINDEXER工具在ASF流中設定標記,每個標記都有相應的名稱,在導航區(qū)中點擊標記名稱并利用相應的調(diào)用語句,就能使媒體播放器跳到標記所在位置開始播放;(2)Microsoft Producer法,此法用工具將視頻導入,將其分割成若干片斷(create clips),依次把片斷拖拽到時間線上,然后點擊同步按鈕自動生成標題、音視頻等信息的同步;(3)SMIL語言法,此法使用SMIL(Synchronized Multimedia Integration Language)語言,描述各種媒體之間的時間同步關系和空間編排關系,將各種媒體文件如音頻、視頻、文字、圖片等關聯(lián)起來實現(xiàn)同步[3]。
3 多流播放器的設計
3.1 流媒體服務器的架設
Windows Media Server是微軟免費提供的一個流媒體服務端軟件,可在安裝Windows 2003時選擇這個服務,也可在Windows安裝好后在“添加刪除程序”里選擇添加該服務。
Media Services 9可將asf、wmv等流文件添加到C:WMPubWMRoot中,然后用“mms://地址/文件名”的方式來訪問,也可以重新建立訪問目錄。
3.2 多流播放器構想
多流播放器應具備的功能為:多個相關文件/流輸入到播放器,經(jīng)過解碼,使多個文件/流能夠同時顯示在播放器窗口播放。系統(tǒng)結構如圖2所示。
tcp/ip相關文章:tcp/ip是什么
評論