《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 多流媒體播放器ActiveX控件開發
多流媒體播放器ActiveX控件開發
來源:微型機與應用2010年第14期
鄒 羚
(南京鐵道職業技術學院 信息工程系,江蘇 蘇州215031)
摘要: 多流媒體播放器是接收多流媒體服務器的碼流并對其進行解碼和控制的軟件。目前大部分流媒體播放器只支持一個文件流播放。研究了對多個關聯流進行播放控制的播放器ActiveX控件開發,該控件在網絡、軟件中調用運行效果良好。
Abstract:
Key words :

摘  要: 多流媒體播放器是接收多流媒體服務器的碼流并對其進行解碼和控制的軟件。目前大部分流媒體播放器只支持一個文件流播放。研究了對多個關聯流進行播放控制的播放器ActiveX控件開發,該控件在網絡、軟件中調用運行效果良好。
關鍵詞: 多流媒體;流媒體服務器;同步技術;ActiveX

    目前視頻播放器很多,可以播放各種各樣的文件和流,但大多只支持一個文件或一個流播放,若要播放多個文件就需手工打開多個播放器。在現實的應用中,為了實現多流播放,實際上是直接將媒體流打包輸入到計算機的通信接口上,由多個播放器進程進行播放,這樣做只適應于播放無關聯的媒體流(如多路視頻監控,多人會議系統等)。而對于相關聯的媒體流,這種播放器就不能實現多個視頻文件流的控制和同步。本文在對多流媒體同步播放技術研究的基礎上,通過對流媒體服務器的設置,進行了多流媒體播放器的開發。該多流媒體播放器可以接收多流媒體服務器的碼流并對其進行解碼和控制,同時對相關流進行同步,改進了播放器的內部結構和播放器的用戶界面。將其移植成Active控件后,在網頁上調用,通過對4個媒體流的同步播放測試,證實該播放器運行性能良好。
1 ActiveX介紹
   ActiveX是一種技術集合。利用ActiveX,開發者幾乎可以利用任何熟悉的工具產生多媒體效果、交互式功能及復雜的應用程序。其優點在于開放的跨平臺支持,可以運行在Macintosh,Windows 和UNIX操作系統上,支持Visual Basic、Visual C++、Borland Delphi、Borland C++、java and  Java-enabled tools等各種工具,支持HTML,TCP/IP,Java,COM和其他工業標準。
   ActiveX的技術包括用戶能夠在瀏覽器之中看非HTML文檔(如word、excel文檔);能夠被插入網頁或任何稱作控件容器庫的應用程序之中的對象(如按鈕、股票計數器和直方圖);可以在整個客戶區域以框架形式顯示文檔;能夠定制來源于數據庫或是一個在服務器上運行的程序的網頁內容;可以將處理過程從服務器方移至客戶方[1]。
2 同步方法、模型、技術
2.1 流媒體同步方法

   目前流行的同步方法有分層同步法、時間戳同步法兩種。
   分層同步法把多媒體流看成一個樹型結構,由串并行演示子樹組成。有基于動作的串行同步和并行同步兩種操作。其優點是易于計算存儲和處理,因此得到了廣泛的應用。
   時間戳同步法是把多個具有時間關系的媒體流依附于一個公共的時間軸上,去掉或更改一個對象不影響其他對象的同步。在運行期間,研究公共的時間軸與局部時間的誤差是否超出指定的范圍,如果超出則需同步。Quick Time就用此方法。其優點是使得單一媒體對象和嵌套媒體對象的內部結構能有更好的抽象。
2.2 流媒體同步模型
   目前,流媒體同步模型采用RTP/RTCP協議,并且將分層同步法和時間戳同步法結合使用,其模型結構如圖1所示。人機交互同步即用戶對媒體操作,媒體做出相應反應,這種操作的特點是發生時間不確定。媒體間同步即流媒體對象根據時間相關性分為時間無關媒體和時間相關媒體。媒體內的同步指某個時間相關媒體流中各媒體元素之間的時間同步關系[2]。

