技術(shù)領(lǐng)域
本發(fā)明主要與計(jì)算機(jī)網(wǎng)絡(luò)有關(guān),尤其是用于為內(nèi)容分發(fā)網(wǎng)絡(luò)提供各種采集和分發(fā)方式支持的系統(tǒng)和方法。
背景
互聯(lián)網(wǎng)協(xié)議(IP)路由原本是專為主機(jī)對(duì)主機(jī)通訊而設(shè)計(jì)的。但是,時(shí)至今日,大部分的互聯(lián)網(wǎng)流量都是用于內(nèi)容傳播?;趯?duì)視頻流等內(nèi)容的需求的不斷上升,使現(xiàn)有的互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的使用日漸艱難,尤其是講求時(shí)效性和帶寬密集型流量的內(nèi)容,例如音頻流和視頻媒體內(nèi)容。
在一個(gè)互聯(lián)網(wǎng)內(nèi)容分發(fā)網(wǎng)絡(luò)中,已攝取媒體內(nèi)容可能會(huì)針對(duì)不同的音頻編碼及視頻編碼和不同類型的媒體客戶端(例如計(jì)算機(jī)、電視機(jī)和移動(dòng)手持設(shè)備)而分為不同的文件格式。一般情況下,這些類型不同的媒體客戶端對(duì)媒體文件格式、編碼和比特率等有著不同的要求。例如,高清電視系統(tǒng)和手機(jī)相比,前者對(duì)圖像分辨率、媒體文件大小和比特率等方面的要求都高得多。一般而言,不同的分發(fā)方式需要有不同的內(nèi)容副本,原始服務(wù)器上會(huì)存有多份內(nèi)容副本,這些副本又會(huì)緩存在內(nèi)容分發(fā)系統(tǒng)的邊緣服務(wù)器上。
但是,多份媒體文件的存在會(huì)使網(wǎng)絡(luò)流量提高和系統(tǒng)性能降低。例如,在存在多份媒體文件的情況下,緩存失效率會(huì)提高,使得指定大小的 緩存只能夠儲(chǔ)存較少的視頻。站在用戶的角度,這會(huì)導(dǎo)致流媒體間歇性中斷。
這就需要有一套能夠改善流視頻內(nèi)容分發(fā)的系統(tǒng)和方法。
技術(shù)實(shí)現(xiàn)要素:
按照實(shí)施例,計(jì)算機(jī)服務(wù)器的操作方法應(yīng)包括流媒體數(shù)據(jù)接收。流媒體數(shù)據(jù)包含內(nèi)容片斷和媒體說(shuō)明文件,而媒體說(shuō)明文件包含元數(shù)據(jù),用于描述內(nèi)容片斷。方法還包括將內(nèi)容片斷儲(chǔ)存在緩存中。
根據(jù)進(jìn)一步的實(shí)施例,計(jì)算機(jī)服務(wù)器操作方法包括接收源媒體內(nèi)容和處理源媒體內(nèi)容,以產(chǎn)生內(nèi)容片斷和用于描述內(nèi)容片斷的媒體說(shuō)明文件。內(nèi)容片斷和媒體說(shuō)明文件采用統(tǒng)一的格式。
根據(jù)進(jìn)一步的實(shí)施例,服務(wù)器系統(tǒng)包含輸入端口、緩存和處理器。處理器從輸入端口接收流媒體數(shù)據(jù),其中流媒體數(shù)據(jù)包含內(nèi)容片斷和媒體說(shuō)明文件,而媒體說(shuō)明文件包含用于描述內(nèi)容片斷的元數(shù)據(jù)。處理器還會(huì)將內(nèi)容片斷存儲(chǔ)在緩存中,將緩存中的多個(gè)內(nèi)容片斷結(jié)合起來(lái),生成符合特定配置的流媒體內(nèi)容,并將符合特定配置的流媒體內(nèi)容傳輸?shù)矫襟w客戶端。
下文將大致列出本發(fā)明的部分實(shí)施例,以便使以下發(fā)明的詳細(xì)說(shuō)明更易懂。后文將說(shuō)明本發(fā)明實(shí)施例的額外功能和優(yōu)勢(shì),本發(fā)明的專利申請(qǐng)主題便是由它們組成。本技術(shù)領(lǐng)域的人員應(yīng)深知,本文所透露的概念和指定實(shí)施例可被用作為修改或設(shè)計(jì)與本發(fā)明擁有相同目的的其他結(jié)構(gòu)或流程的基礎(chǔ)。上述技術(shù)人員還應(yīng)認(rèn)識(shí)到,這些等效結(jié)構(gòu)并不違背追加申請(qǐng)中闡述的發(fā)明的精神和范疇。
附圖說(shuō)明
為提供更完整的實(shí)施例見(jiàn)解及其優(yōu)勢(shì)說(shuō)明,現(xiàn)為以下說(shuō)明提供參考信息,請(qǐng)參閱與其相對(duì)應(yīng)的附圖,其中:
圖1演示了實(shí)施例內(nèi)容分發(fā)系統(tǒng);
圖2演示了在實(shí)施例媒體攝取階段的實(shí)施例媒體預(yù)處理流;
圖3演示了實(shí)施例視頻格式;
圖4演示了實(shí)施例音頻格式;
圖5演示了實(shí)施例媒體說(shuō)明模板;
圖6演示了實(shí)施例媒體數(shù)據(jù)存儲(chǔ)方式;
圖7演示了實(shí)施例視頻片段格式;
圖8演示了實(shí)施例音頻片段格式;
圖9演示了實(shí)施例邊緣服務(wù)器媒體存儲(chǔ)方式;
圖10演示了實(shí)施例文件容器格式;以及
圖11演示了在實(shí)施例中安裝一個(gè)文件的示例。
實(shí)施例的詳細(xì)說(shuō)明
下文將詳細(xì)討論多種實(shí)施例的制備和使用。但這應(yīng)理解為,本發(fā)明提供許多適用的發(fā)明概念都能夠在各種各樣的指定場(chǎng)合中實(shí)施。所討論的指定實(shí)施例只是演示本發(fā)明的指定利用和使用方法,而不是限制本發(fā)明的使用范圍。
本文將根據(jù)本發(fā)明在為內(nèi)容分發(fā)網(wǎng)絡(luò)提供各種攝取和交付方式支持的指定場(chǎng)合、系統(tǒng)和方法中的實(shí)施例而描述本發(fā)明。本發(fā)明的實(shí)施例可能還適用于其他類型的通訊系統(tǒng)和網(wǎng)絡(luò)。
在一個(gè)實(shí)例中,為內(nèi)容分發(fā)網(wǎng)絡(luò)提供各種采集和分發(fā)方式支持的系統(tǒng)和方法可分為三個(gè)階段:媒體攝取階段、緩存階段,即媒體從原始服務(wù)器分發(fā)到邊緣服務(wù)器以進(jìn)行緩存,和媒體輸出階段。在媒體輸出階段,實(shí)況視頻源流或文件會(huì)被編碼、轉(zhuǎn)碼或重新編碼成一個(gè)視頻編碼格式,例如H.264/AVC,音頻流或文件會(huì)被編碼、轉(zhuǎn)碼或重新編碼成一個(gè)音頻編碼格式,如AAC。為應(yīng)對(duì)可用網(wǎng)絡(luò)帶寬、終端能力和用戶偏好等變化,在媒體攝取階段,準(zhǔn)備好多種可替換媒體,例如變換視頻內(nèi)容的比特率、分辨率、幀速率和語(yǔ)言,)以獲得媒體適應(yīng)性。另外,為了在邊緣服務(wù)器有效地緩存和根據(jù)需要進(jìn)行轉(zhuǎn)碼,會(huì)使用同步的方式,將音頻和視頻流分成多個(gè)片斷。在第二階段,會(huì)采用拉動(dòng)或推送模式,將媒體從原始服務(wù)器分發(fā)至邊緣服務(wù)器。不管采用哪個(gè)模式,媒體內(nèi)容都會(huì)以塊為單位進(jìn)行傳送,其 中每一個(gè)塊都是由一個(gè)或多個(gè)片斷組成的。在一個(gè)實(shí)施例中,媒體會(huì)以片斷或片斷塊的形式存儲(chǔ)在邊緣服務(wù)器上。在媒體輸出階段,支持各種不同的分發(fā)方式,例如文件下載、漸進(jìn)式下載、HTTP流和RTP/RTSP流。
圖1演示了一個(gè)根據(jù)本發(fā)明的一個(gè)實(shí)施例制定的內(nèi)容分發(fā)系統(tǒng)。邏輯上,系統(tǒng)含有媒體攝取階段102、媒體緩存階段104和媒體輸出階段106。物理上,系統(tǒng)包含原始服務(wù)器108和邊緣服務(wù)器110。在實(shí)施例中,原始服務(wù)器108和邊緣服務(wù)器110位于網(wǎng)絡(luò)的不同部分?;蛘撸?wù)器108和110可位于相同位置。在一個(gè)實(shí)施例中,一臺(tái)或多臺(tái)服務(wù)器108可與一臺(tái)或多臺(tái)邊緣服務(wù)器110進(jìn)行通訊。
在一個(gè)實(shí)施例中,原始服務(wù)器108會(huì)接收媒體源,例如,以媒體文件和/或?qū)崟r(shí)內(nèi)容的形式并執(zhí)行媒體預(yù)處理112以生成經(jīng)過(guò)預(yù)處理的媒體數(shù)據(jù)和說(shuō)明數(shù)據(jù)。經(jīng)過(guò)預(yù)處理的媒體會(huì)以媒體數(shù)據(jù)加上一份說(shuō)明的形式存儲(chǔ)在內(nèi)存114中,它可以是硬盤(pán),也可以是其他存儲(chǔ)設(shè)備。在一個(gè)實(shí)施例中,媒體預(yù)處理是由處理器116負(fù)責(zé)的一項(xiàng)功能。原始服務(wù)器108通過(guò)網(wǎng)絡(luò)連接118將經(jīng)預(yù)處理的媒體數(shù)據(jù)和說(shuō)明傳輸?shù)竭吘壏?wù)器110。網(wǎng)絡(luò)連接118可以是直接連接,也可以是相關(guān)技術(shù)中任何已知類型的網(wǎng)絡(luò)連接,包括但不限于有線或無(wú)線連接、以太網(wǎng)、互聯(lián)網(wǎng)I/P連接或其他類型的寬帶連接。
邊緣服務(wù)器110會(huì)從原始服務(wù)器108接收經(jīng)預(yù)處理的媒體數(shù)據(jù)并使用緩存功能120將數(shù)據(jù)存儲(chǔ)在緩存122中。在需要時(shí),流功能126會(huì)使用轉(zhuǎn)碼功能128創(chuàng)建流數(shù)據(jù),這會(huì)將經(jīng)預(yù)處理的媒體數(shù)據(jù)轉(zhuǎn)碼成媒體客戶端目標(biāo)格式。在一個(gè)實(shí)施例中,流和按需要轉(zhuǎn)碼功能都是由處理器124執(zhí)行的。
在一個(gè)實(shí)施例中,為提高系統(tǒng)管理和適應(yīng)效率,在媒體緩存階段104中會(huì)采用統(tǒng)一的媒體格式。統(tǒng)一的媒體格式包含統(tǒng)一的視頻格式、統(tǒng)一的音頻格式和統(tǒng)一的文件容器格式。例如,在一個(gè)實(shí)施例中,采用了H.264(視頻)和高級(jí)音頻編碼(AAC)作為統(tǒng)一的媒體格式。在另一個(gè)實(shí)施例中,可以采用其他格式,例如MPEG-2視頻和AAC。在媒體攝取階段102,視頻流會(huì)被編碼、重新編碼或轉(zhuǎn)碼成統(tǒng)一的視頻格式,例如H.264 格式,音頻流會(huì)被編碼、重新編碼或轉(zhuǎn)碼成統(tǒng)一的音頻格式,例如AAC格式,文件容器格式會(huì)被編碼成統(tǒng)一的文件容器格式。在一個(gè)實(shí)施例中,統(tǒng)一的文件容器格式參照了ISO基媒體文件格式。在其他實(shí)施例中,可采用其他文件格式。
在一個(gè)實(shí)施例中,為應(yīng)對(duì)可用的網(wǎng)絡(luò)帶寬、終端能力和用戶偏好等變化,在媒體攝取階段102,準(zhǔn)備好多種沒(méi)可替換媒體,例如變換視頻內(nèi)容的比特率、分辨率、幀速率和語(yǔ)言等以獲得媒體適應(yīng)性。
圖2演示了在實(shí)施例媒體攝取階段的實(shí)施例媒體預(yù)處理流200;內(nèi)容分割塊202會(huì)接收媒體文件或?qū)崟r(shí)內(nèi)容,然后將內(nèi)容分割成視頻內(nèi)容和音頻內(nèi)容。視頻內(nèi)容首先會(huì)被分成片斷204,然后在需要時(shí)進(jìn)行轉(zhuǎn)碼206,而音頻數(shù)據(jù)首先會(huì)在需要時(shí)被轉(zhuǎn)碼208,然后被分成片斷210。容器管理塊212負(fù)責(zé)處理視頻和音頻數(shù)據(jù)的分段和可能發(fā)生的轉(zhuǎn)碼然后存儲(chǔ)在內(nèi)存216中,它可以是硬盤(pán),也可以是其他存儲(chǔ)設(shè)備。媒體說(shuō)明生成塊214會(huì)生成音頻和視頻片斷媒體說(shuō)明,它也會(huì)被存儲(chǔ)在內(nèi)存216中。在其他實(shí)施例中,分切片斷和轉(zhuǎn)碼的順序可能會(huì)與圖2所演示的不同。
在一個(gè)實(shí)施例中,音頻和視頻流會(huì)以同步的方式分切片斷(例如按照基于ISO的媒體文件格式中所指定,存儲(chǔ)為電影片斷)。在一個(gè)實(shí)施例中,每個(gè)視頻片斷都有一個(gè)固定的持續(xù)時(shí)間(例如2000毫秒)但含有剩余視頻幀的最后一個(gè)片段卻不在此例,它的持續(xù)時(shí)間和/或視頻幀數(shù)可能會(huì)有所不同?;蛘?,可采用其他固定或非固定的持續(xù)時(shí)間。每個(gè)視頻片斷都含有一個(gè)整數(shù)的圖片組(GOP),例如,一個(gè)GOP。在一個(gè)實(shí)施例中,每個(gè)GOP都是閉合GOP,表示GOP的第一個(gè)視頻幀是一個(gè)隨機(jī)接入點(diǎn)和固定長(zhǎng)度GOP,可能是持續(xù)時(shí)間,也可能是視頻幀數(shù),或者是兩者。
在一個(gè)實(shí)施例中,會(huì)盡可能接近地對(duì)齊音頻片斷和視頻片斷的時(shí)間。在某些實(shí)施例中,每個(gè)音頻片斷都有一個(gè)整數(shù)的已編碼音頻樣本數(shù)。根據(jù)音頻采樣率,音頻片斷和與其對(duì)應(yīng)的視頻片段的持續(xù)時(shí)間可能不是完全相同的。在某些實(shí)施例中,執(zhí)行分切片斷流程204和210的目的是讓音頻片斷的持續(xù)時(shí)間盡可能地與視頻片斷的持續(xù)時(shí)間接近。
在一個(gè)實(shí)施例中,可通過(guò)以下方法,對(duì)齊音頻片斷和視頻片斷。假設(shè) Dvi代表視頻片斷i的持續(xù)時(shí)間,Dai(n)代表包含n個(gè)樣本的音頻片斷i的持續(xù)時(shí)間,Dai(n-1)代表包含n-1個(gè)樣本的音頻片斷i的持續(xù)時(shí)間,Dai(n+1)代表包含n+1個(gè)樣本的音頻片斷i的持續(xù)時(shí)間。那么,當(dāng)滿足以下兩個(gè)條件時(shí),音頻片斷i中包含的音頻樣本將等于n:
|Dvi-Dai(n)|<|Dvi-Dai(n-1)|, (1)
|Dvi-Dai(n)|<|Dvi-Dai(n+1)|. (2)
在原始服務(wù)器上,為支持有效的文件管理和存儲(chǔ),在一個(gè)實(shí)施例中,屬于相同內(nèi)容替換的所有片斷都被根據(jù)基于ISO的媒體文件格式,存儲(chǔ)在文件的一個(gè)曲目中。對(duì)于每個(gè)品質(zhì)級(jí)別的視頻流,圖3中描述了實(shí)施例視頻格式300。視頻格式300含有文件類型標(biāo)題302、媒體元數(shù)據(jù)304、一個(gè)或多個(gè)視頻片斷310和電影片斷隨機(jī)訪問(wèn)塊320。媒體元數(shù)據(jù)塊304含有電影標(biāo)題306和視頻曲目標(biāo)題308,每個(gè)片斷310有一個(gè)電影片斷標(biāo)題312和媒體數(shù)據(jù)314,其中包含實(shí)際的視頻數(shù)據(jù)。電影片斷隨機(jī)訪問(wèn)塊320含有曲目片斷隨機(jī)訪問(wèn)塊322和電影片斷隨機(jī)訪問(wèn)偏移塊324。
圖4演示了實(shí)施例音頻流400,它與視頻流格式300相似。音頻格式400含有文件類型標(biāo)題402、媒體元數(shù)據(jù)404、一個(gè)或多個(gè)音頻片斷410和電影片斷隨機(jī)訪問(wèn)塊420。媒體元數(shù)據(jù)庫(kù)404含有電影標(biāo)題406和音頻曲目標(biāo)題408,每一個(gè)片斷410含有一個(gè)電影片斷標(biāo)題412和媒體數(shù)據(jù)414,其中包含實(shí)際音頻數(shù)據(jù)。電影片斷隨機(jī)訪問(wèn)塊420含有曲目片斷隨機(jī)訪問(wèn)塊422和電影片斷隨機(jī)訪問(wèn)偏移塊424。
例如,在一個(gè)實(shí)施例中,媒體預(yù)處理完成后,有多個(gè)分屬不同品質(zhì)級(jí)別的視頻文件、多個(gè)音頻文件,例如可能在音頻編碼使用、音頻聲道、音頻語(yǔ)言和品質(zhì)級(jí)別等方面不同。在一個(gè)實(shí)施例中,會(huì)有一個(gè)視頻替換和一個(gè)音頻替換存儲(chǔ)在一個(gè)文件中。
在一個(gè)實(shí)施例中,媒體說(shuō)明文件描述與其對(duì)應(yīng)的視頻流和音頻流。圖5演示了一個(gè)基于SMIL(同步媒體集成語(yǔ)言)的說(shuō)明模板示例。
圖6演示了已經(jīng)過(guò)預(yù)處理的媒體數(shù)據(jù)在媒體攝取階段的一個(gè)實(shí)施例 存儲(chǔ)方式600。在一個(gè)單一媒體說(shuō)明文件602下存儲(chǔ)了一個(gè)或多個(gè)視頻文件604和606,以及一個(gè)或多個(gè)音頻文件608或610。在一個(gè)實(shí)施例中,每個(gè)視頻文件604和606可代表不同品質(zhì)級(jí)別,每個(gè)音頻文件608和610可代表不同的目標(biāo)音頻編碼、聲道語(yǔ)言和/或比特率。每個(gè)分發(fā)方式的一個(gè)或多個(gè)預(yù)計(jì)算文件容器或說(shuō)明文件612和614而進(jìn)一步存儲(chǔ)媒體說(shuō)明文件602下。
在一個(gè)實(shí)施例緩存階段中,媒體內(nèi)容會(huì)以塊為單位,從原始服務(wù)器傳輸?shù)竭吘壏?wù)器,其中每一個(gè)塊都是由一個(gè)或多個(gè)片斷組成的。在一個(gè)實(shí)施例中,原始服務(wù)器和邊緣服務(wù)器之間的基礎(chǔ)傳輸單位是音頻和/或視頻塊。在一個(gè)實(shí)施例中,音頻或視頻塊都會(huì)被當(dāng)做是單一文件而保存在邊緣服務(wù)器上和加以管理?;蛘撸部梢詫⒁粋€(gè)音頻塊和一個(gè)視頻塊存儲(chǔ)在邊緣服務(wù)器的一個(gè)文件中。
圖7演示了一個(gè)含有電影片斷702和媒體數(shù)據(jù)704的實(shí)施例視頻塊格式700。在一個(gè)實(shí)施例中,每個(gè)視頻塊都含有一個(gè)視頻片斷。或者,也可以使用多個(gè)的片斷。在一個(gè)實(shí)施例中,會(huì)根據(jù)基于ISO的媒體文件格式標(biāo)準(zhǔn)格式化電影片斷702,該片段含有媒體數(shù)據(jù)704中每個(gè)樣本的類型、大小和位置等信息。在一個(gè)實(shí)施例中,每個(gè)視頻片斷都會(huì)采用“v_xx_yyyyy.frv”的命名方式,其中“xx”代表兩位數(shù)的視頻曲目ID,“yyyyy”代表五位數(shù)的片斷序號(hào)。例如,“v_01_00001.frv”是視頻曲目1的第一個(gè)視頻片斷。在其他實(shí)施例中,可能會(huì)采用其他格式和標(biāo)簽方式。
圖8演示了一個(gè)含有電影片斷802和媒體數(shù)據(jù)804的實(shí)施例音頻塊格式800,這與視頻塊格式700相似。在一個(gè)實(shí)施例中,每個(gè)音頻塊含有一個(gè)音頻片斷。在一個(gè)實(shí)施例中,會(huì)根據(jù)基于ISO的媒體文件格式標(biāo)準(zhǔn)格式化電影片斷802,該片段含有媒體數(shù)據(jù)804中每個(gè)樣本的類型、大小和位置等信息。在一個(gè)實(shí)施例中,每個(gè)音頻片斷都會(huì)采用“v_xx_yyyyy.fra”的命名方式,其中“xx”代表兩位數(shù)的音頻曲目ID,“yyyyy”代表五位數(shù)的片斷序號(hào)。例如,“v_01_00001.fra”是音頻曲目1的第一個(gè)音頻片斷。在其他實(shí)施例中,可能會(huì)采用其他格式和標(biāo)簽方式。
圖9演示了邊緣服務(wù)器在緩存階段中的一個(gè)實(shí)施例內(nèi)部媒體存儲(chǔ)方 式900。在一個(gè)實(shí)施例中,內(nèi)容被存儲(chǔ)在一個(gè)或多個(gè)文件容器904、906和908中,每一個(gè)都在XML媒體說(shuō)明902中有指示,每一個(gè)與一個(gè)內(nèi)容替換相對(duì)應(yīng)。在一個(gè)實(shí)施例中,XML媒體說(shuō)明902根據(jù)圖5演示的SMIL模板進(jìn)行格式化。每個(gè)文件容器904、906和908都有一個(gè)或多個(gè)關(guān)聯(lián)的視頻和/或音頻片斷文件。在一個(gè)實(shí)施例中,文件容器1(904)中的片斷文件910、912、914、916、918和920代表第一個(gè)內(nèi)容替換的視頻和音頻。文件容器2(906)中的片斷922、924和926和文件容器j(908)中的片斷928、930、932、934、936和938代表其他內(nèi)容替換的片斷。在一個(gè)實(shí)施例中,內(nèi)容替換是在原始服務(wù)器上創(chuàng)建的。內(nèi)容替換可根據(jù)原始服務(wù)器側(cè)的多個(gè)參數(shù)(例如已攝取內(nèi)容的品質(zhì))和客戶端側(cè)的變量(例如網(wǎng)絡(luò)帶寬、CPU能力、屏幕分辨率和/或最終用戶配置)而生成。在一個(gè)實(shí)施例中,有j個(gè)文件容器和m個(gè)片斷。在一個(gè)實(shí)施例中,每個(gè)視頻片斷會(huì)按照n_m的形式予以標(biāo)簽(其中n是視頻品質(zhì)等級(jí)替換的總數(shù)),每個(gè)音頻片斷會(huì)按照k_m的形式予以標(biāo)簽(其中k是音頻曲目替換的總數(shù))。
在一個(gè)實(shí)施例中,會(huì)為特定的流技術(shù)定義說(shuō)明文件。例如,圖9含有Silverlight客戶端說(shuō)明文件XML 940,這是一個(gè)為Microsoft Silverlight Smooth Streaming而格式化的說(shuō)明文件。在其他實(shí)施例中,可使用其他流技術(shù)(例如Adobe Flash)的其他說(shuō)明文件。
在一個(gè)實(shí)施例媒體輸出狀態(tài)中,不同品質(zhì)級(jí)別的視頻片斷和不同編碼既聲道的音頻片斷會(huì)結(jié)合起來(lái),以支持各種分發(fā)方式,以及滿足各種接入網(wǎng)絡(luò)帶寬和終端能力的要求。
例如,圖9演示的實(shí)施例便支持Microsoft Silverlight Smooth Streaming。在這里,Silverlight Smooth Streaming使用一個(gè)說(shuō)明文件,同時(shí)將已分段音頻和視頻逐一分發(fā)到客戶端播放設(shè)備,以及使用品質(zhì)等級(jí)和開(kāi)始時(shí)間以請(qǐng)求指定的音頻和視頻片斷。在一個(gè)實(shí)施例中,品質(zhì)等級(jí)會(huì)被映射至音頻和視頻曲目ID,而開(kāi)始時(shí)間則會(huì)被映射至片斷序號(hào)。通過(guò)音頻/視頻曲目ID和片斷序號(hào),緩存中對(duì)應(yīng)的a_xx_yyyyy.fra或v_xx_yyyyy.frv片斷文件將被直接分發(fā)至Silverlight客戶端以供播放。在 一個(gè)實(shí)施例中,圖9中顯示的提示片斷會(huì)含有各種信息,這些信息可用于協(xié)助從音頻和視頻片斷生成MPEG-2傳輸流數(shù)據(jù)包。
圖10演示了實(shí)施例文件容器1000。文件容器1000含有文件類型標(biāo)題1002和媒體元數(shù)據(jù)1004。媒體元數(shù)據(jù)1004含有電影標(biāo)題1006、音頻曲目標(biāo)題1008和視頻曲目標(biāo)題1010。
在一個(gè)實(shí)施例中,文件下載和HTTP漸進(jìn)式下載(使用交錯(cuò)完整文件)會(huì)以以下方式進(jìn)行。通過(guò)圖7中演示的視頻片斷700、圖8中演示的音頻片斷800,以及圖10中演示的文件容器1000,便可產(chǎn)生一個(gè)如圖11所示的完整的MP4文件,以供文件下載和HTTP漸進(jìn)式下載時(shí)使用。在這里,輸出階段會(huì)從文件容器生成文件標(biāo)題和元數(shù)據(jù)信息生成MP4文件1102,以及從片斷1104和1106生成實(shí)際視頻和音頻數(shù)據(jù)。
在一個(gè)實(shí)施例中,會(huì)采用統(tǒng)一的內(nèi)部編碼和容器格式。在媒體輸出階段,實(shí)況視頻源流或文件會(huì)被編碼、轉(zhuǎn)碼或重新編碼成一個(gè)視頻編碼格式(例如H.264/AVC),音頻流或文件會(huì)被編碼、轉(zhuǎn)碼或重新編碼成一個(gè)音頻編碼格式(如AAC)。在媒體輸出階段,邊緣服務(wù)器上的視頻塊和音頻塊支持各種不同的分發(fā)方式,包括文件下載、漸進(jìn)式下載、HTTP流和RTP/RTSP流
在一個(gè)實(shí)施例中,用于存儲(chǔ)統(tǒng)一內(nèi)容(帶或不帶替換視頻曲目、音頻曲目)和元數(shù)據(jù)的方法支持多種分發(fā)方式。如圖6所描述,在媒體攝取階段,可準(zhǔn)備好某些文件容器或說(shuō)明文件。
在一個(gè)實(shí)施例中,有一種靈活的存儲(chǔ)和分發(fā)方式會(huì)采用媒體流片斷和多層文件管理方式。在內(nèi)容分發(fā)系統(tǒng)的不同階段中,媒體流會(huì)議不同的大小做出說(shuō)明。例如,使用這些實(shí)施例可提供有效的數(shù)據(jù)管理和高性能的流。例如,在圖1描述的實(shí)施例系統(tǒng)中,原始服務(wù)器的每個(gè)音頻或視頻的媒體數(shù)據(jù)會(huì)存儲(chǔ)為一個(gè)流,以方便管理,而邊緣服務(wù)器的基本存儲(chǔ)單位是音頻塊或視頻塊。邊緣服務(wù)器采用基于塊的存儲(chǔ)方式,通過(guò)并行媒體處理提供實(shí)時(shí)按需求編碼能力。
在一個(gè)實(shí)施例中,一個(gè)緊湊的媒體說(shuō)明方式會(huì)與視頻片斷和音頻片斷命名規(guī)則相結(jié)合。媒體說(shuō)明方式讓系統(tǒng)能夠根據(jù)品質(zhì)等級(jí)和時(shí)間或字節(jié)范 圍,有效地從緩存或原始服務(wù)器(在發(fā)生緩存缺失的情況下)找到請(qǐng)求的視頻片斷和音頻片斷。
雖然詳細(xì)描述了實(shí)施例和它們的優(yōu)勢(shì),但仍請(qǐng)明白這一點(diǎn):可以在不違背專利申請(qǐng)中定義的發(fā)明精神和范圍的情況下,進(jìn)行各種變化、變動(dòng)和替換。另外,本申請(qǐng)的范圍并不局限于規(guī)格中描述的流程、機(jī)器、制造、物質(zhì)組成、意義、方法和步驟的特定實(shí)施例。這些流程、機(jī)器、制造、物質(zhì)組成、意義、方法或步驟,不管是目前已存在還是有待日后開(kāi)發(fā),只要是能夠與本文描述的相應(yīng)的實(shí)施例發(fā)揮本質(zhì)上相同的功能或取得本質(zhì)上相同的結(jié)果,都可以根據(jù)本發(fā)明而予以采用,作為相關(guān)技術(shù)中的一個(gè)普通技巧,這一點(diǎn)定會(huì)在本發(fā)明公布后受到相關(guān)方面的歡迎。相應(yīng)地,追加申請(qǐng)的目的是將這些流程、機(jī)器、制造、物質(zhì)組成、意義、方法或步驟包括在申請(qǐng)的范圍中。