本發(fā)明涉及一種交互式應(yīng)用程序的方法,特別涉及一種在視頻串流中實(shí)現(xiàn)的交互式應(yīng)用程序的方法。
背景技術(shù):
交互式應(yīng)用程序,如游戲,可以是計(jì)算密集的。特別是對(duì)于某些種類的互動(dòng)是應(yīng)用程序,如交互式多媒體應(yīng)用,這種高運(yùn)算負(fù)載的主要組成是需要產(chǎn)生視頻或音頻以響應(yīng)用戶的輸入。此外,負(fù)載會(huì)隨著用戶數(shù)量加成,因?yàn)橄嗤挠跋窈吐曇艨赡苄枰槍?duì)給定應(yīng)用的每個(gè)多個(gè)用戶中分別產(chǎn)生。.
當(dāng)這樣的應(yīng)用程序設(shè)置于服務(wù)器,例如基于云的服務(wù)器,結(jié)果可能需要大量的服務(wù)器,而其取得、更新和維持都是昂貴的。
在托管(hosting)計(jì)算密集的交互式應(yīng)用程序,如游戲,需要較佳的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例將多媒體計(jì)算機(jī)程序轉(zhuǎn)換輸出為一系列的串流視頻剪輯,其可以通過(guò)由網(wǎng)絡(luò)數(shù)據(jù)中心(IDCs)和內(nèi)容發(fā)送網(wǎng)絡(luò)(CDN)組成的視頻串流基礎(chǔ)設(shè)施在全球分發(fā)。
此外,在一些實(shí)施例中,視頻剪輯以元數(shù)據(jù)標(biāo)記方便播放,元數(shù)據(jù)可以包括,例如,標(biāo)識(shí)符和觸發(fā)信息。標(biāo)識(shí)符可以是每個(gè)視頻剪輯的唯一標(biāo)識(shí)符,觸發(fā)信息可以指定標(biāo)識(shí)符下個(gè)播放的剪輯,可能是當(dāng)前用戶輸入或其他條件的函數(shù)。
一般來(lái)說(shuō),本發(fā)明的實(shí)施例包括視頻剪輯產(chǎn)生過(guò)程和交互式播放程序。
在產(chǎn)生過(guò)程中,用戶(或者在一些變形,仿真的,機(jī)器人用戶)與傳統(tǒng)的交互式計(jì)算機(jī)程序互動(dòng)。在響應(yīng)用戶的互動(dòng),計(jì)算機(jī)程序產(chǎn)生原始視頻和音頻數(shù)據(jù),儲(chǔ)存用戶輸入或其他事件觸發(fā)產(chǎn)生的特定視頻和音頻數(shù)據(jù),與觸發(fā)條件相關(guān)的特定視頻和音頻數(shù)據(jù)之后轉(zhuǎn)換為串流視頻剪輯。該剪輯以元數(shù)據(jù)標(biāo)記,包括例如ID、觸發(fā)條件或播放事件,以及長(zhǎng)度。在一些實(shí)施例,該剪輯之后經(jīng)由內(nèi)容發(fā)送網(wǎng)絡(luò)傳送到選定的網(wǎng)絡(luò)數(shù)據(jù)中心以支持一個(gè)或多個(gè)交互式應(yīng)用程序。
在播放過(guò)程中,在某些實(shí)施例,例如支持交互式游戲播放的實(shí)施例,播放第一個(gè)視頻剪輯。在第一視頻剪輯播放結(jié)束時(shí)(或在一些實(shí)施例,在第一視頻剪輯播放期間的任何時(shí)間),參考元數(shù)據(jù)以識(shí)別觸發(fā)條件或?qū)⒂|發(fā)下個(gè)視頻剪輯播放的條件。在偵測(cè)到觸發(fā)條件(例如用戶按下某個(gè)按鈕)時(shí),播放下個(gè)視頻剪輯。以這種方式繼續(xù)播放直到基于最后的觸發(fā)條件播放最后的視頻剪輯。
在一些實(shí)施例中,播放發(fā)生在服務(wù)器中,如基于云的串流服務(wù)器,而內(nèi)容從服務(wù)器串流到用戶。在其他的實(shí)施例,在播放時(shí),內(nèi)容經(jīng)由CDN和IDC串流到用戶。
以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述,但不作為對(duì)本發(fā)明的限定。
附圖說(shuō)明
圖1是根據(jù)本發(fā)明實(shí)施例的分布式主從式計(jì)算機(jī)系統(tǒng)支持交互式實(shí)時(shí)多媒體應(yīng)用程序的方框圖;
圖2是視頻串流基礎(chǔ)設(shè)施包括內(nèi)容發(fā)送網(wǎng)絡(luò)(CDN)和多個(gè)網(wǎng)絡(luò)數(shù)據(jù)中心(IDCs)的方框圖,通過(guò)本發(fā)明的實(shí)施例來(lái)分發(fā)視頻剪輯;
圖3是其根據(jù)本發(fā)明實(shí)施例,描述交互式視頻剪輯產(chǎn)生和播放系統(tǒng)的圖;
圖4是根據(jù)本發(fā)明實(shí)施例的視頻剪輯產(chǎn)生和播放程序的流程圖;
圖5是根據(jù)本發(fā)明實(shí)施例,描述視頻剪輯的圖結(jié)構(gòu)組。
具體實(shí)施方式
本發(fā)明實(shí)施例提供多媒體信息的產(chǎn)生和播放,如用于交互式實(shí)時(shí)媒體應(yīng)用程序的串流視頻剪輯。
圖1是根據(jù)本發(fā)明實(shí)施例,分布式主從式計(jì)算機(jī)系統(tǒng)1000支持交互式實(shí)時(shí)多媒體應(yīng)用程序的方框圖。計(jì)算機(jī)系統(tǒng)1000包括一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)101和一個(gè)或多個(gè)用戶設(shè)備103通過(guò)計(jì)算機(jī)程序產(chǎn)品131配置。計(jì)算機(jī)程序131可以在暫時(shí)性的或非暫時(shí)性的計(jì)算機(jī)可讀取介質(zhì)提供;然而,在特定實(shí)施例中,他是在非暫時(shí)性計(jì)算機(jī)可讀取介質(zhì)中提供,如持續(xù)性的(如,非揮發(fā)性)儲(chǔ)存,揮發(fā)性內(nèi)存(如,隨機(jī)存取內(nèi)存),或各種其他已知的非暫時(shí)性計(jì)算機(jī)可讀取介質(zhì)。
用戶設(shè)備103包括中央處理器單元(CPU)120、內(nèi)存122和儲(chǔ)存空間121.用戶設(shè)備103也包括輸入和輸出(I/O)子系統(tǒng)(圖中未單獨(dú)示出)(包括如顯示器或觸控顯示器、鍵盤、d-pad、軌跡球、觸摸板、操作桿、麥克風(fēng)、和/或其他用戶接口設(shè)備和相關(guān)聯(lián)的控制器電路和/或軟件)。用戶設(shè)備103可以包括任何類型,可以提供媒體內(nèi)容的電子設(shè)備。一些例子包括桌面計(jì)算機(jī)和可攜式電子設(shè)備如移動(dòng)電話、智能型手機(jī)、多媒體播放器、電子閱讀器、平板/觸摸板、筆記本電腦或膝上型PCs、智能電視、智能手表、頭戴式顯示器和其他通訊設(shè)備。
服務(wù)器計(jì)算機(jī)101包括中央處理單元CPU110、儲(chǔ)存空間111和內(nèi)存112(并可包括I/O子系統(tǒng),未單獨(dú)示出)。服務(wù)器計(jì)算機(jī)101可以是能夠托管計(jì)算機(jī)產(chǎn)品131的任何計(jì)算機(jī)設(shè)備,用來(lái)與一個(gè)或多個(gè)客戶端計(jì)算機(jī)通訊,例如,用戶設(shè)備103,通過(guò)網(wǎng)絡(luò),例如網(wǎng)絡(luò)102(如,網(wǎng)絡(luò))。服務(wù)器計(jì)算機(jī)101經(jīng)由網(wǎng)絡(luò)與一個(gè)或多個(gè)客戶端計(jì)算機(jī)通訊,并且可以采用協(xié)議如網(wǎng)絡(luò)協(xié)議組(TCP/IP)、超文本傳送協(xié)議(HTTP)或HTTPS、實(shí)時(shí)協(xié)議,或其他協(xié)議。
內(nèi)存112和122可以包括任何已知的計(jì)算機(jī)內(nèi)存設(shè)備。儲(chǔ)存空間111和121可以包括任何已知的儲(chǔ)存空間設(shè)備。
盡管未示出,內(nèi)存112和122和/或儲(chǔ)存空間111和121也可以包括任何可通過(guò)服務(wù)器計(jì)算機(jī)101和用戶設(shè)備103存取的數(shù)據(jù)儲(chǔ)存設(shè)備,諸如,可移動(dòng)或可攜式的任何內(nèi)存(如,閃存或外接硬盤),或任何由第三方托管的數(shù)據(jù)儲(chǔ)存空間(如云端儲(chǔ)存空間),并且不限于此。
用戶設(shè)備103和服務(wù)器計(jì)算機(jī)101經(jīng)由網(wǎng)絡(luò)102存取和通訊。網(wǎng)絡(luò)102包括有線和無(wú)線連接,包括廣域網(wǎng)(WANs)和蜂巢式網(wǎng)絡(luò)或任何其他類型作為設(shè)備間通訊使用的計(jì)算機(jī)網(wǎng)絡(luò)。
在所示實(shí)施例中,計(jì)算機(jī)程序產(chǎn)品131實(shí)際上代表計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)程序產(chǎn)品部分組成,用來(lái)在個(gè)別的服務(wù)器101和用戶設(shè)備103上執(zhí)行。計(jì)算機(jī)程序產(chǎn)品131的部分裝入內(nèi)存112組成服務(wù)器101,遵照本文進(jìn)一步描述的發(fā)明要求,記錄并播放交互式串流視頻剪輯。串流視頻剪輯播放到,例如,用戶設(shè)備103,其支持接收串流視頻,例如經(jīng)由具有HTML5功能的瀏覽器。
圖2顯示視頻串流基礎(chǔ)設(shè)施的一個(gè)例子,通過(guò)本發(fā)明的實(shí)施例使用以分發(fā)視頻剪輯。如圖所示,視頻串流基礎(chǔ)設(shè)施2000包括內(nèi)容發(fā)送網(wǎng)絡(luò)(CDN)200和網(wǎng)絡(luò)數(shù)據(jù)中心(IDCs)210-260。
媒體文件201最初儲(chǔ)存在文件儲(chǔ)存空間202,媒體文件201之后經(jīng)由CDN200分發(fā)到IDCs 210-260。在文件分發(fā)后,每個(gè)個(gè)別的IDC具有分發(fā)媒體文件的本地副本。個(gè)別的本地副本之后儲(chǔ)存為媒體文件副本211-261。每個(gè)IDC 210-260之后服務(wù)串流媒體,如視頻,到個(gè)別IDC地理鄰近區(qū)域的用戶,以響應(yīng)用戶的請(qǐng)求。媒體文件副本211-261可以周期性的更新。
在本發(fā)明的一些實(shí)施例,使用視頻串流基礎(chǔ)設(shè)施2000分發(fā)由本文公開的發(fā)明過(guò)程產(chǎn)生的視頻剪輯。也就是說(shuō),例如,本發(fā)明的視頻剪輯作為媒體文件201儲(chǔ)存在文件儲(chǔ)存空間202,之后經(jīng)由CDN 200分發(fā)到IDCs 210-260,在那里他們可以用于作為串流視頻播放給用戶。
在其他實(shí)施例,本發(fā)明視頻剪輯直接從,例如,一個(gè)或多個(gè)服務(wù)器,如基于云的服務(wù)器分發(fā),而不使用視頻串流基礎(chǔ)設(shè)施2000。
圖3是一個(gè)系統(tǒng)3000的高階方框圖,其用來(lái)產(chǎn)生和儲(chǔ)存用元數(shù)據(jù)標(biāo)記的交互式視頻剪輯,并用來(lái)分發(fā)交互式視頻到用戶設(shè)備,根據(jù)本發(fā)明的實(shí)施例。系統(tǒng)3000可以被實(shí)現(xiàn)為硬件模塊或軟件模塊,或硬件和軟件模塊的組合。在部分實(shí)施例,系統(tǒng)3000的至少一部分包括在服務(wù)器運(yùn)行的軟件,如服務(wù)器101。
在所示的實(shí)施例中,除了產(chǎn)生和儲(chǔ)存以元數(shù)據(jù)標(biāo)記的交互式視頻剪輯,系統(tǒng)3000執(zhí)行附加的相關(guān)功能。例如,在該實(shí)施例系統(tǒng)3000還能夠回放預(yù)先儲(chǔ)存的視頻剪輯,并且能夠響應(yīng)用戶的互動(dòng)傳輸串流視頻給用戶,而不需要將視頻首次儲(chǔ)存如視頻剪輯。在替代實(shí)施例中,這些一個(gè)或多個(gè)功能可以通過(guò)單獨(dú)或多個(gè)系統(tǒng)提供。
在圖3,計(jì)算機(jī)程序310可以是,例如,交互式多媒體應(yīng)用程序。例如,計(jì)算機(jī)程序310可以是游戲應(yīng)用程序。計(jì)算機(jī)程序310產(chǎn)生輸出程序320響應(yīng)輸入程序330。
在一些實(shí)施例,輸出程序320包括原始視頻和音頻輸出,在一些實(shí)施例,輸出程序320包括視頻渲染結(jié)果。
在一些實(shí)施例,輸入程序330包括基于用戶輸入互動(dòng)指示的控制信息,如用戶按下按鈕,選擇列表上的項(xiàng)目或鍵入命令。這樣的用戶輸入互動(dòng)可以源自輸入接口設(shè)備350,輸入接口設(shè)備可以是與用戶設(shè)備相關(guān)的接口設(shè)備,如用戶設(shè)備103。特定用戶設(shè)備相關(guān)的接口設(shè)備可以包括操作桿、鼠標(biāo)、觸控屏幕等。在一些實(shí)施例,輸入接口設(shè)備350可以與遠(yuǎn)程用戶設(shè)備103并列,并與其他系統(tǒng)的組件經(jīng)由網(wǎng)絡(luò)通訊。雖然標(biāo)記為「接口設(shè)備」,但是本領(lǐng)域技術(shù)人員將了解輸入設(shè)備/組件如接口設(shè)備350可以,在特定實(shí)施例中,包括輸入組件被建置于,即,部分的,用戶設(shè)備103中(例如觸控屏幕、按鈕等),而不是從用戶設(shè)備103分離并插入用戶設(shè)備103中。
在一些實(shí)施例中,輸入接口設(shè)備350是「機(jī)器人」實(shí)體,產(chǎn)生一連串仿真真實(shí)使用者行為的輸入序列。這樣的機(jī)器人實(shí)體可以用來(lái)「訓(xùn)練」系統(tǒng),并且使其產(chǎn)生許多(或甚至全部)輸出程序320可能的情況。以這種方式「訓(xùn)練」系統(tǒng)3000的目的可以是,例如,使其產(chǎn)生并儲(chǔ)存每個(gè)與輸出程序320相關(guān)視頻剪輯的至少一個(gè)副本。
應(yīng)用程序互動(dòng)容器340提供運(yùn)行環(huán)境運(yùn)行計(jì)算機(jī)程序310。在本發(fā)明的實(shí)施例中,應(yīng)用程序互動(dòng)容器340偵測(cè)并截取通過(guò)輸入接口設(shè)備350產(chǎn)生的用戶輸入,并以輸入程序330的形式,傳遞攔截的用戶輸入到計(jì)算機(jī)程序310。
應(yīng)用程序互動(dòng)容器340還截取原始視頻和音頻產(chǎn)生為輸出程序320,并且利用計(jì)算機(jī)程序視頻處理平臺(tái)360的服務(wù)將原始視頻和音頻轉(zhuǎn)換串流視頻格式,然后將轉(zhuǎn)換的視頻和音頻作為一個(gè)或多個(gè)視頻片段或剪輯370儲(chǔ)存在數(shù)據(jù)庫(kù)390。每個(gè)剪輯代表響應(yīng)特定觸發(fā)條件的音頻和視頻輸出程序(或播放事件),其中一組可能的觸發(fā)條件包括,例如,輸入程序330的特定項(xiàng)目。在一些實(shí)施例,原始視頻和音頻轉(zhuǎn)換為多媒體封裝格式,在一些實(shí)施例,原始視頻和音頻被轉(zhuǎn)換為稱為MPEG2-傳輸串流(MPEG2-TS)的格式。
隨著視頻剪輯370的產(chǎn)生,他們也以一組屬性380標(biāo)記(這里也稱作「元數(shù)據(jù)」),組成,例如,剪輯ID、播放事件和長(zhǎng)度。元數(shù)據(jù)380中的屬性與相關(guān)聯(lián)的對(duì)應(yīng)的視頻剪輯370儲(chǔ)存于數(shù)據(jù)庫(kù)390。儲(chǔ)存的剪輯370可以用于將來(lái)的播放,儲(chǔ)存的、標(biāo)記視頻剪輯370可以由相同或不同的用戶再次使用。潛在地,給定的剪輯370可以通過(guò)數(shù)千個(gè)用戶以計(jì)算機(jī)程序310在共享服務(wù)器或服務(wù)器組上互動(dòng)而被再次使用。
例如,下一次出現(xiàn)給定的播放事件(基于,例如,來(lái)自特定用戶輸入的偵測(cè),從相同用戶或不同用戶),可以播放以該事件標(biāo)記的儲(chǔ)存的視頻剪輯370,從而避免需要重新產(chǎn)生對(duì)應(yīng)的原始視頻和音頻。對(duì)于一些應(yīng)用程序,這可以導(dǎo)致計(jì)算機(jī)處理能力的顯著節(jié)省。見下面的播放過(guò)程說(shuō)明,以得到進(jìn)一步的細(xì)節(jié)。
如上所述,在所示實(shí)施例中,系統(tǒng)3000也可以回放預(yù)先儲(chǔ)存的視頻剪輯。例如,基于用戶經(jīng)由輸入接口設(shè)備350的互動(dòng),使輸入程序330、計(jì)算機(jī)程序310可以確定特定具有對(duì)應(yīng)到用戶互動(dòng)的元數(shù)據(jù)380的預(yù)先儲(chǔ)存剪輯370,其是有效的并且適合響應(yīng)用戶的互動(dòng)。然后匹配的剪輯370可以從儲(chǔ)存空間和串流中擷取,例如,根據(jù)多媒體封存格式,如MPEG2-TS,到用戶設(shè)備103。
如上所述,在所示實(shí)施例中,系統(tǒng)3000也可以串流視頻給用戶以響應(yīng)用戶互動(dòng),即使視頻當(dāng)前未被儲(chǔ)存為串流視頻剪輯370,例如,基于用戶經(jīng)由輸入接口設(shè)備350互動(dòng)使輸入程序330、計(jì)算機(jī)程序310可以確定特定視頻輸出是適合響應(yīng)用戶互動(dòng),但沒(méi)有對(duì)應(yīng)的剪輯370可以使用。所需的視頻可以之后通過(guò)計(jì)算機(jī)程序310產(chǎn)出作為原始輸出視頻320。應(yīng)用程序互動(dòng)容器340之后截取輸出程序320并且,利用計(jì)算機(jī)程序視頻處理平臺(tái)360的服務(wù),將原始視頻轉(zhuǎn)換為流格式,根據(jù),例如,多媒體封裝格式,如MPEG2-TS,并將串流視頻發(fā)送給用戶設(shè)備103。有利地,串流視頻可以同時(shí)被記錄、封裝為視頻剪輯370,并與適當(dāng)?shù)脑獢?shù)據(jù)380儲(chǔ)存以作為將來(lái)使用。
圖4顯示產(chǎn)出、儲(chǔ)存和播放互動(dòng)視頻剪輯及相關(guān)的元數(shù)據(jù)的過(guò)程4000,根據(jù)本發(fā)明的實(shí)施例。在一些實(shí)施例,過(guò)程4000也支持其他相關(guān)的功能,如,例如,在沒(méi)有首次儲(chǔ)存視頻作為視頻剪輯下,串流視頻給用戶。
在步驟410,計(jì)算機(jī)程序在服務(wù)器,如服務(wù)器101啟動(dòng)。服務(wù)器可以是,例如,基于云的服務(wù)器。服務(wù)器可以是,例如,游戲服務(wù)器。計(jì)算機(jī)程序可以是,例如,交互式多媒體應(yīng)用程序,如,例如,游戲應(yīng)用程序。
在步驟420,該過(guò)程監(jiān)控用戶輸入。
在決策框430,如果沒(méi)有偵測(cè)到用戶輸入,過(guò)程返回到步驟420并繼續(xù)監(jiān)控用戶輸入。若偵測(cè)到用戶輸入,則控制移轉(zhuǎn)到?jīng)Q策框440。
在決策框440,若具有匹配元數(shù)據(jù)的預(yù)先儲(chǔ)存視頻剪輯存在(即,元數(shù)據(jù)對(duì)應(yīng)用戶輸入),控制移轉(zhuǎn)到步驟450,預(yù)先儲(chǔ)存視頻剪輯串流到用戶。然后控制返回到步驟420,并且該過(guò)程繼續(xù)監(jiān)控用戶輸入。
如果,在決策框440,沒(méi)有發(fā)現(xiàn)具匹配元數(shù)據(jù)的預(yù)先儲(chǔ)存剪輯,控制移轉(zhuǎn)到步驟460。在步驟460,來(lái)自輸出程序響應(yīng)用戶輸入的視頻片段串流到用戶。同時(shí),視頻片段被記錄用來(lái)作為對(duì)應(yīng)視頻剪輯的創(chuàng)建準(zhǔn)備。在步驟470,記錄的視頻以串流形式被封裝到視頻剪輯。例如,流格式可以是多媒體封裝格式如MPEG2-TS。
在步驟480,產(chǎn)生與視頻剪輯相關(guān)的元數(shù)據(jù)(例如,剪輯ID,播放事件或觸發(fā)、長(zhǎng)度)。
在步驟490,視頻剪輯和相關(guān)的元數(shù)據(jù)儲(chǔ)存作為將來(lái)使用,例如,當(dāng)遇到與對(duì)應(yīng)剪輯儲(chǔ)存元數(shù)據(jù)的啟動(dòng)裝置時(shí),視頻剪輯可以通過(guò)播放程序在將來(lái)使用。通過(guò)使用儲(chǔ)存的視頻剪輯,播放程序可以避免計(jì)算機(jī)程序需要重新產(chǎn)生對(duì)應(yīng)儲(chǔ)存視頻剪輯的視頻片段。
視頻片段可以繼續(xù)被記錄,封裝到流格式的片段中,并與相關(guān)的元數(shù)據(jù)儲(chǔ)存直到,例如,游戲結(jié)束。
注意,程序4000在服務(wù)器運(yùn)行的情況下,例如基于云的服務(wù)器,其實(shí)際上可以同時(shí)處理多個(gè)用戶,可能許多用戶。在這樣的情況下,完全可能的是,給定的視頻片段已經(jīng)被記錄、封裝并儲(chǔ)存為視頻剪輯370,與對(duì)應(yīng)的元數(shù)據(jù)380在先前用戶與程序4000的交互過(guò)程中。在這種情況下,不應(yīng)該需要再次記錄對(duì)應(yīng)的片段,相反地,視頻剪輯可以從先前儲(chǔ)存的剪輯系列中擷取,基于元數(shù)據(jù),其可以包括唯一的ID。
圖5顯示視頻剪輯和相關(guān)元數(shù)據(jù)的圖形結(jié)構(gòu)化例子組5000,根據(jù)本發(fā)明實(shí)施例使用在播放程序。這些剪輯可以是,例如,從圖3的系統(tǒng)3000和/或通過(guò)圖4的程序4000產(chǎn)生的視頻剪輯370和相關(guān)的元數(shù)據(jù)380。在播放程序,視頻剪輯370從服務(wù)器串流,如服務(wù)器計(jì)算機(jī)101或與網(wǎng)絡(luò)數(shù)據(jù)中心相關(guān)的服務(wù)器,如IDC210。視頻剪輯370在用戶設(shè)備接收并觀看,如用戶設(shè)備103,其具有適當(dāng)?shù)墓δ?,如支持HTML5的瀏覽器。
每個(gè)交互式多媒體應(yīng)用程序或應(yīng)用程序的部分,可能與相似于視頻剪輯組5000形式的播放視頻剪輯組相關(guān),也稱作元數(shù)據(jù)播放列表,例如,多級(jí)別游戲的每個(gè)級(jí)別可以有他自己的元數(shù)據(jù)播放列表。如上所述,關(guān)于每個(gè)視頻剪輯370的元數(shù)據(jù)被學(xué)習(xí)作為響應(yīng)真實(shí)或「機(jī)器人」用戶輸入的執(zhí)行應(yīng)用程序,因此,同時(shí),元數(shù)據(jù)播放列表也學(xué)習(xí),這是因?yàn)樵獢?shù)據(jù)播放列表是視頻剪輯370的集合,根據(jù)元數(shù)據(jù)380連接,針對(duì)特定的應(yīng)用程序或應(yīng)用程序的部分。
在圖5的例子中,視頻剪輯由圓圈表示,每個(gè)具有一個(gè)ID。例如,視頻剪輯510以ID=A標(biāo)記。箭頭表示「播放事件」或觸發(fā)條件使播放程序5000依箭頭方向前進(jìn),例如,若視頻剪輯520正在播放而按鈕X被按下,視頻剪輯520的播放停止而視頻剪輯530開始。若,另一方面,當(dāng)視頻剪輯520正在播放,用戶選擇「項(xiàng)目2」,程序轉(zhuǎn)而改變到視頻剪輯540。若視頻剪輯530正在播放而按鈕Y被按下,程序轉(zhuǎn)換并播放視頻剪輯550。若視頻剪輯540正在播放而用戶滑動(dòng)到「目標(biāo)Z」,則程序轉(zhuǎn)換并播放視頻剪輯560。若視頻剪輯560或550任一個(gè)正在播放而從麥克風(fēng)(「MIC」)接收到音頻命令「提交」,程序轉(zhuǎn)換并開始播放視頻剪輯570。說(shuō)明稍微不同種類的觸發(fā),當(dāng)視頻剪輯510完成播放時(shí),程序自動(dòng)前進(jìn)到標(biāo)記A’的視頻剪輯,即視頻剪輯520。
可選地,可以采用快取機(jī)制幫助視頻剪輯的平滑播放。
在本發(fā)明的部分實(shí)施例,從服務(wù)器傳送到用戶設(shè)備的視頻,是混合預(yù)先計(jì)算的視頻(儲(chǔ)存和再次播放的視頻剪輯)和實(shí)時(shí)產(chǎn)生的視頻串流(尚未儲(chǔ)存為具有元數(shù)據(jù)的視頻剪輯的視頻)。
在上面的描述中,參考串流多媒體封裝格式,如MPEG2-TS。應(yīng)當(dāng)理解,本發(fā)明的實(shí)施例不限于MPEG2-TS,而是可以采用各種各樣串流封裝格式的任何一種,包含但不限于3GP、ASF、AVI、DVR-MS、Flash Video(FLV,F4V)、IFF、Matroska(MKV)、MJ2、QuickTime文件格式、MPEG節(jié)目串流、MP4、Ogg和RM(RealMedia封裝)。實(shí)施例在沒(méi)有標(biāo)準(zhǔn)化封裝格式下的運(yùn)作也是被預(yù)期的。
盡管上面已經(jīng)描述了一些示例性實(shí)施例,但本技術(shù)領(lǐng)域人員將了解,在不脫離本發(fā)明的精神和范圍的情況下,許多修改和變化是可能的。因此,所有這些修改和變化是預(yù)期包含在發(fā)明請(qǐng)求的范圍內(nèi)。