2.3 流媒體同步解決技術
   目前,流媒體播放同步技術有3種:(1)Windows Media Tools同步法,此法利用ASFINDEXER工具在ASF流中設定標記,每個標記都有相應的名稱,在導航區中點擊標記名稱并利用相應的調用語句,就能使媒體播放器跳到標記所在位置開始播放;(2)Microsoft Producer法,此法用工具將視頻導入,將其分割成若干片斷(create clips),依次把片斷拖拽到時間線上,然后點擊同步按鈕自動生成標題、音視頻等信息的同步;(3)SMIL語言法,此法使用SMIL(Synchronized Multimedia Integration Language)語言,描述各種媒體之間的時間同步關系和空間編排關系,將各種媒體文件如音頻、視頻、文字、圖片等關聯起來實現同步[3]。
3 多流播放器的設計
3.1 流媒體服務器的架設

   Windows Media Server是微軟免費提供的一個流媒體服務端軟件,可在安裝Windows 2003時選擇這個服務,也可在Windows安裝好后在“添加刪除程序”里選擇添加該服務。
   Media Services 9可將asf、wmv等流文件添加到C:\WMPub\WMRoot中,然后用“mms://地址/文件名”的方式來訪問,也可以重新建立訪問目錄。
3.2 多流播放器構想
   多流播放器應具備的功能為:多個相關文件/流輸入到播放器,經過解碼,使多個文件/流能夠同時顯示在播放器窗口播放。系統結構如圖2所示。

   經過一段時間開發后,發現每個Filter的PIN輸出和PIN輸入只能是單個的。一個播放器只能對一個流文件進行編碼/解碼。因此,不能通過這種方式實現多個畫面的播放。
   對圖2進行了改進,圖3為改進后系統結構圖。

   這種方式是在一個播放器的外殼下,包含了多個播放器,實際上每一個視頻窗口都是一個獨立的視頻播放器。多個媒體在同一外殼的播放器下播放,外形上是一個播放器,內部是由多個播放器在播放,通過設置一些應用屬性,可以很方便地實現播放的控制功能。
3.3 播放器的播放流程
   播放器的播放流程為:打開多流播放器,加載媒體控制文件,判斷窗口個數,將媒體流的url的值、同步時間賦給各個窗口,同步技術播放控制多個視頻,顯示視頻,當用戶進行控制時,反饋用戶,播放完畢。圖4為播放器的播放流程圖。

3.4 流媒體播放器采用的同步方法、模型、解決技術
   本文開發的多流媒體播放器支持4個流媒體,同步模型采用圖1所示之模型,用戶交互操作采用分層同步法,時間無關的媒體流之間采用分層同步法,時間有關的媒體流之間采用時間戳同步法,單個媒體流采用緩沖控制同步法。同步解決技術將前文所述3種方法相融合,借用2.3節中第3種同步技術,由播放器解碼文件中的同步信息協調4個流媒體之間的同步播放,同時利用文本文件記錄同步信息和跟蹤跳轉時間以實現多個流媒體之間同步。具體同步解決技術是:4個流媒體在打開流媒體時,同步讀取時間頭,在流媒體開始播放時進行同步,然后利用文本文件記錄的同步信息,以流媒體1為參考時間軸,其他的流媒體通過函數每1 000 ms檢測一次同步信息,如果發現多個流媒體播放時間點與文本文件中記錄同步信息一致,則無需同步,反之按文本文件記錄的同步信息進行調整[5-6]。
3.5 流媒體播放器核心程序
   (1)讀取同步點(用數組保存同步信息點)
