專利名稱:一種基于Flash的媒體流生成系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及智能網(wǎng)技術(shù)領(lǐng)域,具體地說,涉及一種基于Flash的媒體流生成系統(tǒng)及方法。
背景技術(shù):
Flash是美國的Adobe公司于推出的優(yōu)秀動畫設(shè)計軟件。它是一種交互式動畫設(shè)計工具,用它可以將音樂,聲效,動畫以及富有新意的界面融合在一起,制作出高品質(zhì)的矢量動畫。Flash是當今hternet上最流行動畫作品(如網(wǎng)上各種動感網(wǎng)頁、LOGO、廣告、 MTV、游戲和高質(zhì)量的課件等)的制作工具,F(xiàn)lash動畫已成為事實上的交互式矢量動畫標準。在傳統(tǒng)的智能網(wǎng)技術(shù)領(lǐng)域,客服業(yè)務(wù)系統(tǒng)一般以語音為主。隨著通信技術(shù)的進步, 現(xiàn)已進入3G時代,隨著可視終端的日漸普及,視頻客服業(yè)務(wù)系統(tǒng)對于運營商來說已是提升
競爭力的一個要素。在目前的視頻客服系統(tǒng)中,視頻業(yè)務(wù)應(yīng)用相對匱乏,傳統(tǒng)的視頻業(yè)務(wù)一般是提供實現(xiàn)指定的視頻內(nèi)容,而對于根據(jù)需要動態(tài)生成的視頻內(nèi)容,一般采用視頻疊加或者文字疊加方式來實現(xiàn)。由于是生硬疊加,因此對于終端客戶來說觀感較差。在目前的視頻客服系統(tǒng)中,另一瓶頸主要在于,視頻源較為匱乏,以及缺少一種簡便易行、提供視頻服務(wù)的媒體服務(wù)器系統(tǒng);而且即使在有媒體服務(wù)器系統(tǒng)時,也相對缺乏掌握視頻制作的人員。因此表現(xiàn)上來看,國內(nèi)大部分運營商的客服視頻業(yè)務(wù)就當前來說均未能正常開展。Flash動畫制作容易,相當一部分平面設(shè)計人員都掌握了 Flash動畫的制作; Flash動畫可以根據(jù)參數(shù)動態(tài)顯示,因此可以較好地完成視頻客服業(yè)務(wù)中的大量應(yīng)用的菜單、數(shù)據(jù)顯示等功能。因此,采用Flash動畫作為客服業(yè)務(wù)的視頻源將是一個很好的方法。 但是,現(xiàn)有技術(shù)中雖然可實現(xiàn)將Flash動畫轉(zhuǎn)換為音視頻文件,卻不能完成對動態(tài)Flash及實時Flash的播放請求。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題是提供一種基于Flash的媒體播放系統(tǒng)及方法,可向終端實時地進行Flash動畫轉(zhuǎn)換及播放。本發(fā)明提供一種基于Flash的媒體播放方法,包括當轉(zhuǎn)換服務(wù)器收到媒體服務(wù)器發(fā)來的Flash播放請求后進行解析,若所述Flash 播放請求為動態(tài)Flash請求或?qū)崟rFlash請求,所述轉(zhuǎn)換服務(wù)器將請求播放的Flash文件轉(zhuǎn)換為碼流數(shù)據(jù),并將所述碼流數(shù)據(jù)推送至媒體服務(wù)器,所述媒體服務(wù)器將接收的碼流數(shù)據(jù)向終端播放。進一步地,所述轉(zhuǎn)換服務(wù)器向媒體服務(wù)器推送碼流數(shù)據(jù)前向所述媒體服務(wù)器發(fā)送一碼流推送標識,轉(zhuǎn)換服務(wù)器向所述媒體服務(wù)器推送碼流數(shù)據(jù)時攜帶所述碼流推送標識,所述媒體服務(wù)器根據(jù)碼流推送標識識別本次請求對應(yīng)的碼流數(shù)據(jù)。
進一步地,當Flash播放請求為動態(tài)Flash請求時,若轉(zhuǎn)換服務(wù)器中未存儲請求播放的Flash文件對應(yīng)的碼流文件但存儲有所述Flash文件時,所述轉(zhuǎn)換服務(wù)器將所述Flash 文件轉(zhuǎn)換為碼流數(shù)據(jù)推送至媒體服務(wù)器。進一步地,當所述Flash文件轉(zhuǎn)換完畢后,所述轉(zhuǎn)換服務(wù)器還將所述Flash文件對應(yīng)的所有碼流數(shù)據(jù)生成碼流文件并存儲該碼流文件,且在存儲的Flash碼流轉(zhuǎn)換對應(yīng)表中增加一 Flash碼流對應(yīng)項,所述Flash碼流對應(yīng)項包括Flash文件路徑、碼流文件路徑、請求的Flash動畫參數(shù)、轉(zhuǎn)換時間、查詢時間及查詢次數(shù)。進一步地,當Flash播放請求為實時Flash請求時,若轉(zhuǎn)換服務(wù)器中存儲有所述 Flash文件時,所述轉(zhuǎn)換服務(wù)器將所述Flash文件轉(zhuǎn)換為碼流數(shù)據(jù)推送至媒體服務(wù)器。進一步地,當Flash播放請求為動態(tài)Flash請求時,所述Flash播放請求包括 Flash的文件路徑及Flash動畫參數(shù);所述轉(zhuǎn)換服務(wù)器先根據(jù)請求中的Flash文件路徑及Flash動畫參數(shù)查找Flash碼流轉(zhuǎn)換對應(yīng)表中是否存在對應(yīng)的碼流文件,若存在則向所述媒體服務(wù)器返回所述碼流文件的路徑,所述媒體服務(wù)器根據(jù)所述碼流文件的路徑獲取對應(yīng)的碼流文件并向終端播放。進一步地,當Flash碼流對應(yīng)項中的動態(tài)Flash文件被請求后,所述轉(zhuǎn)換服務(wù)器更新所述Flash碼流對應(yīng)項的查詢時間及查詢次數(shù),并周期性地刪除查詢次數(shù)小于預(yù)設(shè)值的 Flash碼流對應(yīng)項或刪除查詢次數(shù)排序靠后的一項或多項Flash碼流對應(yīng)項。本發(fā)明還提供一種基于Flash的媒體播放系統(tǒng),包括與媒體服務(wù)器相連的轉(zhuǎn)換服務(wù)器;所述轉(zhuǎn)換服務(wù)器,用于接收并解析媒體服務(wù)器發(fā)來的Flash播放請求,且當所述 Flash播放請求為動態(tài)Flash請求或?qū)崟rFlash請求時,將請求播放的Flash文件轉(zhuǎn)換為碼流數(shù)據(jù)并返回至所述媒體服務(wù)器。進一步地,所述轉(zhuǎn)換服務(wù)器包括請求處理模塊、轉(zhuǎn)換管理模塊、Flash轉(zhuǎn)換模塊、存儲模塊及碼流推送模塊;所述存儲模塊,用于存儲Flash文件及碼流文件;所述轉(zhuǎn)換管理模塊,用于碼流推送模塊向媒體服務(wù)器推送碼流數(shù)據(jù)前通過請求處理模塊向媒體服務(wù)器發(fā)送一碼流推送標識,還用于將推送端口及碼流推送標識發(fā)送至碼流推送模塊,以及向Flash轉(zhuǎn)換模塊發(fā)送動態(tài)Flash轉(zhuǎn)換請求,請求中包括Flash文件路徑;所述Flash轉(zhuǎn)換模塊,用于收到所述動態(tài)Flash轉(zhuǎn)換請求后將對應(yīng)的Flash文件轉(zhuǎn)換為碼流數(shù)據(jù),并將碼流數(shù)據(jù)發(fā)送至碼流推送模塊;所述碼流推送模塊,用于收到所述碼流數(shù)據(jù)后從所述推送端口向媒體服務(wù)器推送碼流數(shù)據(jù),攜帶碼流推送標識。進一步地,所述轉(zhuǎn)換服務(wù)器還包括請求處理模塊,用于解析Flash播放請求,且將解析的Flash請求發(fā)送至轉(zhuǎn)換管理模塊;當Flash播放請求為動態(tài)Flash請求時,所述轉(zhuǎn)換管理模塊是在存儲模塊未存儲所述Flash文件對應(yīng)的碼流文件但存儲有所述Flash文件時向Flash轉(zhuǎn)換模塊發(fā)送動態(tài) Flash轉(zhuǎn)換請求的。進一步地,所述轉(zhuǎn)換服務(wù)器還包括請求處理模塊,用于解析Flash播放請求,且將解析的Flash請求發(fā)送至轉(zhuǎn)換管理模塊;
當Flash播放請求為實時Flash請求時,所述轉(zhuǎn)換管理模塊是在存儲模塊存儲有所述Flash文件時向Flash轉(zhuǎn)換模塊發(fā)送動態(tài)Flash轉(zhuǎn)換請求的。進一步地,所述存儲模塊還用于存儲Flash碼流轉(zhuǎn)換對應(yīng)表;所述動態(tài)Flash轉(zhuǎn)換請求還包括寫入碼流文件指示及回送結(jié)果指示;所述Flash轉(zhuǎn)換模塊還用于當所述Flash文件轉(zhuǎn)換完畢后將Flash文件對應(yīng)的所有碼流數(shù)據(jù)生成碼流文件并存儲至存儲模塊,以及向轉(zhuǎn)換管理模塊返回轉(zhuǎn)換完成應(yīng)答,該請求包含F(xiàn)lash文件路徑、碼流文件路徑、Flash動畫參數(shù);所述轉(zhuǎn)換管理模塊還用于在存儲模塊存儲的Flash碼流轉(zhuǎn)換對應(yīng)表中增加一條 Flash碼流對應(yīng)項,記錄項包括Flash文件路徑、碼流文件路徑、請求的Flash動畫參數(shù)、轉(zhuǎn)換時間、查詢時間及查詢次數(shù)。進一步地,當Flash播放請求為動態(tài)Flash請求時,所述Flash播放請求包括 Flash的文件路徑及Flash動畫參數(shù);所述轉(zhuǎn)換管理模塊還用于根據(jù)請求中的Flash文件路徑及Flash動畫參數(shù)查找Flash碼流轉(zhuǎn)換對應(yīng)表中是否存在對應(yīng)的碼流文件,以及當存儲模塊中存儲有與所述 Flash文件路徑及Flash動畫參數(shù)一致的碼流文件時,通過請求處理模塊向所述媒體服務(wù)器返回所述碼流文件的路徑;所述媒體服務(wù)器還用于根據(jù)所述碼流文件的路徑獲取對應(yīng)的碼流文件并向終端播放。進一步地,所述轉(zhuǎn)換管理模塊還用于當Flash碼流對應(yīng)項中的動態(tài)Flash文件被請求后更新該Flash碼流對應(yīng)項的查詢時間及查詢次數(shù),并周期性地刪除查詢次數(shù)小于預(yù)設(shè)值的Flash碼流對應(yīng)項或刪除查詢次數(shù)排序靠后的一項或多項Flash碼流對應(yīng)項。綜上所述,本發(fā)明提供一種基于Flash的媒體播放系統(tǒng)及方法,運營商可以為用戶提供基于視頻業(yè)務(wù)的客服系統(tǒng)或者其他應(yīng)用,因為Flash制作的簡便及成熟性,解決了常規(guī)視頻業(yè)務(wù)系統(tǒng)中視頻源缺乏的問題,以及解決了常規(guī)視頻業(yè)務(wù)系統(tǒng)中動態(tài)視頻觀感較差的問題。運營商通過部署該系統(tǒng),將降低運營成本,因此該方法有很好的企業(yè)推廣前景。 且采用本方案,可向終端實時地進行Flash動畫轉(zhuǎn)換及播放,提高了用戶體驗。
圖1是基于本發(fā)明具體實施的系統(tǒng)網(wǎng)絡(luò)架構(gòu)圖;圖2是本發(fā)明中轉(zhuǎn)換服務(wù)器的結(jié)構(gòu)圖示意圖;圖3是本發(fā)明基于Flash的媒體播放方法的流程圖。
具體實施例方式本發(fā)明提供一種基于Flash的媒體播放系統(tǒng)及方法,基于本系統(tǒng)的應(yīng)用,可以為當前較為匱乏的3G視頻源提供豐富的視頻源。本實施例提供一種基于Flash的媒體播放系統(tǒng),如圖1所示,包括終端、媒體網(wǎng)關(guān)、 應(yīng)用服務(wù)器(APPSVI )媒體服務(wù)器(MQ及轉(zhuǎn)換服務(wù)器(FCS);媒體網(wǎng)關(guān),用于將終端接入智能網(wǎng);應(yīng)用服務(wù)器(APPSVR),用于執(zhí)行智能網(wǎng)業(yè)務(wù)邏輯;
媒體服務(wù)器(MQ,用于接收處理應(yīng)用服務(wù)器的指令,負責與終端建立RTP連接,還用于向FCS發(fā)送Flash播放請求,以及收到FCS返回的碼流數(shù)據(jù)后向終端播放,還用于收到 FCS返回的碼流文件的路徑后根據(jù)碼流文件的路徑獲取對應(yīng)的碼流文件并向終端播放。終端,為能夠進行視頻通話的可視終端設(shè)備,例如3G手機、可視座機等。轉(zhuǎn)換服務(wù)器(FCQ,用于接收并解析媒體服務(wù)器發(fā)來的Flash播放請求,且當 Flash播放請求為動態(tài)Flash請求或?qū)崟rFlash請求時,將請求播放的Flash文件轉(zhuǎn)換為碼流數(shù)據(jù)并返回至媒體服務(wù)器。還可用于將本地碼流文件系統(tǒng)通過共享方式供MS讀取;MS 與FCS之間采用TCP/IP協(xié)議連接,F(xiàn)CS在指令端口進行偵聽,接收MS的連接與請求,在注冊成功后,F(xiàn)CS主動建立與MS的碼流推送連接并保持。FCS可與多個MS建立連接。如圖2所示,本發(fā)明的轉(zhuǎn)換服務(wù)器(FCQ包括請求處理模塊、轉(zhuǎn)換管理模塊、Flash 轉(zhuǎn)換模塊、碼流推送模塊、存儲模塊及Flash文件管理模塊;首先簡單闡述一下本系統(tǒng)中Flash分類的概念,F(xiàn)lash動畫按照請求形式可為靜態(tài)Flash、動態(tài)Flash、實時Flash 靜態(tài)Flash是指動畫內(nèi)容固定、時長固定的Flash動畫, 如運營商歡迎動畫;動態(tài)Flash是指動畫內(nèi)容可隨請求參數(shù)改變、時長固定的Flash動畫, 如菜單、話費信息;實時Flash是指動畫內(nèi)容不固定,無固定時長,如Flash在線游戲。以下詳細介紹各模塊的功能請求處理模塊,用于接收并解析MS發(fā)來的請求,并將解析的Flash請求發(fā)送至轉(zhuǎn)換管理模塊,還用于收到轉(zhuǎn)換管理模塊返回的碼流文件路徑后轉(zhuǎn)發(fā)至MS,以及收到轉(zhuǎn)換管理模塊發(fā)來的文件未找到的應(yīng)答后轉(zhuǎn)發(fā)至MS。請求處理模塊還用于根據(jù)請求中提供的端口建立FCS與MS間的連接,該連接可以是TCP/IP連接,之后,F(xiàn)CS通過該連接將生成的碼流推送至MS。請求處理模塊還用于收到MS發(fā)來的停止推送的指令后轉(zhuǎn)發(fā)至轉(zhuǎn)換管理模塊,停止推送的指令包含碼流推送ID。轉(zhuǎn)換管理模塊,用于接收Flash請求,并根據(jù)請求類型進行處理;具體地,當Flash請求為靜態(tài)Flash請求時,根據(jù)請求中的Flash文件路徑查找Flash碼流轉(zhuǎn)換對應(yīng)表(FST)中是否有對應(yīng)的Flash碼流對應(yīng)項(FS),若有則向請求處理模塊發(fā)送附帶該碼流文件路徑的應(yīng)答,若無則向請求處理模塊發(fā)送未找到Flash文件的應(yīng)答;當Flash 請求為動態(tài)Flash請求或?qū)崟rFlash請求時,若判定需要向媒體服務(wù)器推送碼流數(shù)據(jù),則轉(zhuǎn)換管理模塊用于在碼流推送模塊向媒體服務(wù)器推送碼流數(shù)據(jù)前通過請求處理模塊向媒體服務(wù)器發(fā)送一碼流推送ID,還用于將推送端口及碼流推送ID發(fā)送至碼流推送模塊以及向 Flash轉(zhuǎn)換模塊發(fā)送動態(tài)Flash轉(zhuǎn)換請求,請求中包括Flash文件路徑;上述推送端口及碼流推送ID可以是轉(zhuǎn)換管理模塊直接發(fā)送至碼流推送模塊的,也可以是包含在動態(tài)Flash轉(zhuǎn)換請求中的,由Flash轉(zhuǎn)換模塊隨轉(zhuǎn)換后的碼流數(shù)據(jù)發(fā)送至碼流推送模塊。當Flash請求為動態(tài)Flash請求時,轉(zhuǎn)換管理模塊首先以請求中的Flash文件路徑、Flash動畫參數(shù)為關(guān)鍵字查找FST中是否有對應(yīng)的碼流文件(即FS項),若找到對應(yīng)FS 項,則向請求處理模塊發(fā)送附帶該碼流文件路徑的應(yīng)答,并更新FST該關(guān)鍵字(參數(shù)及文件路徑)對應(yīng)記錄的查詢時間、查詢次數(shù)等項,若無查找存儲模塊中是否有請求中的Flash文件,若無則向請求處理模塊發(fā)送未找到Flash文件的應(yīng)答,若有則判定需要進行碼流推送;當Flash請求為實時Flash請求時,轉(zhuǎn)換管理模塊根據(jù)請求中的Flash文件路徑查找存儲模塊中是否有請求中的Flash文件,若無則向請求處理模塊發(fā)送未找到Flash文件的應(yīng)答,若有則判定需要進行碼流推送;當Flash請求為動態(tài)Flash請求時,轉(zhuǎn)換管理模塊發(fā)送的動態(tài)Flash轉(zhuǎn)換請求還可以包括寫入碼流文件指示及回送結(jié)果指示等項。轉(zhuǎn)換管理模塊還用于當存儲模塊中未存儲請求播放的Flash文件時向請求處理模塊返回文件未找到的應(yīng)答。轉(zhuǎn)換管理模塊還用于收到轉(zhuǎn)換完成應(yīng)答后,在存儲模塊存儲的FST中增加一條 FS,FS包括Flash文件路徑、碼流文件路徑、請求的Flash動畫參數(shù)、轉(zhuǎn)換時間、查詢時間及查詢次數(shù)等項。轉(zhuǎn)換管理模塊還用于維護存儲的碼流文件,具體地,由于請求的Flash動畫參數(shù)千變?nèi)f化,一些動態(tài)Flash請求生成的碼流文件的請求命中率較低,以及磁盤空間有限的限制,按照命中率的排序,刪除命中率低的碼流文件,而對于經(jīng)常請求的碼流文件,提升其命中率。轉(zhuǎn)換管理模塊還用于將請求處理模塊發(fā)來的停止推送的指令轉(zhuǎn)發(fā)至碼流推送模塊。轉(zhuǎn)換管理模塊還用于收到Flash文件管理模塊發(fā)來的預(yù)轉(zhuǎn)換請求后,向Flash轉(zhuǎn)換模塊發(fā)送靜態(tài)Flash轉(zhuǎn)換請求,請求中包含F(xiàn)lash文件路徑;以及收到靜態(tài)Flash轉(zhuǎn)換完成應(yīng)答后在存儲模塊中的FST中增加一 FS,該FS包含F(xiàn)lash文件路徑及碼流文件路徑。轉(zhuǎn)換管理模塊還可以用于當Flash碼流對應(yīng)項中的動態(tài)Flash文件被請求更新該 FS的查詢時間及查詢次數(shù),并周期性地刪除查詢次數(shù)小于預(yù)設(shè)值的FS或刪除查詢次數(shù)排序靠后的一項或多項FS。Flash轉(zhuǎn)換模塊,用于收到轉(zhuǎn)換管理模塊發(fā)來的動態(tài)Flash轉(zhuǎn)換請求后,根據(jù)其中的Flash文件路徑從存儲模塊中獲取該Flash文件,將其轉(zhuǎn)換為碼流數(shù)據(jù),并將推送端口、 碼流推送ID及轉(zhuǎn)換的碼流數(shù)據(jù)發(fā)送至碼流推送模塊,F(xiàn)lash轉(zhuǎn)換模塊還用于動態(tài)Flash轉(zhuǎn)換請求中包含寫入碼流文件指示及回送結(jié)果指示時,將Flash文件對應(yīng)的所有碼流數(shù)據(jù)生成碼流文件并存儲至存儲模塊,以及向轉(zhuǎn)換管理模塊返回轉(zhuǎn)換完成應(yīng)答,該請求包含F(xiàn)lash 文件路徑、碼流文件路徑、Flash動畫參數(shù)等。Flash轉(zhuǎn)換模塊,用于將Flash動畫轉(zhuǎn)換為音、視頻碼流。此轉(zhuǎn)換功能可以采用播放Flash動畫時,定時地抓取屏幕生成YUV數(shù)據(jù)格式的圖片,并對Flash播放器的聲音數(shù)據(jù)進行采樣生成音頻數(shù)據(jù)。在播放過程中,實時地將生成的圖片、音頻數(shù)據(jù),生成H.沈3的音視頻碼流。Flash轉(zhuǎn)換模塊還用于收到轉(zhuǎn)換管理模塊發(fā)來的靜態(tài)Flash轉(zhuǎn)換請求后,將對應(yīng)的Flash文件轉(zhuǎn)換為碼流文件并存儲至存儲模塊,并向轉(zhuǎn)換管理模塊返回靜態(tài)Flash轉(zhuǎn)換完成應(yīng)答,該應(yīng)答包含F(xiàn)lash文件路徑及碼流文件路徑。生成的碼流文件可為單一文件,如 3GP文件,也可為音頻、視頻兩個碼流文件,具體碼流文件個數(shù)可根據(jù)外部系統(tǒng)要求來配置。Flash轉(zhuǎn)換模塊含有多個轉(zhuǎn)換處理單元(即多個線程或進程),可同時處理多個轉(zhuǎn)換請求。碼流推送模塊,用于將接收的Flash碼流從對應(yīng)的推送端口推送至MS,其中攜帶碼流推送ID,以及當收到轉(zhuǎn)換管理模塊發(fā)來的停止推送指令后,停止向MS推送碼流。
碼流推送模塊維護與每一個MS的碼流推送線程,該線程定時循環(huán)地檢測該MS的碼流鏈表,若發(fā)現(xiàn)有新的屬于本MS的碼流數(shù)據(jù),則向?qū)?yīng)MS發(fā)送碼流數(shù)據(jù)。同一 MS的碼流形成一個碼流鏈表。存儲模塊,用于存儲Flash動畫源文件(即Flash文件),F(xiàn)lash文件按照動畫內(nèi)容是否支持參數(shù)分為靜態(tài)Flash與動態(tài)Flash,即動畫內(nèi)容固定的Flash動畫為靜態(tài)Flash, 動畫內(nèi)容可以隨參數(shù)改變的Flash動畫為動態(tài)Flash,動、靜態(tài)Flash以文件擴展名來區(qū)分。存儲模塊還用于生成的碼流文件以及Flash碼流轉(zhuǎn)換對應(yīng)表(FST),該FST包括靜態(tài)Flash的FS及動態(tài)Flash的FS,靜態(tài)Flash的FS記錄Flash文件路徑及碼流文件路徑,動態(tài)Flash的FS記錄Flash文件路徑、碼流文件路徑、請求的Flash動畫參數(shù)、轉(zhuǎn)換時間、查詢時間及查詢次數(shù)。Flash文件管理模塊,用于定時掃描存儲模塊中的Flash文件,包括以下操作a若發(fā)現(xiàn)有新的靜態(tài)Flash則向轉(zhuǎn)換管理模塊提交預(yù)轉(zhuǎn)換請求,只有預(yù)轉(zhuǎn)換完成的靜態(tài)Flash才能發(fā)布。b若發(fā)現(xiàn)有動態(tài)Flash更新,則刪除該動態(tài)Flash對應(yīng)的已轉(zhuǎn)換的碼流文件,并刪除FST中對應(yīng)的FS。c若發(fā)現(xiàn)有Flash文件刪除則刪除對應(yīng)的碼流文件,并刪除FST中對應(yīng)的FS。本實施例提供一種基于Flash的媒體播放方法,當轉(zhuǎn)換服務(wù)器收到媒體服務(wù)器發(fā)來的Flash播放請求后進行解析,若Flash播放請求為動態(tài)Flash請求或?qū)崟rFlash請求, 轉(zhuǎn)換服務(wù)器將請求播放的Flash文件轉(zhuǎn)換為碼流數(shù)據(jù),并將碼流數(shù)據(jù)推送至媒體服務(wù)器, 媒體服務(wù)器將接收的碼流數(shù)據(jù)向終端播放。首先,服務(wù)提供商編寫視頻業(yè)務(wù)邏輯并發(fā)布到應(yīng)用服務(wù)器,使用Flash開發(fā)工具制作Flash動畫并部署到FCS ;之后,當用戶請求播放Flash時執(zhí)行以下步驟步驟1 用戶使用可視終端撥打視頻業(yè)務(wù)的接入碼,軟交換觸發(fā)視頻業(yè)務(wù)到 APPSVR ;步驟2 =APPSVR發(fā)送建鏈請求給MS,建立可視終端與MS間的RTP連接;步驟3 =APPSVR發(fā)送Flash播放請求給MS,MS向FCS發(fā)送Flash播放請求,F(xiàn)CS解析該Flash播放請求,并根據(jù)請求類型作進一步處理,之后向MS返回應(yīng)答,應(yīng)答可以是碼流文件路徑,也可以是碼流數(shù)據(jù),還可以是文件未找到。步驟4 =MS根據(jù)接收的應(yīng)答響應(yīng)終端,具體地,當應(yīng)答為碼流文件路徑時,MS根據(jù)碼流文件路徑從FCS處獲取對應(yīng)的碼流文件并通過RTP連接向終端發(fā)送碼流,即向終端播放,當應(yīng)答為碼流數(shù)據(jù)時,MS同步地向終端播放接收的碼流數(shù)據(jù),當應(yīng)答為文件未找到時, MS向終端返回請求失敗的響應(yīng)。步驟5 播放業(yè)務(wù)完成,APPSVR向MS發(fā)送拆鏈請求,MS拆除與可視終端的RTP連接。下面結(jié)合附圖3詳細地對上述實施方式步驟3進行描述SlFCS接收來自MS的Flash播放請求,該請求中包括Flash的文件路徑,當請求為動態(tài)Flash請求時還包括Flash動畫參數(shù),當請求為實時Flash請求時還包括實時標志;S2FCS解析Flash播放請求的類型;
具體地,請求中若只有Flash文件路徑則為靜態(tài)Flash請求,若請求中帶有Flash 動畫參數(shù)則為動態(tài)Flash請求,若請求中實時標志為真則為實時Flash請求;之后,根據(jù)請求的類型進行處理,當類型為靜態(tài)Flash請求時執(zhí)行步驟S31,當類型為動態(tài)Flash請求時執(zhí)行步驟S41,當類型為實時Flash請求時執(zhí)行步驟S51 ;S31FCS根據(jù)請求中的Flash文件路徑查找Flash碼流轉(zhuǎn)換對應(yīng)表(FST)中是否有對應(yīng)的Flash碼流對應(yīng)項(FS),若有則執(zhí)行步驟S6,否則執(zhí)行步驟S7 ;S41FCS首先以請求中的Flash文件路徑、Flash動畫參數(shù)為關(guān)鍵字查找FST中是否有對應(yīng)的碼流文件,若找到對應(yīng)FS項,則執(zhí)行步驟S42,否則執(zhí)行步驟S43 ;S42FCS更新FST該關(guān)鍵字(參數(shù)及文件路徑)對應(yīng)記錄的查詢時間、查詢次數(shù)等項,然后執(zhí)行步驟S6 ;S43FCS查找是否有存儲有請求中的Flash文件,若無則執(zhí)行步驟S7,若有則執(zhí)行步驟S44 ;S44FCS對請求的Flash文件進行音視頻轉(zhuǎn)換,并實時地向MS推送轉(zhuǎn)換的碼流數(shù)據(jù);具體地,F(xiàn)CS先向MS發(fā)送一碼流推送ID,并將該Flash文件根據(jù)對應(yīng)的參數(shù)轉(zhuǎn)換為碼流數(shù)據(jù),向MS推送碼流數(shù)據(jù)時攜帶該碼流推送ID,MS根據(jù)該ID識別本次Flash請求對應(yīng)的碼流數(shù)據(jù)。步驟S44之后,F(xiàn)CS還將轉(zhuǎn)換完成的碼流數(shù)據(jù)寫入碼流文件,并將碼流文件存儲, 即在FST中添加一條FS,記錄項包括Flash文件路徑、碼流文件路徑、請求的Flash動畫參數(shù)、轉(zhuǎn)換時間、查詢時間及查詢次數(shù)等項;在步驟S44中,若FCS在碼流推送過程中便收到MS發(fā)來的停止播放的指令則停止向MS推送碼流,但仍繼續(xù)將Flash文件完全轉(zhuǎn)換為碼流文件并存儲。S51FCS先查找存儲模塊中是否有請求中的Flash文件,若無則執(zhí)行步驟S7,若有則執(zhí)行步驟S52 ;S52FCS對請求的Flash文件進行音視頻轉(zhuǎn)換,并實時地向MS推送轉(zhuǎn)換的碼流數(shù)據(jù);具體地,F(xiàn)CS向MS發(fā)送一碼流推送ID,并將請求的Flash文件轉(zhuǎn)換為碼流數(shù)據(jù),向 MS推送碼流數(shù)據(jù)時攜帶該碼流推送ID。在步驟S52中,若FCS在碼流推送過程中便收到MS發(fā)來的停止播放的指令則停止向MS推送碼流。S6FCS向MS發(fā)送附帶該碼流文件路徑的應(yīng)答;S7FCS向MS發(fā)送未找到Flash文件的應(yīng)答。當Flash碼流對應(yīng)項中的動態(tài)Flash文件被請求后,F(xiàn)CS還周期性地刪除查詢次數(shù)小于預(yù)設(shè)值的FS或刪除查詢次數(shù)排序靠后的一項或多項FS。FCS維護與每一個MS的碼流推送線程,該線程定時循環(huán)地檢測該MS的碼流鏈表, 若發(fā)現(xiàn)有新的屬于本MS的碼流數(shù)據(jù),則向?qū)?yīng)MS發(fā)送碼流數(shù)據(jù)。同一 MS的碼流形成一個碼流鏈表。綜上,本發(fā)明所論述的基于Flash的媒體流生成系統(tǒng),可以方便地為媒體服務(wù)器或其他系統(tǒng)提供高質(zhì)量的音視頻源,增強用戶體驗感。
11
應(yīng)當理解的是,上述針對企業(yè)名稱和各具體步驟的舉例說明較為具體,并不能因此而認為是對本發(fā)明的專利保護范圍的限制,本發(fā)明的專利保護范圍應(yīng)以所附權(quán)利要求為準。
權(quán)利要求
1.一種基于Flash的媒體播放方法,包括當轉(zhuǎn)換服務(wù)器收到媒體服務(wù)器發(fā)來的Flash播放請求后進行解析,若所述Flash播放請求為動態(tài)Flash請求或?qū)崟rFlash請求,所述轉(zhuǎn)換服務(wù)器將請求播放的Flash文件轉(zhuǎn)換為碼流數(shù)據(jù),并將所述碼流數(shù)據(jù)推送至媒體服務(wù)器,所述媒體服務(wù)器將接收的碼流數(shù)據(jù)向終端播放。
2.如權(quán)利要求1所述的方法,其特征在于,所述方法具體為所述轉(zhuǎn)換服務(wù)器向媒體服務(wù)器推送碼流數(shù)據(jù)前向所述媒體服務(wù)器發(fā)送一碼流推送標識,轉(zhuǎn)換服務(wù)器向所述媒體服務(wù)器推送碼流數(shù)據(jù)時攜帶所述碼流推送標識,所述媒體服務(wù)器根據(jù)碼流推送標識識別本次請求對應(yīng)的碼流數(shù)據(jù)。
3.如權(quán)利要求2所述的方法,其特征在于當Flash播放請求為動態(tài)Flash請求時,若轉(zhuǎn)換服務(wù)器中未存儲請求播放的Flash文件對應(yīng)的碼流文件但存儲有所述Flash文件時,所述轉(zhuǎn)換服務(wù)器將所述Flash文件轉(zhuǎn)換為碼流數(shù)據(jù)推送至媒體服務(wù)器。
4.如權(quán)利要求3所述的方法,其特征在于,所述方法還包括當所述Flash文件轉(zhuǎn)換完畢后,所述轉(zhuǎn)換服務(wù)器還將所述Flash文件對應(yīng)的所有碼流數(shù)據(jù)生成碼流文件并存儲該碼流文件,且在存儲的Flash碼流轉(zhuǎn)換對應(yīng)表中增加一 Flash 碼流對應(yīng)項,所述Flash碼流對應(yīng)項包括Flash文件路徑、碼流文件路徑、請求的Flash動畫參數(shù)、轉(zhuǎn)換時間、查詢時間及查詢次數(shù)。
5.如權(quán)利要求2所述的方法,其特征在于,所述方法具體為當Flash播放請求為實時Flash請求時,若轉(zhuǎn)換服務(wù)器中存儲有所述Flash文件時,所述轉(zhuǎn)換服務(wù)器將所述Flash文件轉(zhuǎn)換為碼流數(shù)據(jù)推送至媒體服務(wù)器。
6.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括當Flash播放請求為動態(tài)Flash請求時,所述Flash播放請求包括Flash的文件路徑及Flash動畫參數(shù);所述轉(zhuǎn)換服務(wù)器先根據(jù)請求中的Flash文件路徑及Flash動畫參數(shù)查找Flash碼流轉(zhuǎn)換對應(yīng)表中是否存在對應(yīng)的碼流文件,若存在則向所述媒體服務(wù)器返回所述碼流文件的路徑,所述媒體服務(wù)器根據(jù)所述碼流文件的路徑獲取對應(yīng)的碼流文件并向終端播放。
7.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括當Flash碼流對應(yīng)項中的動態(tài)Flash文件被請求后,所述轉(zhuǎn)換服務(wù)器更新所述Flash 碼流對應(yīng)項的查詢時間及查詢次數(shù),并周期性地刪除查詢次數(shù)小于預(yù)設(shè)值的Flash碼流對應(yīng)項或刪除查詢次數(shù)排序靠后的一項或多項Flash碼流對應(yīng)項。
8.一種基于Flash的媒體播放系統(tǒng),包括與媒體服務(wù)器相連的轉(zhuǎn)換服務(wù)器;其特征在于所述轉(zhuǎn)換服務(wù)器,用于接收并解析媒體服務(wù)器發(fā)來的Flash播放請求,且當所述Flash 播放請求為動態(tài)Flash請求或?qū)崟rFlash請求時,將請求播放的Flash文件轉(zhuǎn)換為碼流數(shù)據(jù)并返回至所述媒體服務(wù)器。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于所述轉(zhuǎn)換服務(wù)器包括請求處理模塊、轉(zhuǎn)換管理模塊、Flash轉(zhuǎn)換模塊、存儲模塊及碼流推送模塊;所述存儲模塊,用于存儲Flash文件及碼流文件;所述轉(zhuǎn)換管理模塊,用于碼流推送模塊向媒體服務(wù)器推送碼流數(shù)據(jù)前通過請求處理模塊向媒體服務(wù)器發(fā)送一碼流推送標識,還用于將推送端口及碼流推送標識發(fā)送至碼流推送模塊,以及向Flash轉(zhuǎn)換模塊發(fā)送動態(tài)Flash轉(zhuǎn)換請求,請求中包括Flash文件路徑;所述Flash轉(zhuǎn)換模塊,用于收到所述動態(tài)Flash轉(zhuǎn)換請求后將對應(yīng)的Flash文件轉(zhuǎn)換為碼流數(shù)據(jù),并將碼流數(shù)據(jù)發(fā)送至碼流推送模塊;所述碼流推送模塊,用于收到所述碼流數(shù)據(jù)后從所述推送端口向媒體服務(wù)器推送碼流數(shù)據(jù),攜帶碼流推送標識。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于所述轉(zhuǎn)換服務(wù)器還包括請求處理模塊,用于解析Flash播放請求,且將解析的Flash請求發(fā)送至轉(zhuǎn)換管理模塊;當Flash播放請求為動態(tài)Flash請求時,所述轉(zhuǎn)換管理模塊是在存儲模塊未存儲所述 Flash文件對應(yīng)的碼流文件但存儲有所述Flash文件時向Flash轉(zhuǎn)換模塊發(fā)送動態(tài)Flash 轉(zhuǎn)換請求的。
11.如權(quán)利要求9所述的系統(tǒng),其特征在于所述轉(zhuǎn)換服務(wù)器還包括請求處理模塊,用于解析Flash播放請求,且將解析的Flash請求發(fā)送至轉(zhuǎn)換管理模塊;當Flash播放請求為實時Flash請求時,所述轉(zhuǎn)換管理模塊是在存儲模塊存儲有所述 Flash文件時向Flash轉(zhuǎn)換模塊發(fā)送動態(tài)Flash轉(zhuǎn)換請求的。
12.如權(quán)利要求10所述的系統(tǒng),其特征在于 所述存儲模塊還用于存儲Flash碼流轉(zhuǎn)換對應(yīng)表;所述動態(tài)Flash轉(zhuǎn)換請求還包括寫入碼流文件指示及回送結(jié)果指示; 所述Flash轉(zhuǎn)換模塊還用于當所述Flash文件轉(zhuǎn)換完畢后將Flash文件對應(yīng)的所有碼流數(shù)據(jù)生成碼流文件并存儲至存儲模塊,以及向轉(zhuǎn)換管理模塊返回轉(zhuǎn)換完成應(yīng)答,該請求包含F(xiàn)lash文件路徑、碼流文件路徑、Flash動畫參數(shù);所述轉(zhuǎn)換管理模塊還用于在存儲模塊存儲的Flash碼流轉(zhuǎn)換對應(yīng)表中增加一條Flash 碼流對應(yīng)項,記錄項包括Flash文件路徑、碼流文件路徑、請求的Flash動畫參數(shù)、轉(zhuǎn)換時間、查詢時間及查詢次數(shù)。
13.如權(quán)利要求9所述的系統(tǒng),其特征在于當Flash播放請求為動態(tài)Flash請求時,所述Flash播放請求包括Flash的文件路徑及Flash動畫參數(shù);所述轉(zhuǎn)換管理模塊還用于根據(jù)請求中的Flash文件路徑及Flash動畫參數(shù)查找Flash 碼流轉(zhuǎn)換對應(yīng)表中是否存在對應(yīng)的碼流文件,以及當存儲模塊中存儲有與所述Flash文件路徑及Flash動畫參數(shù)一致的碼流文件時,通過請求處理模塊向所述媒體服務(wù)器返回所述碼流文件的路徑;所述媒體服務(wù)器還用于根據(jù)所述碼流文件的路徑獲取對應(yīng)的碼流文件并向終端播放。
14.如權(quán)利要求9所述的系統(tǒng),其特征在于所述轉(zhuǎn)換管理模塊還用于當Flash碼流對應(yīng)項中的動態(tài)Flash文件被請求后更新該 Flash碼流對應(yīng)項的查詢時間及查詢次數(shù),并周期性地刪除查詢次數(shù)小于預(yù)設(shè)值的Flash碼流對應(yīng)項或刪除查詢次數(shù)排序靠后的一項或多項Flash碼流對應(yīng)項。
全文摘要
本發(fā)明提供一種基于Flash的媒體播放系統(tǒng)及方法,該方法包括當轉(zhuǎn)換服務(wù)器收到媒體服務(wù)器發(fā)來的Flash播放請求后進行解析,若所述Flash播放請求為動態(tài)Flash請求或?qū)崟rFlash請求,所述轉(zhuǎn)換服務(wù)器將請求播放的Flash文件轉(zhuǎn)換為碼流數(shù)據(jù),并將所述碼流數(shù)據(jù)推送至媒體服務(wù)器,所述媒體服務(wù)器將接收的碼流數(shù)據(jù)向終端播放。采用本發(fā)明的技術(shù)方案,可向終端實時地進行Flash動畫轉(zhuǎn)換及播放。
文檔編號H04L29/06GK102238151SQ20101016673
公開日2011年11月9日 申請日期2010年4月27日 優(yōu)先權(quán)日2010年4月27日
發(fā)明者張治華, 王東, 肖颯 申請人:中興通訊股份有限公司