專利名稱:一種服務(wù)器及其在線播放視頻的發(fā)送方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻在線播放領(lǐng)域,尤其涉及實(shí)現(xiàn)支持進(jìn)度拖放功能的視頻 在線播放的技術(shù)。
背景技術(shù):
Web2.0視頻分享網(wǎng)站(如Youtube、 土豆等)通常是通過(guò)HTTP( Hyper Text Transfer Protocol,超文本傳輸協(xié)議)進(jìn)行FLV ( Flash Video,動(dòng)畫視頻)視頻 在線播放的。在FLV視頻進(jìn)行在線播放時(shí),觀看該在線播放視頻的用戶可以 拖動(dòng)播放器的進(jìn)度條來(lái)選擇觀看當(dāng)前播放進(jìn)度前、或者當(dāng)前播放進(jìn)度后的視 頻。這種支持用戶拖動(dòng)播放器的進(jìn)度條來(lái)進(jìn)行視頻觀看的進(jìn)度拖放功能,則 是HTTP服務(wù)器在線視頻應(yīng)用中的一個(gè)重要的功能。
如圖1所示,F(xiàn)LV視頻文件除了文件頭(FLV Header)之外,其余內(nèi)容 由連續(xù)交替的包含音頻幀、視頻幀或者元數(shù)據(jù)的FLV tag (FLV片段)以及指 示FLV tag大小的Previous Tag Size (在前FLV Tag的大小)組成。
FLV視頻的客戶端播放器一般由基于Adobe瀏覽器Flash插件所支持的語(yǔ) 言ActionScript實(shí)現(xiàn),而該語(yǔ)言的FLV播放控制功能比較有限。 一個(gè)FLV文 件的播放程序大致如下
〃《鍵一個(gè)臉n畫對(duì),
<formula>formula see original document page 5</formula>
通過(guò)上述的播放程序,可以看出該語(yǔ)言只能在程序中播放一個(gè)URL(Uniform Resource Locator,統(tǒng)一資源定位符)。在該語(yǔ)言實(shí)現(xiàn)的插-i文器中, 當(dāng)用戶將播放器的進(jìn)度條拖動(dòng)到已經(jīng)下載到本地的FLV內(nèi)容時(shí),使用 NetStream的seek方法即可轉(zhuǎn)到新的拖動(dòng)點(diǎn)進(jìn)行播放;但當(dāng)用戶將播放器的進(jìn) 度條拖動(dòng)到尚未下載到本地的內(nèi)容時(shí),則無(wú)法播放用戶要求播放的內(nèi)容。
為了解決上述FLV文件播放時(shí)的任意拖動(dòng)問(wèn)題,目前的做法是每當(dāng)用戶 將進(jìn)度條拖動(dòng)到一個(gè)文件內(nèi)容尚未下載到本地的位置時(shí),如圖2所示,HTTP 服務(wù)器就在線生成包含完整FLV頭的新的FLV文件送給播;改器進(jìn)行播放,對(duì) 應(yīng)地,播放器程序中也播放一個(gè)新的URL:
〃^,摔遽!夯遂動(dòng)封^求74'到本她W在J#
〃摔位置/^惑餘>^^^" ^@,"潛放一個(gè)者W魂j^Jt斧W L
m少尸丄F5^e畫./ —卩'f^/7v 加W=_/ 2 , ,
近年來(lái),隨著支持H.264和MP4文件格式的Adobe Flash Player Version 9 的發(fā)布,越來(lái)越多的Web2.0視頻分享網(wǎng)站都開始使用壓縮率更高的EL264編 碼視頻,文件封裝格式也普遍采用MP4格式。
MP4文件是MPEG-4 (動(dòng)態(tài)圖像專家組4 )定義的 一種新的4某體內(nèi)容封裝 格式(即多媒體文件格式),其于QTFF ( QuickTime File Format)格式。MP4 文件由若干個(gè)單元(Atom或稱作Box)組成。每個(gè)Atom的結(jié)構(gòu)都由大小、 類型和內(nèi)容組成。 一個(gè)Atom還可以包含別的Atom。
通常來(lái)說(shuō), 一個(gè)MP4文件最頂層包含兩個(gè)Atom,分別是元數(shù)據(jù)存儲(chǔ)單 元Movie Atom (也稱為MOOV Atom)和媒體數(shù)據(jù)(Media Data)存儲(chǔ)單元 MDAT Atom ( Media Data Atom )。
MOOV Atom的主要功能是說(shuō)明媒體數(shù)據(jù)的類型,數(shù)據(jù)存放的位置、解碼 時(shí)間等系統(tǒng)信息。每個(gè)々某體流在MP4碼流中對(duì)應(yīng)不同的軌道(track),這些 軌道能夠通過(guò)索引軌道相關(guān)聯(lián)。MP4文件中的媒體采樣數(shù)據(jù)是連續(xù)存放在 MD ATA Atom中的。
不同于FLV文件中音視頻采樣按時(shí)間順序以tags的形式交替存放,MP4文件中采樣數(shù)據(jù)本身是獨(dú)立于采樣時(shí)間信息存放在MDATAtom中的。在進(jìn)行 在線播放時(shí),當(dāng)用戶拖動(dòng)到MP4文件中 一個(gè)新的播放位置時(shí),如果HTTP服 務(wù)器依然按照上述的現(xiàn)有技術(shù)的方法,在接收到用戶發(fā)送的播放進(jìn)度信息時(shí), 生成一個(gè)新的基于MP4的々某體文件發(fā)送給客戶端,那么在生成新的基于MP4 的媒體文件過(guò)程中HTTP服務(wù)器需要較多的時(shí)間以及較大的計(jì)算量來(lái)完成該 項(xiàng)任務(wù)。而HTTP服務(wù)器需要服務(wù)眾多的客戶,因此在實(shí)際應(yīng)用中,若HTTP
送的進(jìn)度信息,那么會(huì)導(dǎo)致HTTP服務(wù)器因無(wú)法響應(yīng)眾多用戶發(fā)送的進(jìn)度信 息,而導(dǎo)致處理效率低下甚至癱瘓。所以,現(xiàn)有技術(shù)的HTTP服務(wù)器處理、 響應(yīng)用戶針對(duì)MP4格式的在線播放視頻文件發(fā)送的進(jìn)度信息在現(xiàn)實(shí)中是不可 行的;換言之,現(xiàn)有技術(shù)的HTTP服務(wù)器不能處理、響應(yīng)眾多用戶針對(duì)MP4 格式的在線播放視頻文件發(fā)送的進(jìn)度信息。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了 一種服務(wù)器及其在線播放視頻的發(fā)送方法,用以及 時(shí)處理、響應(yīng)用戶發(fā)送的在線播放進(jìn)度信息,向用戶發(fā)送相應(yīng)視頻文件。 一種在線播放一見(jiàn)頻的發(fā)送方法,包括 獲得用戶端發(fā)送的在線播放視頻的進(jìn)度信息;
確定所述進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn);所述片段起始點(diǎn)為預(yù)先設(shè)置在 所述在線播放視頻的播放進(jìn)程中的若干個(gè)點(diǎn);
在線生成新媒體文件的媒體數(shù)據(jù)信息,并將預(yù)先存儲(chǔ)的該新媒體文件的 元數(shù)據(jù)信息與所述媒體數(shù)據(jù)信息組合成所述新媒體文件;所述新媒體文件的 播放起點(diǎn)為確定的片段起始點(diǎn);
將組合的新媒體文件發(fā)送給用戶端。
一種在線播放視頻的發(fā)送方法,包括
獲得用戶端發(fā)送的在線播放視頻的進(jìn)度信息;確定所述進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn);所述片段起始點(diǎn)為預(yù)先設(shè)置在 所述在線播放視頻的播放進(jìn)程中的若千個(gè)點(diǎn);
將預(yù)先存儲(chǔ)的對(duì)應(yīng)于該片段起始點(diǎn)的媒體文件發(fā)送給用戶端進(jìn)行視頻播放。
一種服務(wù)器,包括
進(jìn)度信息獲得模塊,用于獲得用戶端發(fā)送的在線播放視頻的進(jìn)度信息; 片段起始點(diǎn)確定模塊,用于確定所述進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn);所 述片段起始點(diǎn)為預(yù)先設(shè)置在所述在線播放視頻的播放進(jìn)程中的若干個(gè)點(diǎn); 媒體文件確定模塊,用于確定預(yù)先存儲(chǔ)的對(duì)應(yīng)于該片段起始點(diǎn)的媒體文
件;
媒體文件發(fā)送模塊,用于將確定的媒體文件發(fā)送給用戶端進(jìn)行視頻播放。 一種服務(wù)器,包括
進(jìn)度信息獲得模塊,用于獲得用戶端發(fā)送的在線播放視頻的進(jìn)度信息;
片段起始點(diǎn)確定模塊,用于確定所述進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn);所 述片段起始點(diǎn)為預(yù)先設(shè)置在所述在線播放視頻的播放進(jìn)程中的若干個(gè)點(diǎn);
媒體數(shù)據(jù)信息生成模塊,用于以確定的片段起始點(diǎn)作為新媒體文件的播 放起點(diǎn),在線生成所述新媒體文件的媒體數(shù)據(jù)信息;
元數(shù)據(jù)信息存儲(chǔ)模塊,用于存儲(chǔ)預(yù)先生成的所述新々某體文件的元數(shù)據(jù)信
臺(tái)
,&,
媒體文件生成模塊,用于將預(yù)先存儲(chǔ)的所述新媒體文件的元數(shù)據(jù)信息與 所述媒體數(shù)據(jù)信息組合成所述新媒體文件;
媒體文件發(fā)送模塊,用于將組合的新媒體文件發(fā)送給用戶端。 本發(fā)明實(shí)施例的服務(wù)器由于在整個(gè)視頻的播放進(jìn)度中設(shè)置若千個(gè)片,殳起 始點(diǎn),并預(yù)先生成以各片段起始點(diǎn)作為播放起點(diǎn)的各媒體文件,或者媒體文 件的元數(shù)據(jù)信息,從而當(dāng)服務(wù)器接收到用戶發(fā)送的進(jìn)度信息時(shí),可以根據(jù)進(jìn) 度信息確定一個(gè)對(duì)應(yīng)片段起始點(diǎn)的媒體文件發(fā)送給用戶,從而避免在線生成媒體文件、或者媒體文件的元數(shù)據(jù)信息而花費(fèi)較多時(shí)間和計(jì)算資源,達(dá)到及 時(shí)處理、響應(yīng)用戶發(fā)送的在線播放進(jìn)度信息、為用戶發(fā)送相應(yīng)的播放視頻的 媒體文件的目的。
圖1為現(xiàn)有技術(shù)的FLV視頻文件示意圖; 圖2為現(xiàn)有技術(shù)的生成新4某體文件的示意圖3為本發(fā)明實(shí)施例的在線播放視頻進(jìn)程中設(shè)置片段起始點(diǎn)的示意圖; 圖4a為本發(fā)明實(shí)施例的支持進(jìn)度拖放功能的在線視頻播放方法流程圖; 圖4b、 4c、 4d為本發(fā)明實(shí)施例的才艮據(jù)進(jìn)度信息確定對(duì)應(yīng)片^殳起始點(diǎn)的示 意圖5、 6為本發(fā)明實(shí)施例的支持在線視頻播放的進(jìn)度拖放功能的服務(wù)器結(jié) 構(gòu)示意圖。
具體實(shí)施例方式
如圖3所示,本發(fā)明實(shí)施例的HTTP服務(wù)器對(duì)于一個(gè)在線播放的完整一見(jiàn) 頻,在該視頻的整個(gè)播放進(jìn)度中設(shè)置若干個(gè)片段起始點(diǎn),例如片段起始點(diǎn)l、 片段起始點(diǎn)2……。對(duì)于每個(gè)設(shè)置的片段起始點(diǎn)都預(yù)先生成一個(gè)以該片段起始 點(diǎn)作為播放起點(diǎn)的媒體文件。當(dāng)用戶在線收看視頻時(shí),拖動(dòng)進(jìn)度條時(shí),HTTP 服務(wù)器接收到用戶發(fā)送的進(jìn)度信息。HTTP服務(wù)器根據(jù)接收的進(jìn)度信息確定該 進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn),并進(jìn)而確定該片段起始點(diǎn)所對(duì)應(yīng)的媒體文件, 并向用戶發(fā)送該媒體文件。例如,HTTP服務(wù)器接收的進(jìn)度信息為"10分鐘,, 的進(jìn)度信息,而片段起始點(diǎn)6的播放時(shí)間為IO分鐘,則片段起始點(diǎn)6所對(duì)應(yīng) 的媒體文件包含10分鐘以后的視頻內(nèi)容,則HTTP服務(wù)器向用戶發(fā)送片^殳起 始點(diǎn)6所對(duì)應(yīng)的媒體文件,用戶即可通過(guò)該媒體文件在線收看10分鐘以后的 視頻。這樣,對(duì)于某些格式的視頻文件(例如MP4格式的視頻文件)運(yùn)用本發(fā)明實(shí)施例的方法事先生成各片段起始點(diǎn)所對(duì)應(yīng)的^某體文件,從而既可以響 應(yīng)用戶的進(jìn)度信息,又可以避免在線實(shí)時(shí)生成新的^ 某體文件而占用大量時(shí)間 和資源,從而達(dá)到及時(shí)處理、響應(yīng)用戶發(fā)送的在線播放進(jìn)度信息的目的。
下面以MP4 ^L頻文件為例講述具體纟支術(shù)方案,對(duì)于其它類型的i見(jiàn)頻文件,
視頻文件的進(jìn)度拖放功能。
本發(fā)明實(shí)施例提供的一種支持進(jìn)度拖放功能的在線視頻播放方法,流程 圖如圖4a所示,包括如下步驟
S401 、用戶端向HTTP服務(wù)器發(fā)送進(jìn)度信息。
用戶在線收看HTTP服務(wù)器提供的視頻時(shí),拖動(dòng)播放器的進(jìn)度條,播放 視頻的終端(即用戶端)將視頻播放進(jìn)度信息發(fā)送給HTTP服務(wù)器。 S402、 HTTP服務(wù)器確定接收的進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn)。 在視頻播放的整個(gè)進(jìn)度中設(shè)置了若干個(gè)片段起始點(diǎn)。例如,對(duì)于一個(gè)視 頻,其播放時(shí)間為1小時(shí),也就是其整個(gè)播放進(jìn)度用時(shí)1小時(shí)??梢詫⒃撘?頻的1小時(shí)播放進(jìn)度按照每5分鐘一個(gè)片段起始點(diǎn)進(jìn)行劃分。例如,設(shè)置的 片段起始點(diǎn)1的播放進(jìn)度時(shí)間起點(diǎn)為0:00;片段起始點(diǎn)2的播放進(jìn)度時(shí)間起 點(diǎn)為5:00,……。
HTTP服務(wù)器需要確定接收的進(jìn)度信息對(duì)應(yīng)于哪個(gè)片段起始點(diǎn)。而進(jìn)度信 息與片段起始點(diǎn)之間的對(duì)應(yīng)關(guān)系,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況來(lái)制訂。 比如,可以采用如下^于應(yīng)方法
方法一
若進(jìn)度信息中的播放進(jìn)度時(shí)間點(diǎn)離某個(gè)在前的片段起始點(diǎn)最近,則確定 該進(jìn)度信息對(duì)應(yīng)于該片段起始點(diǎn)(如圖4b所示)。 方法二
若進(jìn)度信息中的播放進(jìn)度時(shí)間點(diǎn)離某個(gè)片段起始點(diǎn)最近,則確定該進(jìn)度 信息對(duì)應(yīng)于該片^殳起始點(diǎn)(如圖4c所示)。方法三
若進(jìn)度信息中的播放進(jìn)度時(shí)間點(diǎn)離某個(gè)在后的片段起始點(diǎn)最近,則確定
該進(jìn)度信息對(duì)應(yīng)于該片段起始點(diǎn)(如圖4d所示)。
當(dāng)然,本領(lǐng)域4支術(shù)人員還可以釆用其它的對(duì)應(yīng)方法,此處不再——列舉。
5403、 HTTP服務(wù)器確定該片段起始點(diǎn)對(duì)應(yīng)的媒體文件。 片段起始點(diǎn)對(duì)應(yīng)的媒體文件可以是事先生成并保存的。但是,本發(fā)明的
發(fā)明人發(fā)現(xiàn)在生成媒體文件的過(guò)程中,主要是計(jì)算媒體文件中攜帶的元數(shù)據(jù) (例如索引信息、時(shí)間長(zhǎng)度信息、幀數(shù)目信息等)需要占用較多時(shí)間和計(jì)算 量,而媒體文件中攜帶的媒體數(shù)據(jù)則不需要進(jìn)行較多的計(jì)算。
那么,作為一種優(yōu)化的方法,可以針對(duì)各片段起始點(diǎn)僅預(yù)先保存對(duì)應(yīng)于 該片段起始點(diǎn)的媒體文件的元數(shù)據(jù)信息,而不是預(yù)先保存整個(gè)媒體文件。當(dāng) HTTP服務(wù)器接收到用戶的進(jìn)度信息、確定出片段起始點(diǎn)時(shí),可以從視頻文件 中實(shí)時(shí)生成該片段起始點(diǎn)所對(duì)應(yīng)的媒體數(shù)據(jù)信息,并將預(yù)先保存的該片段起 始點(diǎn)所對(duì)應(yīng)的元數(shù)據(jù)信息與媒體數(shù)據(jù)信息組合成一個(gè)媒體文件發(fā)送給用戶。 這樣,可以大大節(jié)省HTTP服務(wù)器用于存儲(chǔ)事先生成的對(duì)應(yīng)于各片段起始點(diǎn) 的媒體文件的存儲(chǔ)空間。
5404、 HTTP服務(wù)器將媒體文件發(fā)送給用戶端。
用戶端根據(jù)新接收的媒體文件繼續(xù)進(jìn)行視頻播放。
下面以MP4文件為例,講述各片教爽始點(diǎn)對(duì)應(yīng)的4某體文件的生成方法, 對(duì)于其它類型的視頻文件,本領(lǐng)域技術(shù)人員可以依據(jù)本發(fā)明的原理生成基于 該視頻文件的片段起始點(diǎn)對(duì)應(yīng)的媒體文件,此處不再對(duì)各種視頻文件的片段 起始點(diǎn)對(duì)應(yīng)的纟某體文件的生成方法進(jìn)行贅述。
MP4文件的各片段起始點(diǎn)對(duì)應(yīng)的媒體文件都需要包括對(duì)應(yīng)于該片段起 始點(diǎn)對(duì)應(yīng)的媒體文件的元數(shù)據(jù)信息,以及對(duì)應(yīng)于該片段起始點(diǎn)的媒體文件的 媒體數(shù)據(jù)信息。
對(duì)于某個(gè)片段起始點(diǎn)tl,根據(jù)原始視頻文件(即在線播放視頻的整個(gè)視頻文件)生成對(duì)應(yīng)于該片段起始點(diǎn)的元數(shù)據(jù)信息的具體方法為,調(diào)整有關(guān)索
引信息,具體要修改的內(nèi)容包括
1、 修改開始播放時(shí)的采樣編號(hào)參數(shù)將片段起始點(diǎn)tl映射為開始播放時(shí) 的采樣編號(hào);即開始播放的采樣編號(hào)從tl所對(duì)應(yīng)的編號(hào)開始。
2、 修改相關(guān)的播放時(shí)間長(zhǎng)度參數(shù),包括播放時(shí)間長(zhǎng)度、軌道(track) 時(shí)間長(zhǎng)度、軌道媒體播放時(shí)間長(zhǎng)度等,修改這些時(shí)間長(zhǎng)度參數(shù)為相應(yīng)的時(shí)間 長(zhǎng)度值,即T-tl;其中,T為原始視頻文件的整個(gè)進(jìn)程播放時(shí)間長(zhǎng)度。表明該 片段起始點(diǎn)tl對(duì)應(yīng)的媒體文件的播放時(shí)間長(zhǎng)度為T-tl。
3、 調(diào)整采樣信息相關(guān)參數(shù),具體包括
A、 修改相關(guān)的幀數(shù)目參數(shù)。由于媒體文件中播放時(shí)間與采樣幀數(shù)目是相 對(duì)應(yīng)的,所以當(dāng)播放時(shí)間改變了,也就需要相應(yīng)修改相關(guān)的幀數(shù)目參數(shù)。
B、 修改相關(guān)的采樣組(Sample-to-Chunk)偏移量(offset)參數(shù)。類似 的,由于媒體文件開始播放的時(shí)間點(diǎn)與播放的采樣組偏移量相對(duì)應(yīng),因此也 需要相應(yīng)修改相關(guān)的采樣組偏移量。例如,如果片段起始點(diǎn)對(duì)應(yīng)的媒體文件 開始播放的時(shí)間點(diǎn)與在線播放視頻的整個(gè)進(jìn)程開始播放的時(shí)間點(diǎn)相同,則采 樣組偏移量為0。
C、 修改采樣組編號(hào)。由于片段起始點(diǎn)對(duì)應(yīng)的媒體文件的采樣組有偏移量, 因此,偏移量之前的采樣組可以刪除,保留偏移量之后的采樣組,并需要適 應(yīng)性調(diào)整修改這些采樣組編號(hào)。例如,原視頻文件中采樣組偏移量為5,則需 要將采樣組編號(hào)5、 6、 7......,適應(yīng)性調(diào)整為采樣組編號(hào)1、 2、 3......。
D、 修改關(guān)鍵幀的數(shù)目以及每個(gè)關(guān)鍵幀的編號(hào)。
E、 修改采樣數(shù)目。
對(duì)于上述生成的各片^史起始點(diǎn)對(duì)應(yīng)的元數(shù)據(jù)信息可以預(yù)先保存在HTTP 服務(wù)器上。通常,對(duì)于MP4格式的文件,每個(gè)片段起始點(diǎn)對(duì)應(yīng)的元數(shù)據(jù)信息 具體可以是保存在一個(gè)MOOV Atom中。通過(guò)修改這些元數(shù)據(jù),從而使得片 段起始點(diǎn)所對(duì)應(yīng)的媒體文件可以根據(jù)這些元數(shù)據(jù)實(shí)現(xiàn)播放從原始視頻文件中截取的對(duì)應(yīng)片段。
生成對(duì)應(yīng)于該片段起始點(diǎn)tl的媒體數(shù)據(jù)信息的具體方法為,根據(jù)該片段
起始點(diǎn)tl計(jì)算媒體文件播放需要跳過(guò)的采樣偏移量skip—offset:根據(jù)開始播放 時(shí)的采樣編號(hào),對(duì)每個(gè)track計(jì)算出需要跳過(guò)的偏移量,最后取所有track的 偏移量的最小值作為整個(gè)視頻文件需要調(diào)過(guò)的偏移量skip一offset。根據(jù)計(jì)算的 skip—offset從原始碎見(jiàn)頻文件中截取J某體數(shù)據(jù)。
各片段起始點(diǎn)應(yīng)的媒體數(shù)據(jù)信息既可以預(yù)先保存在HTTP服務(wù)器上,也 可以是在HTTP服務(wù)器接收到進(jìn)度信息、確定對(duì)應(yīng)的片段起始點(diǎn)后再實(shí)時(shí)生 成。生成的、或者預(yù)先保存的每個(gè)片段起始點(diǎn)對(duì)應(yīng)的々某體數(shù)據(jù)信息具體可以 是放在一個(gè)MDAT Atom中。
那么,根據(jù)片段起始點(diǎn)對(duì)應(yīng)的媒體數(shù)據(jù)信息和該片段起始點(diǎn)對(duì)應(yīng)的元數(shù)
的MOOV Atom和MD AT Atom組合成一個(gè)新的MP4文件發(fā)送給用戶端。 本發(fā)明實(shí)施例提供的一種支持進(jìn)度拖放功能的在線視頻播放服務(wù)器,如
圖5所示,包括進(jìn)度信息獲得模塊501、片段起始點(diǎn)確定模塊502、媒體文
件確定模塊503、々某體文件發(fā)送模塊504。
進(jìn)度信息獲得模塊501用于獲得用戶端發(fā)送的在線播放視頻的進(jìn)度信息。 片段起始點(diǎn)確定模塊502用于確定所述進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn);
所述片段起始點(diǎn)為預(yù)先設(shè)置在所述在線播放視頻的播放進(jìn)程中的若干個(gè)點(diǎn)。
確定對(duì)應(yīng)片段起始點(diǎn)的具體方法如步驟S402中所述,此處不再贅述。
媒體文件確定模塊503確定預(yù)先存儲(chǔ)的對(duì)應(yīng)于該片段起始點(diǎn)的媒體文件。
預(yù)先存儲(chǔ)的對(duì)應(yīng)于片段起始點(diǎn)的媒體文件生成方法前已詳述,此處不再贅述。 媒體文件發(fā)送模塊504用于將確定的媒體文件發(fā)送給用戶端進(jìn)行視頻播放。
本發(fā)明實(shí)施例提供的一種支持進(jìn)度拖放功能的在線視頻播放服務(wù)器,如 圖6所示,包括進(jìn)度信息獲得模塊601、片段起始點(diǎn)確定模塊602、々某體數(shù)據(jù)信息生成模塊603、媒體文件生成模塊604、媒體文件發(fā)送模塊605、元數(shù) 據(jù)信息存儲(chǔ)模塊607。
進(jìn)度信息獲得模塊601用于獲得用戶端發(fā)送的在線播放視頻的進(jìn)度信息;
片段起始點(diǎn)確定模塊602用于確定所述進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn); 所述片段起始點(diǎn)為預(yù)先設(shè)置在所述在線播放視頻的播放進(jìn)程中的若干個(gè)點(diǎn)。 具體確定方法如前所述。
媒體數(shù)據(jù)信息生成模塊603用于以確定的片段起始點(diǎn)作為新々某體文件的 播放起點(diǎn),在線生成所述新媒體文件的媒體數(shù)據(jù)信息。生成片段起始點(diǎn)所對(duì) 應(yīng)的媒體文件的媒體數(shù)據(jù)信息的方法前面已經(jīng)相信介紹,此處不再贅述。
媒體文件生成模塊604用于將元數(shù)據(jù)信息存儲(chǔ)模塊607存儲(chǔ)的預(yù)先生成 的所述新媒體文件的元數(shù)據(jù)信息與所述媒體數(shù)據(jù)信息組合成所述新媒體文 件。預(yù)先存儲(chǔ)的片段起始點(diǎn)所對(duì)應(yīng)的媒體文件的元數(shù)據(jù)信息生成方法前面已 經(jīng)相信介紹,此處不再贅述。
媒體文件發(fā)送模塊605用于將組合的新媒體文件發(fā)送給用戶端進(jìn)行視頻 播放。
如圖6所示的服務(wù)器還可以包括
元數(shù)據(jù)信息生成模塊606用于生成所述在線播放視頻的播放進(jìn)程中各片 段起始點(diǎn)分別對(duì)應(yīng)的媒體文件的元數(shù)據(jù)信息。元數(shù)據(jù)信息的具體生成方法前 面已經(jīng)相信介紹,此處不再贅述。
本發(fā)明實(shí)施例的服務(wù)器由于在整個(gè)視頻的播放進(jìn)度中設(shè)置若干個(gè)片段起 始點(diǎn),并預(yù)先生成以各片段起始點(diǎn)作為播放起點(diǎn)的各媒體文件,或者媒體文 件的元數(shù)據(jù)信息,從而當(dāng)服務(wù)器接收到用戶發(fā)送的進(jìn)度信息時(shí),可以根據(jù)進(jìn) 度信息確定一個(gè)對(duì)應(yīng)片段起始點(diǎn)的媒體文件發(fā)送給用戶,從而避免在線生成 媒體文件、或者媒體文件的元數(shù)據(jù)信息而花費(fèi)較多時(shí)間和計(jì)算資源,達(dá)到及 時(shí)處理、響應(yīng)用戶發(fā)送的在線播放進(jìn)度信息的目的。
本領(lǐng)域技術(shù)人員可以理解,雖然上述說(shuō)明中,為便于理解,對(duì)方法的步驟采用了順序性描述,但是應(yīng)當(dāng)指出,對(duì)于上述步驟的順序并不作嚴(yán)格限制。 是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀
取存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等。
還可以理解的是,附圖或?qū)嵤├兴镜难b置結(jié)構(gòu)僅僅是示意性的,表 示邏輯結(jié)構(gòu)。其中作為分離部件顯示的模塊可能是或者可能不是物理上分開 的,作為模塊顯示的部件可能是或者可能不是物理模塊。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普 通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn) 飾,這些改進(jìn)和潤(rùn)飾也應(yīng)一見(jiàn)為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種在線播放視頻的發(fā)送方法,其特征在于,包括獲得用戶端發(fā)送的在線播放視頻的進(jìn)度信息;確定所述進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn);所述片段起始點(diǎn)為預(yù)先設(shè)置在所述在線播放視頻的播放進(jìn)程中的若干個(gè)點(diǎn);在線生成新媒體文件的媒體數(shù)據(jù)信息,并將預(yù)先存儲(chǔ)的該新媒體文件的元數(shù)據(jù)信息與所述媒體數(shù)據(jù)信息組合成所述新媒體文件;所述新媒體文件的播放起點(diǎn)為確定的片段起始點(diǎn);將組合的新媒體文件發(fā)送給用戶端。
2、 如權(quán)利要求l所述的方法,其特征在于,所述確定所述進(jìn)度信息所對(duì) 應(yīng)的片段起始點(diǎn),具體為若所述進(jìn)度信息中的播放進(jìn)度時(shí)間點(diǎn)距離在前的某個(gè)片段起始點(diǎn)最近, 則確定該進(jìn)度信息對(duì)應(yīng)于該片段起始點(diǎn);或者若所述進(jìn)度信息中的播放進(jìn)度時(shí)間點(diǎn)距離某個(gè)片段起始點(diǎn)最近,則確定 該進(jìn)度信息對(duì)應(yīng)于該片段起始點(diǎn);或者若所述進(jìn)度信息中的播放進(jìn)度時(shí)間點(diǎn)距離在后的某個(gè)片段起始點(diǎn)最近, 則確定該進(jìn)度信息對(duì)應(yīng)于該片段起始點(diǎn)。
3、 如權(quán)利要求l所述的方法,其特征在于,所述在線播放視頻為動(dòng)態(tài)圖 像專家組MP4格式。
4、 如權(quán)利要求3所述的方法,其特征在于,所述預(yù)先存儲(chǔ)的所述新纟某體 文件的元數(shù)據(jù)信息,具體包括采樣編號(hào)參數(shù)、相關(guān)的播放時(shí)間長(zhǎng)度參數(shù)、 采樣信息相關(guān)參數(shù)。
5、 如權(quán)利要求4所述的方法,其特征在于,所述在線生成所述新媒體文 件的媒體數(shù)據(jù)信息,具體包括根據(jù)確定的片段起始點(diǎn)確定所述新媒體文件播放需要跳過(guò)的采樣偏移量 skip_offset;根據(jù)計(jì)算的skip—offset從所述在線播放視頻的完整視頻文件中截取媒體 數(shù)據(jù)作為所述新媒體文件的媒體數(shù)據(jù)信息。
6、 如權(quán)利要求5所述的方法,其特征在于,所述在線播放視頻為MP4 格式的;所述新媒體文件的元數(shù)據(jù)信息保存于元數(shù)據(jù)存儲(chǔ)單元MOOV Atom 中;生成的新媒體文件的媒體數(shù)據(jù)信息保存于媒體數(shù)據(jù)存儲(chǔ)單元MDATAtom 中;以及所述將預(yù)先存儲(chǔ)的所述新媒體文件的元數(shù)據(jù)信息與所述媒體數(shù)據(jù)信息組 合成所述新媒體文件,具體為將所述MOOV Atom和MDATAtom組合成所述新J 某體文件。
7、 一種在線播放視頻的發(fā)送方法,其特征在于,包括 獲得用戶端發(fā)送的在線播放視頻的進(jìn)度信息;確定所述進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn);所述片段起始點(diǎn)為預(yù)先設(shè)置在 所述在線播放視頻的播放進(jìn)程中的若干個(gè)點(diǎn);將預(yù)先存儲(chǔ)的對(duì)應(yīng)于該片段起始點(diǎn)的媒體文件發(fā)送給用戶端進(jìn)行視頻播放。
8、 一種服務(wù)器,其特征在于,包括進(jìn)度信息獲得模塊,用于獲得用戶端發(fā)送的在線播放視頻的進(jìn)度信息; 片段起始點(diǎn)確定模塊,用于確定所述進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn);所 迷片段起始點(diǎn)為預(yù)先設(shè)置在所述在線播放視頻的播放進(jìn)程中的若干個(gè)點(diǎn);媒體文件確定模塊,用于確定預(yù)先存儲(chǔ)的對(duì)應(yīng)于該片段起始點(diǎn)的媒體文件;媒體文件發(fā)送模塊,用于將確定的媒體文件發(fā)送給用戶端進(jìn)行視頻播放。
9、 一種服務(wù)器,其特征在于,包括進(jìn)度信息獲得模塊,用于獲得用戶端發(fā)送的在線播放視頻的進(jìn)度信息; 片段起始點(diǎn)確定模塊,用于確定所述進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn);所 述片段起始點(diǎn)為預(yù)先設(shè)置在所述在線播放視頻的播放進(jìn)程中的若干個(gè)點(diǎn);媒體數(shù)據(jù)信息生成模塊,用于以確定的片段起始點(diǎn)作為新媒體文件的播放起點(diǎn),在線生成所述新^某體文件的媒體數(shù)據(jù)信息;元數(shù)據(jù)信息存儲(chǔ)模塊,用于存儲(chǔ)預(yù)先生成的所述新媒體文件的元數(shù)據(jù)信息;媒體文件生成模塊,用于將預(yù)先存儲(chǔ)的所述新媒體文件的元數(shù)據(jù)信息與所述媒體數(shù)據(jù)信息組合成所述新媒體文件;媒體文件發(fā)送模塊,用于將組合的新媒體文件發(fā)送給用戶端。
10、如權(quán)利要求9所述的服務(wù)器,其特征在于,還包括 元數(shù)據(jù)信息生成模塊,用于生成所述在線播放視頻的播放進(jìn)程中各片段起始點(diǎn)分別對(duì)應(yīng)的媒體文件的元數(shù)據(jù)信息。
全文摘要
本發(fā)明涉及視頻在線播放領(lǐng)域,尤其涉及實(shí)現(xiàn)支持進(jìn)度拖放功能的視頻在線播放的技術(shù)。一種服務(wù)器及其在線播放視頻的發(fā)送方法,所述方法包括獲得用戶端發(fā)送的在線播放視頻的進(jìn)度信息;確定所述進(jìn)度信息所對(duì)應(yīng)的片段起始點(diǎn);以確定的片段起始點(diǎn)作為新媒體文件的播放起點(diǎn),在線生成所述新媒體文件的媒體數(shù)據(jù)信息;并將預(yù)先存儲(chǔ)的所述新媒體文件的元數(shù)據(jù)信息與所述媒體數(shù)據(jù)信息組合成所述新媒體文件發(fā)送給用戶端。由于在整個(gè)視頻的播放進(jìn)度中設(shè)置若干個(gè)片段起始點(diǎn),并預(yù)先生成以各片段起始點(diǎn)作為播放起點(diǎn)的各媒體文件的元數(shù)據(jù)信息,從而避免在線生成媒體文件的元數(shù)據(jù)信息而花費(fèi)較多時(shí)間和計(jì)算資源,達(dá)到及時(shí)響應(yīng)用戶發(fā)送的在線播放進(jìn)度信息的目的。
文檔編號(hào)H04N5/00GK101415069SQ20081022465
公開日2009年4月22日 申請(qǐng)日期2008年10月22日 優(yōu)先權(quán)日2008年10月22日
發(fā)明者浩 尹, 張煥強(qiáng), 鄒煥英 申請(qǐng)人:清華大學(xué);北京藍(lán)汛通信技術(shù)有限責(zé)任公司