Open sycFile For Input As #1
Line Input #1, sycQt
ReDim WMP1time(sycQt),WMP2time(sycQt),WMP3time(sycQt),
WMP4time(sycQt)
For i=1 To sycQt
Input #1,WMP1temp,WMP2temp,WMP3temp,WMP4temp
WMP1time(i)=WMP1temp
WMP2time(i)=WMP2temp
WMP3time(i)=WMP3temp
WMP4time(i)=WMP4temp
Next i
Close #1
sycponit=1
    (2)通過播放時間與同步時間數組對比,決定是否同步
If WMP1time(sycpoint)=curtime Then
WindowsMediaPlayer1.Controls.pause
WindowsMediaPlayer2.Controls.stop
WindowsMediaPlayer3.Controls.stop
WindowsMediaPlayer4.Controls.stop
WindowsMediaPlayer2.Controls.currentPosition=WMP2time(sycpoint)
WindowsMediaPlayer3.Controls.currentPosition=WMP3time(sycpoint)
WindowsMediaPlayer4.Controls.currentPosition=WMP4time(sycpoint)
WindowsMediaPlayer1.Controls.play
WindowsMediaPlayer2.Controls.play
WindowsMediaPlayer3.Controls.play
WindowsMediaPlayer4.Controls.play
sycpoint = sycpoint + 1
End If
4 多流媒體播放器ActiveX控件設計概要
   為了實現多流媒體播放器在網絡中的應用,可將程序移植成一個ActiveX控件。本文在VB新建工程中選擇建立“ActiveX用戶控件”即可建立控件。其程序編寫與上面所設計的多流媒體播放器沒有太大的區別。但其打開方式上有所不同,程序是用戶選擇打開多流媒體文件,為4個WindowsMediaPlayer控件賦值。但在ActiveX控件中,為WindowsMediaPlayer賦值的是網站開發人員賦值或者在動態頁面中對它進行賦值。
4.1 控件屬性、方法和事件
   作為一個控件,屬性是其主要功能的體現。定義一個屬性,除了考慮命名和功能,還要考慮該屬性的數據類型、是否允許讀寫、是允許在設計時還是在運行時使用[4]。
   屬性、方法和事件統稱為控件的成員??丶慕涌诔蓡T有公有(public)和私有(private)之分。私有成員只能在模塊內部調用,公有成員可以被ActiveX控件的用戶調用。
   利用菜單“工具/添加過程”可以添加控件的成員,其類型有4個:Sub(子程序)、Property(屬性)、Function(函數)、Event(事件)。范圍有2個:Public(共有的)、Private(私有的)[7-8]。
4.2 播放器屬性設置
   本播放器選擇的用戶過程為Property(屬性)和Public(共有的),生成的代碼為:
   Public Property Geturl1() As String
 End Property
 Public Property Let url1(ByVal New_url1 As String)
 End Property
   其中Property Get( )讀取該過程的屬性值,Property Set( )為此過程賦值??梢越o設定的用戶屬性賦值和取值。
   該控件中,共設置了9個用戶屬性。分別為4個url賦值、4個同步起始時間和1個窗口數量。設置接口屬性startTime1、startTime2、startTime3、startTime4用于文件頭同步;sycFile用于文件中的同步。
   圖5為多窗口調試同步的測試圖。程序運行時,首先讀取同步文件,讀到同步點數目和第一個同步點同步時間。同時運行各個媒體,在第一媒體播放窗口播放到同步點時間處,會判斷其他三個媒體播放時間是否與讀取到的同步時間相同,相同則不同步,不同就開始同步。

   目前,流媒體播放器在網絡、教學、會議和娛樂領域使用廣泛。本文對多流媒體服務器架設、多流播放構架設計進行了分析,對同步模式和同步技術方面進行了闡述,設計了播放器ActiveX控件,為研究多流媒體播放器提供了一種新的解決方法。
