相關(guān)鏈接: 北京安全網(wǎng) 北京質(zhì)量網(wǎng) 北京論文網(wǎng) 北京資訊網(wǎng)
論文導(dǎo)讀::流媒體技術(shù)是利用數(shù)據(jù)緩沖技術(shù)。平臺集成了Flash多媒體交互的特性。文件最終將編譯并生成SWF文件。協(xié)議。提供實時視頻服務(wù))。
論文關(guān)鍵詞:流媒體,F(xiàn)MS,F(xiàn)lash,RTMP,實時視頻
1 引言
流媒體技術(shù)是為解決以Internet為代表的中、低帶寬網(wǎng)絡(luò)上多媒體信息傳輸問題而產(chǎn)生、發(fā)展起來的一種新技術(shù)。流媒體技術(shù)是利用數(shù)據(jù)緩沖技術(shù),采用編解碼系統(tǒng)和特殊的網(wǎng)絡(luò)協(xié)議,對網(wǎng)上多媒體文件邊下載解壓縮邊播放,目前已經(jīng)成為網(wǎng)絡(luò)上音、視頻(特別是實時音視頻)應(yīng)用的主要解決方案。視頻流媒體是視頻技術(shù)和網(wǎng)絡(luò)通信技術(shù)發(fā)展的產(chǎn)物,廣泛應(yīng)用于實時視頻、遠(yuǎn)程教育、網(wǎng)絡(luò)電臺等方面。
FMS(FlashMedia Server)給世界帶來了全新的通信方式,它是用于用戶之間相互通訊的新平臺。該平臺集成了通訊功能和應(yīng)用程序功能,它通過Flash Player在客戶端提供音頻共享、視頻共享和共享數(shù)據(jù)流。使用該平臺,人們可以方便的進行實時通信,可以通過網(wǎng)絡(luò)存儲錄制下來的音頻、視頻RTMP,也可以共享數(shù)據(jù)對象,并且可以將這些音頻、視頻和共享數(shù)據(jù)對象傳遞給多個客戶端,實現(xiàn)實時同步共享。FMS平臺集成了Flash多媒體交互的特性,又添加了實時音頻、實時視頻和實時數(shù)據(jù)流等新特色。
Flash是美國Macromedia公司(2005年4月已被Adobe公司并購)于1999年6月推出的交互式矢量動畫設(shè)計軟件。Flash技術(shù)具有強大的圖形表現(xiàn)力和交互操作性,它是一種交互式動畫設(shè)計工具,可以將音樂,聲效,動畫以及富有新意的界面融合在一起,從而制作出高品質(zhì)的動態(tài)效果。Flash文件最終將編譯并生成SWF文件,通過Flash Player來解釋運行[1]。
2RTMP協(xié)議
流媒體技術(shù)實現(xiàn)的關(guān)鍵就是流式傳輸,所以需要合適的流式傳輸協(xié)議。由于TCP協(xié)議需要的開銷較多,所以不太適合傳輸實時多媒體數(shù)據(jù)。FMS服務(wù)器使用RTMP(Real-Time Messaging Protocol,實時通信協(xié)議)來高速傳輸音頻、視頻和數(shù)據(jù)信息論文開題報告。RTMP是一種未加密的TCP/IP協(xié)議,當(dāng)Flash影片要使用FMS服務(wù)器時,F(xiàn)lash Player就連接到服務(wù)器,這樣Flash Player和FMS服務(wù)器之間就建立了往復(fù)的源源不斷的信息流[2],如圖1所示。
圖1 FMS、Web服務(wù)器與客戶端Flash Player的連接
3FMS服務(wù)器
3.1FMS流媒體服務(wù)器的配置與部署
FMS服務(wù)器可以對多個端口進行監(jiān)聽,所以在安裝過程中可以定義多個端口號,每個端口號之間使用逗號隔開RTMP,而管理服務(wù)器的端口號只有一個(最好使用默認(rèn)安裝)。FMS服務(wù)器安裝成功后,將在系統(tǒng)服務(wù)中新加兩服務(wù):Flash Media Server和Flash Media AdministrationServer。在“%FMS安裝目錄%”文件夾下主要包括以下文件[3]:
FMSMaster.exe:服務(wù)器應(yīng)用程序。
FMSAdmin.exe:服務(wù)器管理控制器,管理員控制臺所連接到的服務(wù),用來執(zhí)行管理任務(wù)。
FMSCore.exe:FMS應(yīng)用程序都在這里運行,所有的腳本執(zhí)行,流的發(fā)生都是在這里完成。
FMSEdge.exe:文件監(jiān)視到Flash Media Server的連接,把連接傳給FMSCore 進程。
fms_adminConsole.swf、fms_adminConsole.hmtl:功能一樣,都是用來連接FMSadmin服務(wù)的管理工具,不同之處一個是SWF的,一個是HTML進去之后界面都差不多。
applications:存放了FMS在安裝時默認(rèn)的兩個應(yīng)用程序,live、vod,用戶自己開發(fā)的應(yīng)用程序也要存放這里,通過客戶端NetConnection call 連接到這個應(yīng)用程序。
(1)FMS服務(wù)器和控制臺的啟動與停止服務(wù)
FMS的啟動包括服務(wù)器的啟動和控制臺啟動兩個方面,可以通過“開始”菜單啟動,如果在進程表中看到FMSMaster.exe、FMSCore.exe、 FMSEdge.exe和FMSAdmin.exe四個進程,說明FMS服務(wù)器和FMS服務(wù)器控制臺已經(jīng)啟動成功。FMS服務(wù)器和控制臺的關(guān)閉也可以通過相應(yīng)菜單執(zhí)行或關(guān)閉進程中的FMS四個進程即可。
。2)FMS控制臺賬號、密碼的管理
FMS控制臺的啟動,需要設(shè)置管理員帳戶和密碼,設(shè)置的用戶名和密碼存放在“%FMS安裝目錄%”下的conf\fms.ini文件中,可以設(shè)置如下:
SERVER.ADMIN_USERNAME = chenrongRTMP,此行代碼設(shè)置和修改用戶名。
SERVER.ADMIN_PASSWORD = 654321,此行代碼設(shè)置和修改密碼。
(3)指定applications所在位置
FMS系統(tǒng)安裝后,所有要聯(lián)機的目錄都放在安裝目錄下application文件夾中,如果要進行開發(fā),也必須先在applications目錄中創(chuàng)建目錄并把程序存放在此。而application的位置都是預(yù)設(shè)在安裝目錄下,通常這樣的管理很不方便。所以如果要將applicetions要建置的目錄放在其它好維護的地方(比如放置于D盤根目錄),則需做如下配置和部署。
修改“%FMS安裝目錄%”下的conf\fms.ini文件的VHOST.APPSDIR:
VHOST.APPSDIR = D:\applications。
。4)指定FMS使用的IP和Port
如果要設(shè)置或指定FMS服務(wù)器IP和Port,則需要修改“%FMS安裝目錄%”下的conf\fms.ini文件中的第2個ADAPTOR.HOSTPORT。
ADAPTOR.HOSTPORT為210.89.105.21:1935
(5)視頻文件發(fā)布部署
在FMS安裝目錄的applications文件夾下,默認(rèn)有vod和live兩個文件夾 (vod提供視頻發(fā)布;live提供實時視頻服務(wù))。
如果用戶需要設(shè)置自己的視頻發(fā)布文件夾RV,則需完成下述工作:
①復(fù)制vod文件夾下的所有文件到 RV文件夾下;
②用記事本打開安裝目錄下RV文件夾中的Application.xml,將 VOD_DIR改為RV_DIR;
、塾糜浭卤敬蜷_FMS安裝目錄的conf文件夾下fms.ini文件,增加一條設(shè)置: RV_DIR=C:\ProgramFiles\Adobe\Flash Media Server 3.5\applications\RV\media并保存文件;
、軐⒁l(fā)布的視頻文件放到RV\media 文件夾下。
3.2開發(fā)環(huán)境的調(diào)試及FMS組件安裝
在創(chuàng)建實時通信應(yīng)用程序時,需要創(chuàng)建Flash影片程序和ActionScript通訊腳本(ASC),而Flash環(huán)境是創(chuàng)造影片應(yīng)用程序的最佳選擇,同時它也可以編寫ASC,所以選擇Flash作為軟件開發(fā)的環(huán)境。
應(yīng)用FMS的組件可以方便快捷的開發(fā)通信應(yīng)用程序。FMS組件包括了服務(wù)器端和客戶端AS,同時在組件安裝包中有一個Communication Components.fla文件和scriptlib文件夾,它們是創(chuàng)建實時通信所需的重要組件。
將Communication Components.fla文件復(fù)制到Flash安裝目錄Communication Components下,啟動Flash即可調(diào)用該組件建立通信程序[4]。
將scriptlib文件夾復(fù)制到FMS安裝目錄下并覆蓋原有scriptlib目錄RTMP,啟動FMS服務(wù)器,該組件的設(shè)置即可生效。
4創(chuàng)建Flash通信應(yīng)用程序[5]
要創(chuàng)建一個可供多人視頻聊天的Flash通信應(yīng)用程序,可以使用內(nèi)建的Communication Components來實現(xiàn)。
(1)在安裝FMS服務(wù)器時已經(jīng)創(chuàng)建了一個%\applications\的文件夾,在該文件夾下新建名為flash_live_publish的文件夾,這就意味著創(chuàng)建了一個名為flash_live_publish的Flash通信應(yīng)用程序論文開題報告。
。2)加載component.asc。因為在應(yīng)用程序中需要使用通訊組件,所以必須加載位于scriptlib目錄中的commponents.asc。
。3)利用Flash創(chuàng)作環(huán)境,建立一個AS通信文件,在該文件下鍵入核心代碼:load(“components.asc”);將該文件命名為main.asc并保存于FMS服務(wù)器的flash_live_publish文件夾下。
。4)利用Flash環(huán)境建立一個Flash文檔,即創(chuàng)建該通信應(yīng)用程序的GUI(圖形用戶界面)。
、 在舞臺上拖放一個PeopleList組件實例,并在“屬性”面板上將其命名為“PeopleList_mc”,用于顯示用戶列表。
② 在舞臺上拖放一個Chat組件,同理命名為“Chat_mc”,用于發(fā)送文字消息。
③ 在舞臺上放置6個AVPresence組件,分別命名為“AVPresence1、AVPresence2、AVPresence3……AVPresence6”,用于顯示音視頻。
、 在舞臺上放置一個ConnectionLight組件,命名為“ConnectionLight_mc”,用于顯示連接狀態(tài)。
、 在舞臺上放置一個SimpleConnect,該組件是核心組件,用于連接到FMS服務(wù)器上的通信應(yīng)用程序。選中該組件,并定義其參數(shù):
Application Directory參數(shù):鍵入rtmp://myFlashHost/flash_live_publish;使用rtmp協(xié)議連接到flash_live_publish應(yīng)用程序(myFlashHost表示計算機主機名RTMP,在這為210.89.105.21)。
Communication Components參數(shù):單擊該參數(shù)右邊放大鏡按鈕,在彈出的“值”對話框中添加9個值,并定義已經(jīng)創(chuàng)建的幾個組件值為——ConnectionLight_mc、Chat_mc、PeopleList_mc、AVPresence1、AVPresence2、AVPresence3……AVPresence6。
、 設(shè)置并調(diào)整好各組件的位置和屬性后,將該文檔命名為sample,并發(fā)布生成sample.swf文件。
至此,一個可供多人視頻聊天的Flash通信應(yīng)用就實現(xiàn)了,客戶端安裝了Flash Plyaer,F(xiàn)MS服務(wù)器正常運行,用戶就可以通過訪問sample.swf與其他人聊天。效果圖如圖2所示。
圖2FMS+Flash實時視頻應(yīng)用截圖
5小結(jié)
FMS是一項新技術(shù),利用Flash+FMS環(huán)境來創(chuàng)建實時通信系統(tǒng),可以輕松快捷的實現(xiàn)用戶間的實時交流;并且Flash技術(shù)已比較成熟,在應(yīng)用時不需擔(dān)心視頻編碼和安裝插件的問題,所以該系統(tǒng)的實現(xiàn)為創(chuàng)建視頻點播、會議系統(tǒng)、在線社區(qū)、遠(yuǎn)程培訓(xùn)提供了很好的參考意義,具有一定的應(yīng)用價值。
參考文獻:
[1]劉明輝,任用攀,黃興.Flash與后臺ASP/ASP.NET/PHP/JavaScript/Delphi總動員[M].2008.05第二版.北京:清華大學(xué)出版社.2007.06.
[2]戴光麟.基于FMS的遠(yuǎn)程互動教學(xué)系統(tǒng)的設(shè)計與實現(xiàn)[D]. 碩士,浙江工業(yè)大學(xué),2007.
[3]張亞飛.至理:精通Flex網(wǎng)絡(luò)開發(fā)技術(shù)——整合ActionScript/JavaScript/Ajax動態(tài)網(wǎng)站[M]. 北京:電子工業(yè)出版社。2009.02.
[4]楊浩宇.FMS初體驗[Z].http://blog.csdn.net/yanghoyu/archive/2007/10/26/1844716.aspx. 2007.10
[5]張亞飛.Java for Flash動態(tài)網(wǎng)站開發(fā)手札[M].北京:電子工業(yè)出版社.2006.12.