參考文獻
[1] 陸其明.DirectShow開發指南[M].北京:清華大學出版社,2003:1-3.
[2] 王新穎.基于校園網的流媒體同步機制研究[J].襄樊職業技術學院學報,2006,5(6):7-8.
[3] 張炳卓,蘇恭.建立Real流媒體技術的網絡教學系統[J].中國電化教育,2004(6):83-85.
[4] 李海.Visual Basic編程晉級,ActiveX控件[M].北京:清華大學出版社,2000:100-120.
[5] GINSBURG M.Late Night ActiveX[M].Simon and Schuster,1997:50-63.
[6] 許延.存儲媒體的媒體內同步反饋控制算法[J].電子學報,2002,39(12):1675-1680.
[7] 張震新.基于SMIL的流媒體播放器的設計與實現[J].福建電腦,2007(9):134-136.
[8] 基于DirectShow的流媒體解碼和回放[EB/OL].日日新博客園.http://www.cnblogs.com/wiseman/archive/2004/11/27/69690.aspx.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲欧美日韩国产| 国产精品久久久久aaaa| 欧美日韩91| 久久精品国产在热久久| 亚洲国产欧美日韩| 亚洲理伦在线| 亚洲性av在线| 国产精品一区二区三区免费观看| 欧美一级二区| 国产精品久久国产精品99gif| 欧美激情导航| 欧美在线视频二区| 欧美日韩亚洲系列| 欧美一级视频精品观看| 欧美日韩中文字幕精品| 久久国产精品一区二区三区四区| 99精品欧美一区二区蜜桃免费| 欧美日韩亚洲一区二区三区在线观看| 在线播放亚洲一区| 亚洲欧美另类综合偷拍| 一区二区精品在线观看| 欧美经典一区二区| 亚洲一区二区免费视频| 国产在线视频不卡二| 国产欧美一二三区| 国产精品国产三级国产a| 国产日韩欧美三级| 亚洲欧美激情视频| 黄色成人av网站| 欧美一区二区女人| 久久久久久久久蜜桃| 亚洲黄色免费网站| 国产精品jvid在线观看蜜臀| 亚洲精品一区在线| 麻豆精品视频在线观看视频| 国产精品男gay被猛男狂揉视频| 欧美视频在线免费| 国产精品国产三级国产aⅴ入口| 国产一区二区三区最好精华液| 亚洲欧美日韩网| 农夫在线精品视频免费观看| 欧美日韩免费观看一区| 亚洲黄色尤物视频| 国产精品国产福利国产秒拍| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美日韩精品免费看| 亚洲第一网站| 亚洲在线观看免费视频| 免费成人黄色片| 国产一区激情| 国内精品美女在线观看| 欧美二区在线看| 亚洲欧洲另类| 欧美国产在线观看| 尤物yw午夜国产精品视频| 一区二区三区四区在线| 亚洲日本欧美日韩高观看| 欧美日韩一卡二卡| 亚洲国语精品自产拍在线观看| 欧美在线一二三区| 欧美日韩国产不卡| 91久久久一线二线三线品牌| 国产乱码精品一区二区三区五月婷| 国产精品国产三级国产aⅴ浪潮| 亚洲欧美日本国产有色| 欧美精品一区二区三区在线看午夜| 这里只有视频精品| 久久狠狠婷婷| 国产精品久久久久国产a级| 国产精品a久久久久久| 国产精自产拍久久久久久| 亚洲电影毛片| 亚洲精品乱码久久久久久蜜桃91| 裸体歌舞表演一区二区| 亚洲国产婷婷香蕉久久久久久99| 欧美国产日产韩国视频| 久久婷婷av| 国产精品视频久久久| 欧美美女bb生活片| 99视频国产精品免费观看| 久久久综合视频| 亚洲美女性视频| 亚洲在线免费观看| 国产欧美日韩免费看aⅴ视频| 亚洲欧美日韩国产综合精品二区| 国产一区导航| 亚洲伦理在线免费看| 韩日在线一区| 国产一区二区剧情av在线| 欧美刺激午夜性久久久久久久| 欧美精品一区二区蜜臀亚洲| 国产精品久久久久久亚洲调教| 欧美激情久久久久久| 欧美在线三区| 99re成人精品视频| 免费在线欧美视频| 亚洲直播在线一区| 制服丝袜激情欧洲亚洲| 久久一区二区三区四区| 国产精品日韩欧美大师| 国产午夜精品一区二区三区欧美| 亚洲国产成人av| 在线观看国产成人av片| 亚洲天堂av综合网| 欧美精品在线视频观看| 欧美久久九九| 亚洲黄色一区二区三区| 国产精品一区二区三区久久| 国产欧美日韩免费看aⅴ视频| 国产精品99久久久久久久女警| 欧美不卡视频一区发布| 久久久欧美一区二区| 欧美精品亚洲一区二区在线播放| 国产精品素人视频| 欧美三级特黄| 欧美第十八页| 在线视频你懂得一区二区三区| 欧美大片一区二区三区| 久久xxxx精品视频| 欧美成人伊人久久综合网| 国产精品亚洲美女av网站| 亚洲国产日韩欧美在线99| 激情综合视频| 亚洲国产成人av| 欧美日韩成人激情| 国产在线精品成人一区二区三区| 欧美成人第一页| 亚洲天堂网站在线观看视频| 久久国产黑丝| 亚洲欧美日韩综合国产aⅴ| 99国产精品久久久久久久久久| 欧美黄色片免费观看| 国产午夜亚洲精品羞羞网站| 欧美一级视频一区二区| 欧美自拍丝袜亚洲| 欧美一级片久久久久久久| 欧美在线影院| 黄色av一区| 欧美日韩在线播放三区| 亚洲欧美精品伊人久久| 午夜影视日本亚洲欧洲精品| 亚洲毛片av| 欧美精品七区| 欧美福利电影网| 欧美成人性网| 欧美成人中文字幕| 欧美福利电影网| 亚洲欧美一区二区三区极速播放| 日韩午夜剧场| 午夜一区二区三区在线观看| 欧美日韩亚洲国产一区| 欧美大片在线看| 欧美午夜女人视频在线| 欧美亚洲视频在线观看| 久久久久久久久久久久久9999| 在线视频成人| 免费在线观看一区二区| 欧美一区二区三区男人的天堂| 国产精品一香蕉国产线看观看| 午夜精品一区二区三区在线播放| 女主播福利一区| 久久亚裔精品欧美| 国产精品www| 国产精品天天摸av网| 老司机精品久久| 国产亚洲综合在线| 亚洲一品av免费观看| 久久精品视频网| 久久只精品国产| 国产精品性做久久久久久| 欧美午夜女人视频在线| 一区二区三区免费在线观看| 99在线视频精品| 欧美一级视频免费在线观看| 一本色道久久综合亚洲精品小说| 国产精品毛片一区二区三区| 欧美日本韩国| 欧美国产欧美亚州国产日韩mv天天看完整| 午夜亚洲激情| 国产精品三区www17con| 久久久亚洲国产天美传媒修理工| 久久久91精品国产一区二区精品| 欧美日韩一区二区高清| 久久男人资源视频| 久久综合福利| 玖玖国产精品视频| 亚洲一区三区视频在线观看| 国产精品99久久久久久人| 欧美专区日韩视频| 一区二区激情视频| 欧美一区二区三区四区夜夜大片| 国产亚洲欧美日韩在线一区| 欧美成人中文字幕| 亚洲第一天堂无码专区| 亚洲成人在线视频播放| 国产视频久久久久| 免费在线播放第一区高清av| 国产精品美女久久久免费| 国产精品嫩草99av在线| 亚洲精品日本| 久久久久久久91| 欧美美女福利视频| 亚洲国产日韩欧美在线99| 欧美三日本三级少妇三2023| 欧美三级电影大全| 国产精品午夜av在线| 国产精品99久久久久久有的能看| 欧美日韩在线视频观看| 午夜免费日韩视频| 伊甸园精品99久久久久久| 在线亚洲精品福利网址导航| 国产精品色网| 欧美精品亚洲二区| 国产精品一区二区女厕厕| 国产日产欧美一区| 久久在线免费视频| 国产女主播一区二区| 一区二区精品| 亚洲激情中文1区| 国产三级欧美三级| 欧美美女视频| 亚洲国产毛片完整版| 亚洲图中文字幕| 先锋影音国产一区| 欧美日韩不卡合集视频| 激情综合色综合久久综合| 一区二区欧美精品| 国产精品社区| 亚洲欧美日韩另类| 久久国产精品99国产| 国产精品99免费看| 国产精品网站在线| 中国成人在线视频| 亚洲国产一区二区三区在线播| 亚洲欧美日韩精品久久奇米色影视| 国产精品日韩在线一区| 国产午夜精品理论片a级大结局| 亚洲韩国精品一区| 久久久久久亚洲精品不卡4k岛国| 亚洲欧美三级在线| 欧美高清在线一区二区| 国产字幕视频一区二区| 久久九九免费视频| 欧美在线免费观看视频| 亚洲欧美日韩成人高清在线一区| 欧美大片免费看| 欧美高潮视频| 亚洲一区免费观看| 99精品国产在热久久| 亚洲乱码日产精品bd| 亚洲视频二区| 久久精品国产亚洲精品| 久久国产日韩| 欧美一区二区日韩| 久久久久九九视频| 一区二区三区欧美视频| 欧美久久久久久蜜桃| 亚洲国产日韩欧美在线图片| 老司机午夜免费精品视频| 在线观看中文字幕亚洲| 免费欧美日韩| 国产乱肥老妇国产一区二| 欧美一区永久视频免费观看| 精品电影在线观看| 久久综合精品国产一区二区三区| 欧美视频中文一区二区三区在线观看| 欧美日韩国产免费| 久久高清国产| 国产一区二区三区直播精品电影| 欧美影院成年免费版| 久久久精品久久久久| 亚洲电影av在线| 欧美一区二区三区四区高清| 亚洲五月婷婷| 一区二区欧美在线| 国产精品久久久久婷婷| 欧美午夜影院| 亚洲欧美卡通另类91av| 亚洲欧美日韩系列| 日韩视频一区二区三区在线播放| 欧美性做爰毛片| 在线观看不卡av| 久久国产福利国产秒拍| 亚洲成色精品| 日韩一级免费观看| 国产一区二区高清不卡| 久久久精品国产99久久精品芒果| 欧美国产高清| 欧美日韩视频在线一区二区| 亚洲日本中文字幕| 久久综合色婷婷| 久久综合激情| 欧美日韩国产影片| 香蕉久久夜色精品国产使用方法| 美脚丝袜一区二区三区在线观看| 久久av一区二区三区漫画| 欧美日韩国产成人在线观看| 亚洲一区二区高清| 韩国精品久久久999| 国产日韩精品入口| 国产精品xnxxcom| 狠狠入ady亚洲精品经典电影| 一区二区三区四区五区视频| 国产一区二区三区久久悠悠色av| 亚洲日本va在线观看| 国产亚洲精品高潮| 精品成人免费| 免费成人在线观看视频| 久久久久国产精品人| 欧美视频网址| 欧美日韩不卡视频| 久久在线免费观看视频| 欧美777四色影视在线| 欧美激情第一页xxx| 欧美另类综合| 亚洲成人影音| 欧美激情中文字幕在线| 亚洲视频在线观看网站| 久久人人爽国产| 久久蜜桃精品| 国产精品乱码一区二三区小蝌蚪| 美女国产一区| 久久久久国产成人精品亚洲午夜| 国产精品少妇自拍| 精品白丝av| 中日韩高清电影网| 欧美日韩1区2区| 免费成人黄色片|