欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于http的流分發(fā)的方法和系統(tǒng)的制作方法

文檔序號:6350823閱讀:219來源:國知局
專利名稱:基于http的流分發(fā)的方法和系統(tǒng)的制作方法
技術領域
本申請一般涉及在廣播聽眾規(guī)模將高清(HD)視頻在線分發(fā)到流行的運行環(huán)境和移動設備。相關技術的簡述在現(xiàn)有技術中,分布式計算機系統(tǒng)是眾所周知的。一個這樣的分布式計算機系統(tǒng)
是由服務提供者操作和管理的“內(nèi)容分發(fā)網(wǎng)絡”或“CDN”。服務提供者通常代表第三方提供內(nèi)容分發(fā)服務。這種類型的“分布式系統(tǒng)”通常是指通過一個網(wǎng)絡或多個網(wǎng)絡連接的一組自主計算機連同被設計成有助于各種服務如內(nèi)容分發(fā)或外包網(wǎng)站基礎設施的支持的軟件、系統(tǒng)、協(xié)議和技術。通常,“內(nèi)容分發(fā)”意味著代表內(nèi)容提供者對內(nèi)容、流媒體和應用——包括與其一起使用的輔助技術——的存儲、緩存或發(fā)送,輔助技術包括但不限于DNS查詢處理、供應、數(shù)據(jù)監(jiān)控和報告、內(nèi)容定位、個性化和商業(yè)智能。雖然內(nèi)容分發(fā)網(wǎng)絡提供了明顯的優(yōu)勢,通常它們包括專用平臺以對多個第三方運行環(huán)境支持內(nèi)容的分發(fā),這些專用平臺又基于它們自己的專有技術、媒體服務器和協(xié)議。這些不同平臺實現(xiàn)和維護起來是昂貴的,尤其是全球地和在當最終用戶的數(shù)量增加時的規(guī)模。而且,同時,內(nèi)容提供者(如大規(guī)模廣播電臺、電影經(jīng)銷商等)期望他們的內(nèi)容以補充傳統(tǒng)媒介如廣播TV(包括高清或“HD”電視)和DVD的方式被在線分發(fā)。也可以以不同的比特率提供這種內(nèi)容。最終用戶也期望與內(nèi)容相互作用,正如他們現(xiàn)在可以與通過衛(wèi)星或有線電視分發(fā)的傳統(tǒng)的基于DVR的內(nèi)容相互作用一樣。另一個難題是,基于互聯(lián)網(wǎng)的內(nèi)容分發(fā)不再局限于固定線路環(huán)境如臺式機,因為越來越多的最終用戶現(xiàn)在使用移動設備如Apple iPhone 來在移動環(huán)境上接收和觀看內(nèi)容。因此,需要提供一種集成的內(nèi)容分發(fā)網(wǎng)絡平臺,這種網(wǎng)絡平臺能夠在廣播聽眾規(guī)模上將內(nèi)容(如HD質量的視頻)在線分發(fā)到最流行的運行環(huán)境(如Adobe Flash > Microsoft Silveright 等)以及移動設備如iPhone,以匹配觀眾從傳統(tǒng)廣播TV預期的用戶體驗。本文公開的技術解決這種需要。簡要概述提供一種集成的基于HTTP的分發(fā)平臺,其用于將HD視頻和音頻質量的內(nèi)容在線分發(fā)到在固定線路和移動環(huán)境中的多種類型的客戶端設備上操作的流行的運行環(huán)境。在一個實施方式中,分發(fā)直播流的方法在內(nèi)容分發(fā)網(wǎng)絡(⑶N)內(nèi)實現(xiàn),并且包括使用記錄層來記錄流和使用播放器層來播放流的高級功能。記錄流的步驟包括當流以源格式在CDN入口點處被接收時開始的一組子步驟。然后流被轉換成中間格式(IF),其是用于在⑶N內(nèi)分發(fā)流的內(nèi)部格式并且包括流清單、一組一個或多個片段索引(FI)和一組IF片段。表示流的當前部分的所述片段以中間格式被存檔于檔案存儲器中,而較舊(非當前)的部分被發(fā)送至數(shù)據(jù)存儲器。當請求客戶端與⑶N HTTP代理相關聯(lián)時,播放器過程開始。響應于在HTTP代理處收到對流或其一部分的請求,HTTP代理檢索流清單和至少一個片段索引(從檔案或數(shù)據(jù)存儲器)。使用片段索引,IF片段被檢索到HTTP代理,被轉換成目標格式,并且然后響應于客戶端請求而被提供。源格式可以與目標格式相同或不同。優(yōu)選地,所有片段通過HTTP由HTTP代理訪問、緩存和提供。在另一實施方式中,分發(fā)流點播(VOD)的方法使用轉換層來管理IF組件,即流清單、片段索引(FI)和IF片段的創(chuàng)建和/或處理。使用轉換層來代替記錄層(在直播分發(fā)網(wǎng)絡中)。在一個VOD實施方式中,使用HTTP代理和轉換過程來實現(xiàn)轉換層。這種方法實現(xiàn)來自客戶和基于CDN的存儲源的VOD流式傳輸,提供單和多比特率(SMR和MBR)流式傳輸,提供對存儲于多種不同類型的文件格式容器中的源內(nèi)容的支持(支持的mp4/flv代碼除了別的以外還包括用于音頻的AAC、MP3、PCM和用于視頻的H. 264),并且最小化超出由最終用戶直接請求的東西的內(nèi)容的下載。依據(jù)本公開的另一方面,中間格式(IF)生成和處理可能完全發(fā)生在HTTP代理內(nèi)。
在這種方法中,可以在整個下游HTTP分發(fā)鏈中將IF擴展——包括可選地——到客戶端本身(如果客戶端也具有HTTP代理接口的話)。上文已經(jīng)概述了本發(fā)明的一些更相關的特征。這些特征應該被解釋為僅僅是說明性的。可以通過以不同的方式應用所公開的發(fā)明或通過修改本發(fā)明來獲得許多其他的有益結果,如將被描述的。附圖
簡述為了更加完整的理解本發(fā)明及其優(yōu)勢,現(xiàn)在參考結合附圖理解的以下的描述,其中圖I是示出被配置為內(nèi)容分發(fā)網(wǎng)絡(⑶N)的已知的分布式計算機系統(tǒng)的框圖;圖2是有代表性的⑶N邊緣機器配置;圖3示出了依據(jù)本公開的教導的在固定線路和移動環(huán)境中基于HTTP將高清(HD) “直播”視頻分發(fā)到客戶端的網(wǎng)絡;圖4更加詳細地示出了圖3的網(wǎng)絡;圖5示出了依據(jù)所公開的技術使用中間片段(IF)在圖3的網(wǎng)絡中從源格式(SF)到目標格式(TF)的有代表性的分組流;圖6示出了流入或流出流服務器架構的媒體分組的另一視圖;圖7示出了基于HTTP的分發(fā)的網(wǎng)絡如何用于提供視頻點播(VOD)流分發(fā);以及圖8示出了基于HTTP的分發(fā)網(wǎng)絡的VOD部分的有代表性的轉換機器配置。詳細描述圖I示出了已知的分布式計算機系統(tǒng)(如下所述),其通過本文的技術被擴展以提供單個基于HTTP的平臺,其具有在廣播聽眾規(guī)模將HD視頻在線分發(fā)到最流行的運行環(huán)境和在固定線路和移動環(huán)境中的最先進的設備的能力。在這個有代表性的實施方式中,分布式計算機系統(tǒng)100被配置為內(nèi)容分發(fā)網(wǎng)絡(⑶N)并且被假設具有在互聯(lián)網(wǎng)周圍分布的一組機器102a-n。通常,大多數(shù)機器是位于互聯(lián)網(wǎng)的邊緣附近,即在最終用戶接入網(wǎng)絡處或鄰近最終用戶接入網(wǎng)絡的服務器。網(wǎng)絡操作控制中心(NOCC) 104可以用于執(zhí)行和管理系統(tǒng)中的各種機器的操作。第三方網(wǎng)站如網(wǎng)站106將內(nèi)容分發(fā)(例如,HTML、嵌入式頁面對象、流媒體、軟件下載等)卸載到分布式計算機系統(tǒng)100,并且特別是“邊緣”服務器。通常,內(nèi)容提供者通過將給定的內(nèi)容提供者域或子域替換為(例如,通過DNS CNAME)由服務提供者的權威性域名服務管理的域來卸載他們的內(nèi)容分發(fā)。要求這類內(nèi)容的最終用戶可以被引導到所述分布式計算機系統(tǒng)以更可靠且更有效地獲得該內(nèi)容。雖然未詳細地示出,所述分布式計算機系統(tǒng)還可以包括其他的基礎結構,如分布式數(shù)據(jù)收集系統(tǒng)108,其從邊緣服務器收集用法和其他數(shù)據(jù)、在一個區(qū)域或一組區(qū)域上聚集數(shù)據(jù),并將數(shù)據(jù)傳遞至其他的后端系統(tǒng)110、112、114和116以有助于監(jiān)控、記錄、警告、開賬單、管理以及其他的操作和管理功能。分布式網(wǎng)絡代理118監(jiān)控網(wǎng)絡和服務器負載,并且將網(wǎng)絡、業(yè)務和加載數(shù)據(jù)提供給DNS查詢處理機構115,其對于由⑶N管理的內(nèi)容域名是權威的。分布式數(shù)據(jù)傳輸機構120可以用于將控制信息(例如,管理內(nèi)容、便于負載平衡等的元數(shù)據(jù))分布到邊緣服務器。如圖2所示,在⑶N中給定的機器200 (有時在本文稱作“邊緣機器”)包括運行支持一個或多個應用206a-n的操作系統(tǒng)內(nèi)核204 (如Linux或變體)的商用硬件202 (例如,英特爾奔騰處理器)。為了有助于內(nèi)容分發(fā)服務,例如,給定的機器通常運行一組應用,如HTTP代理207、名稱服務器208、本地監(jiān)控進程210、分布式數(shù)據(jù)收集進程212等。HTTP
代理207通常包括高速緩沖存儲器以及用于管理高速緩沖存儲器和內(nèi)容從邊緣機器的分發(fā)的管理進程。對于流媒體,所述機器通常包括一個或多個媒體服務器,如Windows媒體服務器(WMS)或Flash 2. O服務器,如所支持的媒體格式所需的。當被配置為⑶N “邊緣”機器(或“邊緣服務器”)時,在圖2中所示的機器可以被配置成優(yōu)選地在域名特定、客戶特定的基礎上優(yōu)選地使用利用配置系統(tǒng)分布到邊緣服務器的配置文件來提供一個或多個擴展的內(nèi)容分發(fā)特征。給定的配置文件優(yōu)選地是基于XML的,并且包括有助于一個或多個高級內(nèi)容處理特征的一組內(nèi)容處理規(guī)則和指令。通過數(shù)據(jù)傳輸機構可以將配置文件分發(fā)至CDN邊緣服務器。美國專利號7,111,057說明了用于分發(fā)和管理邊緣服務器內(nèi)容控制信息的一種有用的基礎結構,并且這種和其他的邊緣服務器控制信息(有時稱作“元數(shù)據(jù)”)可以由CDN服務提供者本身提供,或(通過外聯(lián)網(wǎng)或類似物)由操作源服務器的內(nèi)容提供者客戶提供。⑶N可以包括如在美國專利號7,472,178中所描述的存儲子系統(tǒng),該專利的公開通過引用被并入本文。CDN可以操作服務器緩存層以提供客戶內(nèi)容的中間緩存;一個這樣的緩存層子系統(tǒng)在美國專利號7,376,716中被描述,該專利的公開通過引用被并入本文。對于直播流分發(fā),⑶N可以包括如在美國專利號7,296,082中所描述的直播分發(fā)子系統(tǒng),該專利的公開通過引用被并入本文。如將要描述的,本公開描述了以上確定的技術可以如何被擴展以提供集成的基于HTTP的分發(fā)平臺,其具有將HD視頻質量的內(nèi)容在線分發(fā)到最流行的運行環(huán)境以及在固定線路和移動環(huán)境中的最先進的設備的能力。所述平臺均支持“直播”和“點播”內(nèi)容的分發(fā)。直播流分發(fā)如本文所使用的,以下的術語將具有以下有代表性的意義。僅為了說明的方便,接下來的描述(相對于直播流分發(fā))是在Adobe Flash運行環(huán)境的背景中,但這不是限制,因為也可對其他的運行環(huán)境一固定路線和移動環(huán)境(包括但不限于MicrosoftSilverlight,、Apple iPhone及其他)-實現(xiàn)類似類型的解決方案。編碼器是客戶擁有或管理的機器,其獲取以某種格式(流、衛(wèi)星等)的某種原始直播視頻網(wǎng)絡輸送的電視節(jié)目,并且將數(shù)據(jù)分發(fā)到被編碼以用于流分發(fā)的入口點。入口點(EP)通常是在從客戶的編碼器接收視頻數(shù)據(jù)并且使該數(shù)據(jù)對直播流的用戶可用的CDN流機器上運行的進程。對于Adobe Flash,這是被配置成從編碼器接受連接的Flash媒體服務器(FMS)。Flash媒體服務器是可從Adobe公司購買的Flash媒體的服務器進程。在本實施方式中,中間區(qū)域(IR)通常是Flash媒體服務器,⑶N配置Flash媒體服務器以類似地對流設置反射器起作用,如在美國專利號7,296,082和美國專利號6,751,673中所描述的。這些機器將流從FMS EP分程傳遞到FMS邊緣區(qū)域,提供輸出端數(shù)(fan out)和路徑分集?!皡^(qū)域”通常意味著一組協(xié)同定位并且彼此相互連接以用于一般在后端局域網(wǎng)上負載共享的機器(以及其相關的服務器進程)。Flash邊緣機器是已被配置成接受客戶端請求的Flash媒體服務器。在有代表性的實施方式中,這是在Flash EP、IR和邊緣機器上運行的軟件。中間格式(IF)是用于將流數(shù)據(jù)從EP發(fā)送至邊緣服務器HTTP代理的內(nèi)部格式(⑶N內(nèi)
部)。如以下將更加詳細地描述的,IF優(yōu)選地包括若干不同的幾塊,包括“流清單(streammanifest) ”、“片段索引”和“IF片段”。Live (直播)、DVR和VOD被定義如下“直播”是指當事件發(fā)生時實時地提供的媒體;“DVR”是指從“直播”網(wǎng)絡輸送的電視節(jié)目獲得的但在以后的時間提供的內(nèi)容;“V0D”是指從單個完整的(即不遞增地變化)文件或一組文件提供的媒體。實時消息傳送協(xié)議(RTMP)是由Flash使用的流式傳輸和RPC協(xié)議。加密的實時消息傳送協(xié)議(RTMPE)是RTMP的加密版本,其使用嵌入服務器和客戶端中的秘密?!癝WF”或“小Web格式”是Flash客戶端應用的格式。SWF驗證是指一種技術,通過此技術Flash播放器可以向FMS證實所述FMS通過發(fā)送SWF本身的無用數(shù)據(jù)連同嵌入客戶端和服務器中的秘密來播放未更改的SWF。圖3示出了用于直播流分發(fā)的優(yōu)選結構的概觀。在圖4中示出了該結構的簡化版本。如在圖3中可以看到的,該系統(tǒng)一般被分成兩個獨立的層流記錄層300和流播放器層302。如將要描述的,記錄進程(由流記錄層300提供)從編碼器304向前發(fā)起。優(yōu)選地,流被記錄,即使當前沒有查看者(因為稍后可能有DVR請求)。重放進程(由流播放器層302提供)在給定的時間開始播放給定的流。因此,“直播流”實際上相當于具有“現(xiàn)在”的開始時間的“DVR流”。參考圖3,直播流進程以從編碼器304分發(fā)到入口點306的流開始。在EP區(qū)域中(未示出)的RTMP牽引器308 (例如,在基于Linux的機器上運行)被指示來訂閱在EP306上的流,并且將因而所生成的數(shù)據(jù)推到一個或多個檔案存儲器310的進程,其優(yōu)選地在其他的機器上運行。如所示,檔案存儲器310中的一個可以作為“領導者”操作,作為在存檔進程中執(zhí)行領導者選舉協(xié)議的結果。優(yōu)選地,對于直播或近直播請求,檔案存儲器310充當對邊緣服務器HTTP代理進程(其中一個被顯示為312)的源服務器。邊緣服務器HTTP代理312給請求的最終用戶客戶端提供HTTP分發(fā),其中一個客戶端是客戶端314?!翱蛻舳恕笔前ê线m的硬件和軟件以連接到互聯(lián)網(wǎng)、說出至少HTTP和包括內(nèi)容再現(xiàn)引擎的設備??蛻舳嗽O備類型將改變,取決于設備是否在固定線路環(huán)境或移動環(huán)境上連接到互聯(lián)網(wǎng)。有代表性的客戶端是包括瀏覽器的計算機,其通常具有對媒體播放器、編碼解碼器等的本地或插件支持。如果DVR被啟動,內(nèi)容也優(yōu)選地被上傳到存儲子系統(tǒng)316,使得存儲子系統(tǒng)作為DVR請求的起源,如將要描述的。也如在圖3中看到的,內(nèi)容提供者可以選擇分發(fā)流的兩個副本,一個主要副本和一個備用副本,以在網(wǎng)絡或其他問題的情況下允許流以最小的中斷繼續(xù)。優(yōu)選地,在整個系統(tǒng)上主要流和備份流被視為獨立地穿過邊緣服務器HTTP代理,其優(yōu)選地具有在主要流有困難時從主要流故障轉移到備份流的能力,反之亦然。內(nèi)容請求(來自最終用戶客戶端314)優(yōu)選地使用如在美國專利號6,108,703、7,240, 100,7, 293,093等中所描述的技術來指向CDN邊緣機器HTTP代理312。當HTTP代理312接收對給定的流的HTTP請求時,HTTP代理312做出各種請求,其優(yōu)選地通過HTTP代理元數(shù)據(jù)(如在美國專利號7,240,100和7,111,057等中所描述的)可能通過緩存層318驅動(參見例如美國專利號7,376,716等)以了解和下載流以服務于客戶端314。優(yōu)選地,流特定的知識由直接與客戶端314連接的邊緣機器HTTP代理312處理。任何前進的(高速緩存缺失)請求(從HTTP代理發(fā)出)優(yōu)選地為標準的HTTP請求。在一個實施方式中,
內(nèi)容從HTTP代理312被分發(fā)到客戶端314作為漸進式下載FLV文件。如上所述,在本文作為例子在此使用對Adobe FLV的提及,因為所公開的架構并不限于用在Adobe FLV上。對于安全流,優(yōu)選地,客戶端314首先使用邊緣服務器認證技術和/或SWF驗證反向通道來向HTTP代理312認證。當客戶端314請求特定的流時,HTTP代理312 (客戶端通常通過DNS指向HTTP代理312)通過檢索“流清單”來開始流進程,流清單優(yōu)選地僅包含流的緩慢變化的屬性和HTTP代理所需的信息以追查實際的流內(nèi)容。下載該清單的URL優(yōu)選地從分發(fā)到HTTP代理的元數(shù)據(jù)(例如,通過圖I的分布式數(shù)據(jù)傳輸機構)被確定性地構建。優(yōu)選地,所述清單本身被存儲成與流清單管理系統(tǒng)(未示出)相關聯(lián)和/或被存儲于存儲子系統(tǒng)316中。優(yōu)選地,流清單描述組成流的各種“軌道”,其中優(yōu)選地,每一軌道構成比特率和類型的不同組合,其中類型是“音頻”、“視頻”或“交錯的AV”。流清單優(yōu)選地包括每一軌道的一系列“indexlnfo (索弓I信息)”時間范圍,其描述前向URL模板、流屬性和HTTP代理請求在該時間范圍內(nèi)的內(nèi)容所必需的各種其他的參數(shù)。對于“直播”請求,HTTP代理開始請求關于“現(xiàn)在”的內(nèi)容,“現(xiàn)在”通常近似等于在邊緣機器HTTP代理進程上的時間。給定尋找時間,HTTP代理下載“片段索引”,其名稱優(yōu)選地基于在indexlnfo范圍內(nèi)的信息和時代尋找時間(epoch seek time)來計算。優(yōu)選地,片段索引覆蓋給定的時間段(例如,每隔幾分鐘)。通過咨詢片段索引,獲得“中間格式(IF)片段”編號和該片段內(nèi)的偏移量。然后HTTP代理可以開始下載文件(例如,通過緩存層318,或從CDN基礎結構內(nèi)的其它地方),跳過在指定偏移量之前的數(shù)據(jù),并且然后從那里開始服務(于請求的客戶端)。優(yōu)選地,IF片段的大小適合于通過HTTP代理的最優(yōu)緩存。通常,且除非流清單在其他方面指示有新的indexlnfo范圍,對于直播流,然后HTTP代理繼續(xù)提供來自連續(xù)編號的IF片段的數(shù)據(jù)。如本文所使用的,并且在基于HTTP的直播分發(fā)的背景中,中間格式(IF)描述用于從RTMP牽引器一直到邊緣機器HTTP代理獲得數(shù)據(jù)的流的內(nèi)部表示?!霸础备袷?SF)是入口點306提供內(nèi)容的格式,以及“目標”格式是邊緣機器HTTP代理312將數(shù)據(jù)分發(fā)到客戶端314的格式。依據(jù)本公開,這些格式不需要相同。因此,SF可以不同于TF,S卩,流可以以FLV格式被獲得并且以動態(tài)或自適應(可變的比特率)格式被提供。格式是用于傳送流的容器;通常,實際的原始音頻和視頻塊被認為是不透明的數(shù)據(jù),盡管在不同的編碼解碼器之間的代碼轉換也可以被實現(xiàn)。通過經(jīng)由HTTP代理傳遞格式(并且通過常規(guī)的HTTP分發(fā)到客戶端),可以改變用于分發(fā)內(nèi)容的容器,只要適當?shù)毓芾砘A編碼解碼器?,F(xiàn)在參考圖4,直播內(nèi)容的HTTP流架構可以如下工作。在步驟1,內(nèi)容提供者的編碼器404將直播FLV流推至入口點(EP) 406。在步驟2,RTMP牽引器408從EP406牽引流并且將其分解為中間格式(IF)文件片段和相應的索引信息。解復用器進程405有助于這一操作。牽引器408優(yōu)選地使用來自流清單文件的元數(shù)據(jù)以確定多么大來產(chǎn)生每一單獨的IF片段。優(yōu)選地,并且如上所述,優(yōu)化IF片段大小以在與邊緣機器HTTP代理相關聯(lián)的高速緩沖存儲器中進行緩存。在步驟3,檔案存儲器410從牽引器408檢索IF片段及其相應的索引信息。檔案存儲器410將每一 IF片段的索引信息附加到當前的片段索引(FI)文件。優(yōu)選地,檔案存儲器410緩存預定數(shù)量的IF片段用于直播重放。當片段老化時,它們優(yōu)選地從檔案存儲器
410被刪除,并且在步驟4,他們被存檔到例如存儲子系統(tǒng)416。因此,以設定的間隔(例如,每隔幾分鐘),檔案存儲器410關閉當前的FI文件,將其存檔到存儲子系統(tǒng)416,并且開始創(chuàng)建新的FI文件。在步驟5,并且在最終用戶客戶端414已經(jīng)與特定的邊緣機器相關聯(lián)之后,在該機器中的HTTP代理412從檔案存儲器410獲得用于直播重放的片段以及有限的DVR時間段(可能通過高速緩存層418)。從存儲子系統(tǒng)416檢索在存儲服務器410上不再可用的片段。與HTTP代理412結合來操作的復用器進程415有助于這一操作。優(yōu)選地,每一 IF片段是HTTP代理412的單獨的對象,其可以是HTTP或通過HTTP而被訪問。換句話說,依據(jù)本公開,直播流被分解為許多小對象/片段。HTTP代理412通常在單獨的HTTP連接上從客戶端播放器接收DVR命令。當客戶端播放器請求從新的流位置開始播放時,HTTP代理使用來自流清單文件的元數(shù)據(jù)以計算哪些FI文件包含目標時間偏移量。FI文件從檔案存儲器410或存儲子系統(tǒng)416 (或可選地,從與邊緣機器協(xié)同定位的對等系統(tǒng))被檢索,并且包含IF片段和比特偏移量以開始流到客戶端播放器。圖5示出了從源格式(SF)至目標格式(TF)的有代表性的分組流,盡管可以省略轉換進程(換句話說,源格式比特可被放置在IF片段中而沒有額外的格式轉換)。如上所述,優(yōu)選地,每一視頻流被分解為片段。在某個任意點(其可以通過咨詢片段索引來確定)開始連續(xù)地給片段編號。在流清單indexlnfo范圍上該序列可以不連續(xù)。每一片段優(yōu)選地包括描述所附數(shù)據(jù)的類型的頭部信息。在這些頭部信息之后是IF有效負載,如一序列FLV標簽。目標格式也可以僅是基本音頻/視頻流的加密形式(如基于AES128)。片段索引使HTTP代理進程(特定的客戶端與其相關)能夠找到在期望的“尋找時間”附近的幀。優(yōu)選地,每一片段索引文件包括涵蓋固定時間量的索引信息。確切的間隔被存儲于每一 indexlnfo范圍的流清單中。期望的尋找時間(時代時間)可以被下舍入到最近的間隔邊界以找到要請求的片段索引。優(yōu)選地,由流清單、片段索引和IF片段完全地表示每一流。在說明性的實施方式中,流清單是包含以下信息的XML文件流時代時間(該時間可以是流開始時的時間或可以是仍可用的流的最老的存檔部分);流屬性(如比特率、視頻大小、編碼解碼器信息等) ’關于片段索引和哪個URL模式用于請求FI文件的信息;以及片段的URL模式。片段索引(FI)通常包括以下項關于在給定的時間片內(nèi)哪個關鍵幀開始流出的信息;關鍵幀到片段編號映射,關鍵幀到時間映射,關鍵幀到該片段中的比特偏移量映射等。每一 IF片段包括大約N秒的流,其優(yōu)選地被優(yōu)化以用于HTTP代理緩存并且不一定在時間邊界上成片段。每一片段由片段頭部、片段流頭部和有效負載組成,并且每一片段通過片段編號被唯一地識別。片段編號遞增地增加。通常,并且返回來參考圖4,檔案存儲器410具有最近N分鐘的流的片段,并且其余的片段在存儲子系統(tǒng)416上。檔案存儲器為每一流創(chuàng)建流清單XML文件。它放置HTTP代理可用于做出片段和片段索引請求的所有的必要信息。為了使檔案存儲器構建流清單,優(yōu)選地,RTMP牽引器在下游發(fā)送流屬性。優(yōu)選地,IF片段用于提供時間相關的數(shù)據(jù),S卩,實際視頻/音頻比特。此外,優(yōu)選地,HTTP代理(客戶端與其相關)僅做出對IF片段的請求。因此,使片段與具有流屬性的分組分離是合乎需要的。與HTTP代理相關聯(lián)(或位于其內(nèi)部)的復用器子系統(tǒng)415確定如何請求IF、將IF轉換成輸出流,并將該數(shù)據(jù)傳遞至HTTP代理服務器以服務于請求的客戶端。另外,優(yōu)選
地,HTTP代理進程支持控制信道,通過該控制信道客戶端可以做出對有效流的各種請求的任何組合,包括但不限于會話令牌(sessionToken)、尋找(seek)和切換(switch)。當在例如客戶端缺少其自己的流控制設備的一些運行環(huán)境中工作時,控制信道有助于流控制。在這種情況下,控制信道傳遞可基于平均比特率的百分比(通過服務器到客戶端連接)的節(jié)流(throttle)命令,以在該連接的客戶端上幫助完全地維護目標緩沖器。會話令牌請求是對例如通過SWF認證提供附加認證信息的請求。“尋找”是對自流中的不同時間起開始發(fā)送數(shù)據(jù)的請求(包括“跳轉到直播”)。“切換”是對開始發(fā)送來自相同流清單的不同軌道的數(shù)據(jù)的請求。這可能是比特率轉換和/或角變化。因此,HTTP代理優(yōu)選地在單獨的HTTP連接上從客戶端播放器接收DVR命令。當客戶端播放器請求從新的流位置開始重放時,HTTP代理使用來自流清單文件的元數(shù)據(jù)以計算哪些FI文件包含目標時間偏移量。FI文件被檢索(例如,從檔案存儲器或存儲子系統(tǒng),或從對等機器)并且包含IF片段和比特偏移量以開始流到客戶端播放器。如所描述的,流清單優(yōu)選地是XML文件并且包含關于片段索引和如何為FI文件構建URL、如何為“現(xiàn)在”請求構建URL、以及如何為片段構建URL的信息。HTTP代理緩存該清單,清單可以從檔案存儲器(其可被首先嘗試)或存儲子系統(tǒng)檢索到代理。客戶端播放器連接至HTTP代理以播放直播流(即連接至流的“現(xiàn)在”時間)。在響應中,HTTP代理做出對檔案存儲器的轉發(fā)請求以取得在直播流上的“現(xiàn)在”時間。由HTTP代理使用流清單中的元數(shù)據(jù)以創(chuàng)建“現(xiàn)在” URL。也如所描述的,流具有多個FI文件。每一 FI文件包含給定時間片的流關鍵幀信息。片段索引允許時間偏移量被映射到片段編號和比特偏移量。流清單文件限定每一 FI文件的時間片。每一 IF片段包括大約N秒的流。每一片段由頭部和有效負載組成。HTTP代理理解頭部中的數(shù)據(jù),但是有效負載是不透明的。HTTP代理與復用器部件鏈接在一起以將IF格式的有效負載轉換成流到客戶端播放器的目標格式。片段被緩存在HTTP代理中以再使用,并且每一片段以它的流名稱和遞增增加的整數(shù)后綴來識別。如上所述,檔案存儲器具有最近N分鐘的流的片段,并且其余的片段在存儲子系統(tǒng)上。
對于未認證的內(nèi)容,優(yōu)詵地,客戶端播放器連接至http: //URL以播放流。如果默認值不合適(如果流是是直播的則默認值是直播,或如果流不是直播則默認值是流的開始),查詢字符串參數(shù)可以用于請求特定的尋找時間。對于已認證的內(nèi)容,優(yōu)選地,原始的http: //URL額外地包含由客戶源牛成的共享的認證令牌杳詢字符串參數(shù)。這使HTTP代理進程能夠在某個配置的時間量(例如,給定的秒數(shù))內(nèi)提供流。在該時間后,HTTP代理進程終止連接,除非例如帶外控制POST接收到有符號的“會話令牌”。雖然并不意味著是限制性的,在一種方式中這種令牌優(yōu)選地由客戶端通過連接至可以執(zhí)行SWF驗證(如圖3所示)的FMS(或等同物)邊緣機器而生成。該機器將有符號的會話令牌返回給客戶端以轉發(fā)回HTTP代理進程作為控制信道POST。一旦會話令牌由HTTP代理接收,流優(yōu)選地將無限地播放。也可以實現(xiàn)其他類型的流認證。圖6是媒體分組流入或流出用于直播流的本公開的流服務器架構的另一視圖。如上所述,架構將輸入的媒體分組處理(解復用)成中間格式(IF)。特別是,編碼器將CDN客戶內(nèi)容推至入口點。然后牽引器從EP牽引內(nèi)容并且將數(shù)據(jù)傳遞至與其相關聯(lián)的解復用器,
在將IF片段引入到檔案存儲器網(wǎng)絡之前,解復用器將輸入的源格式(SF JBFLV)轉換成IF片段。檔案存儲器從RTMP牽引器接收數(shù)據(jù)并且將該數(shù)據(jù)遞增地寫入存儲器,如RAM盤(或其他的數(shù)據(jù)存儲器)。如果HTTP代理(客戶端與其相關)請求當前處于從牽引器接收的進程中的片段或片段索引,檔案存儲器發(fā)送響應(優(yōu)選地在塊編碼的HTTP響應中),以使數(shù)據(jù)一被接收到就可以被發(fā)送。一旦片段或片段索引是完整的,指定的主檔案存儲器(通過主選舉進程來選擇)試圖將所生成的文件上傳到存儲子系統(tǒng)。如上所述,與邊緣區(qū)域/服務器相關聯(lián)的復用器部件在分組到達最終客戶端之前將分組處理(復用)成期望的目標格式(TF)。解復用器進程可以與牽引器成整體;同樣地,復用器進程可以與HTTP代理進程成整體。對于多個牽引器可以有一個解復用器進程;對于多個HTTP代理可以有一個復用器進程(在特定區(qū)域內(nèi))。如上所述,在功能方面,解復用器將常規(guī)的流分組轉換成IF片段,并且復用器起相反的作用。按照定義,解復用器和復用器應當相互補充。如所述,解復用器可以是RTMP牽引器進程的一部分或可以是在RTMP牽引器機器上運行的單獨的進程。解復用器通過RTMP牽引器接收輸入。它負責做以下事情生成IF片段頭部,采用源格式并將其打包均成IF主體,添加片段流頭部,將IF片段推至檔案存儲器,分析片段并且生成與給定的FLV分組內(nèi)的關鍵幀位置有關的索引信息,將關鍵幀信息推至存儲服務器。這可相對于IF片段傳輸被同時地/同步地做出。優(yōu)選地,解復用器也負責確定片段的最優(yōu)大小,片段大小應該對HTTP代理緩存是最優(yōu)的。解復用器可以通過檢查以下的流屬性來以其決定(關于片段的最優(yōu)大小)為基礎輸入的直播流字節(jié)率/比特率;關鍵幀間隔,或兩者的組合。除構建IF片段之夕卜,解復用器也負責將流屬性和關鍵幀信息推至檔案存儲器。然后檔案存儲器可以接著創(chuàng)建將由HTTP代理/復用器使用的流清單文件以產(chǎn)生片段索引和單獨的片段請求。如上所述,復用器補充解復用器。當解復用器負責構建IF片段時,復用器負責解構IF片段并且將IF有效負載格式轉換成客戶端請求的目標格式(TF)。復用器也可以給HTTP代理提供以下信息關于HTTP分發(fā)的流的統(tǒng)計信息;和客戶端會話重放信息,如重放持續(xù)時間等,以及復用器健康狀態(tài)數(shù)據(jù)。
解復用器和復用器允許動態(tài)多路復用轉換器輸出為其他的文件格式。這使得該系統(tǒng)能夠對不同的設備能力以杠桿作用調(diào)整一組內(nèi)容源,例如,使用MPEG-2TS段的iPhone3. O 流、Microsoft Silverlight 3 (具有 H. 264 重放)、Shoutcast,等等。作為對在編碼器和檔案存儲器之間操作的上述“牽引”模式的變形,也有可能使用“基于推”的方式。視頻點播(VOD)分發(fā)以上描述的架構對直播流是有用的,特別是在格式如Flash上。以下章節(jié)描述將視頻點播(VOD)支持添加到該平臺。特別是,以下描述的解決方案提供來自客戶和基于存儲子系統(tǒng)的源的VOD流,提供單比特率和多比特率(SBR和MBR)流,提供對存儲于flv和mp4/flv容器中的源內(nèi)容的支持(所支持的mp4/flv代碼除了別的以外還包括用于音頻的AAC、MP3、PCM和用于視頻的H. 264),并且使超出由最終用戶直接請求的內(nèi)容的下載減到最少。對于VOD分發(fā),流記錄器層300(圖3中的)優(yōu)選地用轉換層來替換,如將要描述的。對于使用HTTP的VOD分發(fā),片段索引可以從動態(tài)發(fā)展(on-the-fly)的(例如,通過掃描FLV或解析MP4M00V原子)源內(nèi)容而生成并且緩存這些索引。然后實際數(shù)據(jù)檢索可以被實現(xiàn),因為“局部對象緩存(POC) ”直接從在邊緣區(qū)域處的源材料或通過中間格式(例如,通過高速緩存_h根源(parent))的中間轉換來檢索。如本文所使用的,局部對象緩存是指HTTP代理僅根據(jù)需要取得片段中的內(nèi)容對象而不是下載整個內(nèi)容對象的能力。HTTP代理可以緩存這些片段以備將來使用而不是必須在從代理被提供之后將它們釋放。以這種方式檢索內(nèi)容對象片段的源服務器必須支持HTTP范圍請求的使用。在詳細描述VOD實施方式之前,以下章節(jié)描述了 VOD內(nèi)容被卸載以用于到⑶N的HTTP分發(fā)的若干方式。在第一實施方式中,轉換工具(腳本)用于將源內(nèi)容flv轉換成IF,然后所生成的IF文件上傳到存儲子系統(tǒng)。在這種方式中,元數(shù)據(jù)用于使HTTP代理轉發(fā)到存儲子系統(tǒng)以檢索流清單,流清單然后對于剩下的內(nèi)容參照存儲子系統(tǒng)。在這種方式中,mp4/flv文件首先被轉換成flv (例如,使用ffmpeg復制模式)以將容器改變成flv。另一方式是使CDN客戶將原始媒體文件上傳到存儲子系統(tǒng)并且在那里運行轉換工具。另一種選擇是使客戶(或編碼器)直接產(chǎn)生以IF的內(nèi)容?,F(xiàn)在描述轉換層方式。在這種方式中,點播動態(tài)IF發(fā)生器機器獲得對IF(清單、索引和片段)的請求,并且通過動態(tài)地檢索flv或mp4/f4v輸出文件范圍(從存儲子系統(tǒng)或客戶源)來滿足這些請求。從那里,HTTP代理處理本質上與以上描述的“轉換工具”選項相同。該發(fā)生器機器優(yōu)選地運行其自身的HTTP代理(“轉換器HTTP代理”)以緩存各種輸入和輸出、以及接受請求(例如,從本地主機連接到轉發(fā)器HTTP代理)并且基于通過相關聯(lián)的緩存進程從HTTP代理檢索到的數(shù)據(jù)來生成IF的轉換器進程(以下描述的)。在可選方案中,轉換器進程可以包括轉換器HTTP代理的一部分,在這種情況下,IF生成發(fā)生在代理內(nèi)。片段生成也可在邊緣機器HTTP代理中或甚至另外的下游(在客戶端本身內(nèi))被執(zhí)行,例如在客戶端維持與一個或多個對等客戶端的會話連接的場合。圖7示出了優(yōu)選方式的架構和請求流程。在僅僅是代表性的和非限制性的本實施方式中,轉換層700位于起源702(例如,客戶源、或存儲子系統(tǒng)、或兩者)和流播放器層704之間。在有代表性的實施方式中,轉換層在CDN內(nèi)的其自身的部分中(例如,Microsoft IIS或等效網(wǎng)絡)執(zhí)行,優(yōu)選地在致力于此目的的區(qū)域中??蛇x地,轉換器(如以下描述)可以在基于HTTP的邊緣機器區(qū)域的子集上運行。圖8示出了有代表性的轉換器機器800。該機器與在圖2中示出的機器一樣包括CPU、存儲器、磁盤存儲器和網(wǎng)絡接口以提供可訪問互聯(lián)網(wǎng)的機器。另外,如圖8所示,在本實施方式中,轉換器機器的兩個主要部件包括HTTP代理802和轉換器進程804。HTTP代理802執(zhí)行局部對象緩存(POC)并且與轉換器進程804相互作用,這生成了流清單、索引和片段。代理和轉換器部件通過下面更加詳細地描述的共享存儲器806和流緩存進程808通過接口相互連接。作為例子最好地提供轉換機器的操作。以下章節(jié)描述了從客戶端到起源的、單比特率(SBR)流請求的請求流程,和以上描述的部件如何促進這一進程。提供了示例性URL。

如以下所使用的,“C”是指客戶端,“EG”是指邊緣機器HTTP代理,“TG”是指轉換器機器HTTP代理(如圖8中的代理802),“T”是指轉換器進程(如圖8中的進程804),以及“O”是指起源(其可以是客戶源或CDN存儲子系統(tǒng))。C — EG :當客戶端向邊緣機器HTTP代理服務器做出對期望內(nèi)容的請求時,該進程開始。有代表性的 URL 可以是如下URL http://efvod. customer, com. akamaihd. net/foo/bar/baz. mp4。EG —自身然后EG HTTP代理匹配請求模式,并且設置多個參數(shù),如“事件”、“角度”、“ 比特率”和“streamed”。實際路徑名是“事件”,并且“streamid”識別與請求相關聯(lián)的客戶配置。EG — TG :然后EG HTTP代理前進以從轉換器機器檢索流清單;優(yōu)選地,HTTP代理通過(向CDN DNS)提供元數(shù)據(jù)配置的主機名來前進,元數(shù)據(jù)配置的主機名解決與轉換器機器相關聯(lián)的地址。優(yōu)選地,請求路徑加客戶標識符作為前綴并且由每個用戶秘密例如基于在HTTP代理之間操作的認證機制來保護。有代表性的URL可以是如下http://translator.customer.com.akamaihd.net/custidl/translate/foo/bar/baz.mp4 object =manifest。TG — T :如果轉換器HTTP代理已經(jīng)產(chǎn)生流清單(或可以例如通過ICP找到流清單),該清單被返回到請求流清單的邊緣HTTP代理。否則,轉換器HTTP代理本身前進到本地主機(Iocalhost)以檢索該清單。優(yōu)選地,保留客戶標識符前綴。轉換器HTTP代理也可以在清單請求上(對轉換器進程)應用一個或多個主機頭部(host header),清單請求然后在對源內(nèi)容、元索引(metaindex)等的任何請求中被反射回至轉換器HTTP代理。優(yōu)選地,所有TG^ T相互作用均攜帶有這些相同的頭部。這些頭部確保轉換器HTTP代理僅實現(xiàn)對適當客戶的請求,并且也有助于負載平衡。使用cookie和每個客戶秘密也可以認證轉換器請求。有代表性的 URL 可以是如下http://translator, customer, com. akamaihd. net/custidl/translate/foo/bar/baz. mp4 object = manifest。轉發(fā)IP/端口 127.0.0. I :yyyyT — TG :
轉換器又使用流緩存進程和cookie從轉換器HTTP代理檢索流的“元索引”。(為了產(chǎn)生清單,通常僅檢索元索引的開始部分)。轉換器將客戶特有的秘密(來自原始請求)應用于返回到HTTP代理的元索引請求。使用“在索引”中的信息,轉換器生成流清單。有代表性的 URL 如下http://translator, customer, com. akamaihd. net/custidl/metaindex/foo/bar/baz. mp4&format = mp4。轉發(fā)IP/端口 127. 0. 0. 1:80TG — T :如果轉換器HTTP代理服務器沒有被已經(jīng)緩存的元索弓丨,它再次前進到轉換器(與清單的程序相同的程序)。有代表性的URL如下http://translator, customer, com.akamaihd. net/custidl/metaindex/foo/bar/baz. mp4&format = mp4。轉發(fā)IP/ 端口 127. 0. 0. I:yyyyT — TG :當轉換器接收到對元索引的請求時,它檢索原始內(nèi)容的小子集(通過流緩存進程使用以上與清單的程序相同的程序),轉換器HTTP代理能夠優(yōu)選地使用局部對象緩存(POC)從起源檢索原始內(nèi)容的小子集。對于flv文件,優(yōu)選地將僅讀取起始和最后的塊。對于mp4/f4v文件,優(yōu)選地在文件開頭部分的“moov”原子被全部處理。優(yōu)選地沿著這整個路徑傳遞客戶特有的前綴和秘密。有代表性的URL如下http://translator, customer, com.akamaihd. net/custidl/origin/foo/bar/baz. mp4。

轉發(fā)IP/端口 127. 0. 0. 1:80TG — 0 :轉換器HTTP代理服務器最終前進到POC缺失上的合適的起源。有代表性的URL如下URL http://some. origin, com/some/customer/prefix/foo/bar/baz. mp4。EG — TG — · · · — 0 :此時,邊緣機器HTTP代理具有清單并且需要索引。邊緣機器HTTP代理再次前進到對索引的轉換器。該進程以本質上與對清單的方式相同的方式進行。對于“mp4/f4v”文件,優(yōu)選地所有索引被預先計算并且逐字地存儲于元索引中,以便不需要mp4/f4v內(nèi)容訪問。然而,這不是要求。對于“flv”文件,產(chǎn)生完整的索引信息通常需要讀取整個文件;因此,對于這種類型的內(nèi)容,優(yōu)選地例如在flv內(nèi)容上使用二進制搜索并且然后僅下載內(nèi)容的窗口來生成小索引(例如,每一個幾秒鐘)。來自HTTP代理的轉發(fā)請求(如在流清單中的指定的)可以如下http://translator, customer, com. akamaihd. net/custidl/translate/foo/bar/baz. mp4 object = index&number = 1234&etag = 3_1234567890ab。附加的查詢字符串參數(shù)可以從清單被傳遞回到索引或片段請求,以確保在清單生成和索引/片段檢索之間可能已經(jīng)改變的任何參數(shù)之間的一致性。EG — TG — · · · — O 最后類型的請求是針對實際片段。對于mp4/f4v文件,元索引包括足以產(chǎn)生任何所請求的IF片段的指令而沒有重新解析或另外咨詢原始“moov”原子。優(yōu)選地,實際的原始數(shù)據(jù)通過POC和/或流緩存進程來被檢索并且組合成有效的IF片段。對于flv文件,通過直接尋找“desired_fragment_size* (fragment_number_l) ”并且然后向前掃描第一個有效的flv標簽來生成片段。片段的結尾剛好是在文件偏移量“desired_fragment_size* (fragment_number) ”處或之后的第一個標簽邊界。有代表性的URL如下http://translator, customer, com. akamaihd. net/custidl/translate/foo/bar/baz. mp4 object = fragment&number = 1234&etag = 3_1234567890ab。這完成了對SBR流請求的客戶端到起源請求流程的描述。以下提供關于VOD實現(xiàn)的附加的細節(jié)。元索引是二進制格式,其優(yōu)選地包括優(yōu)選地以下列順序的多個部分(i)每個流信息的固定大小的全局頭部;(ii)用于識別哪些文件被加索引的附加的“內(nèi)容檢驗器”信息,例如ETags ; (iii)流的“onMetaData”標簽;(iv)每個軌道信息,包括flv編碼解碼器標識符和AAC和H. 264所需的可選的編碼解碼器配置參數(shù);(V)(僅mp4/f4v)將片段編號映射到以下的“sample_info”的查找表;(vi)(僅mp4/f4v) IF索引;(vii)(僅mp4/f4v) “sample_info”,其描述要交錯到輸出中的每一單獨的樣本。“sample_info”本質上是從mpeg-4容器的許多復雜性提取的“moov”原子的優(yōu)化版本??傊?,這應該是相當緊湊的表示,常常小于相應的“moov”原子。

流清單可以包括多比特率(MBR)流的所有比特率。為了產(chǎn)生MBR流清單,該清單請求可以參照SMIL文件,其又包括單獨的比特率和flv或mp4/f4v源文件。對于MBR分發(fā),為了產(chǎn)生實際的清單,轉換器下載每一比特率的元索引。索引和片段請求僅需要邊緣機器HTTP代理想要播放的特定比特率的元索引文件。MBR片段和索引請求類似于它們的SBR對應物,除了它們還包括通過清單中的〈locationlnfo〉標簽中的模式添加至C — EG — TG — T鏈中的每一路徑的“smil =... ”查詢字符串變元。優(yōu)選地,實際的格式(“mp4”與“flv”)被包括在元索引、片段和索引URL中作為
“格式”查詢字符串變元。如上所述,IF生成可以發(fā)生在HTTP代理內(nèi)或與HTTP代理相關聯(lián),甚至包括邊緣機器。這允許在接近于請求最終用戶的邊緣本身創(chuàng)建內(nèi)容。事實上,這種方式(在HTTP代理中的IF生成或與HTTP代理相關聯(lián)的IF生成)可以更進一步在下游移動,即在客戶端機器本身內(nèi)。如果客戶端包括便于與對等(P2P)網(wǎng)絡的基于對等的網(wǎng)絡會話連接的軟件,這是可能的,對等網(wǎng)絡的至少一些部分基于⑶N資源,包括運行HTTP代理的邊緣機器。如上所述,在HTTP代理中(或在與其相關聯(lián)的復用器進程中)生成IF是可能的。當這種P2P網(wǎng)絡會話軟件在客戶端內(nèi)執(zhí)行時,可能在下游將擴展HTTP代理接口一直擴展到客戶端機器本身。在這個方法中,復用發(fā)生在客戶端本身中,在這種情況下,邊緣機器僅成為在包括客戶端分發(fā)機構的緩存層中的“根源”高速緩沖存儲器。這種方式還可以與具有有限帶寬的移動設備一起使用。以上描述的方式提供許多優(yōu)勢。本文描述的技術有助于在HTTP-邊緣網(wǎng)絡上分發(fā)高清視頻和音頻(包括先進的視頻特征,如DVR),在典型的CDN中,HTTP-邊緣網(wǎng)絡是具有最大覆蓋區(qū)的網(wǎng)絡。通過實現(xiàn)這些技術,提供者可以以杠桿作用調(diào)整其現(xiàn)有的基于HTTP的服務器,而不必實現(xiàn)和維持專用服務器網(wǎng)絡以支持多個第三方運行環(huán)境。另外,由于分發(fā)是基于HTTP的,所以內(nèi)容可被無縫地分發(fā)到在固定線路和移動環(huán)境中操作的客戶端。不需要特殊的客戶端軟件,因為HTTP代理服務器(其響應于客戶端請求)動態(tài)地重組它獲得的片段并通過HTTP提供所請求的內(nèi)容。另外,由于在CDN的這組相互連接的機器組內(nèi)的分發(fā)優(yōu)選地利用中間格式,網(wǎng)絡可以按一種格式吸收內(nèi)容,然而用另一種格式提供該內(nèi)容,而保留單比特率或多比特率和類似DVR的功能。因此,例如,網(wǎng)絡可以接受直播RTMP分組并且提供內(nèi)容作為FLV漸進式下載。優(yōu)選地,流的每一 IF片段是HTTP代理的單獨的對象,其可以通過HTTP來被訪問、緩存和服務。依據(jù)該方案,流被分解為許多小對象(片段),并且每一片段被單獨地管理。網(wǎng)絡并不僅限于用在任何特定的運行環(huán)境如Flash上。通過以杠桿作用調(diào)整如所述的方式,可對不同的設備能力以杠桿作用調(diào)整單組內(nèi)容源。因此,如本文所述的技術包括以對內(nèi)容提供者和最終用戶透明的方式動態(tài)地將內(nèi)容改變成其他的文件格式。中間格式可以基于或適合于多媒體內(nèi)容的分發(fā)和重放可以使用的任何方便的多媒體文件格式。這些包括但不限于成片段的mp4、被保護的可互操作的文件格式(PifT)等。更一般地,可以使用任何基于鏈接的列表的文件格式。優(yōu)選地,⑶N服務提供者提供外聯(lián)網(wǎng)(基于網(wǎng)絡的門戶),流分發(fā)通過外聯(lián)網(wǎng)來提
供。 以上描述的每一進程優(yōu)選地在計算機軟件中被實現(xiàn)為在作為專用機器的一個或多個處理器中可執(zhí)行的程序指令。有代表性的機器(其上提供了本文主題)可以基于英特爾奔騰計算機,其運行Linux或Linux變體操作系統(tǒng)和一個或多個應用來實現(xiàn)所描述的功能。以上描述的一個或多個進程被實現(xiàn)為用于執(zhí)行所描述的功能的計算機程序,即,一組計算機指令。雖然以上描述了由本發(fā)明的某些實施方式實現(xiàn)的操作的特定順序,應當理解,這種順序是示例性的,因為可選的實施方式可以以不同的順序執(zhí)行這些操作,組合某些操作、重復某些操作等。在本說明書中對給定的實施方式的提及指示所描述的實施方式可包括特定的特征、結構或特性,但每一實施方式可以不一定包括特定特征、結構或特性。雖然在方法或過程的背景中描述了所公開的主題,該主題還涉及用于執(zhí)行本文的操作的裝置。該裝置可以是為了所需目的而特別構建的特定機器,或者它可以包括計算機,其另外選擇性地由存儲于計算機中的計算機程序啟動或重新配置。這種計算機程序可以被存儲于計算機可讀存儲介質中,例如但不限于任何類型的磁盤,包括光盤、CD-ROM、和磁光盤、只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁卡或光卡、或適合于存儲電子指令的任何類型的介質,并且每個介質均連接至計算機系統(tǒng)總線。本發(fā)明的給定的實現(xiàn)是用給定的編程語言編寫的軟件,其結合在標準的英特爾硬件平臺上的DNS兼容的名稱服務器(例如,BIND)運行,該英特爾硬件平臺運行操作系統(tǒng)如Linux。功能可被內(nèi)建到名稱服務器代碼中,或它可以被執(zhí)行為該代碼的附件。實現(xiàn)本文的技術的機器包括處理器、保存由處理器執(zhí)行的指令的計算機存儲器,以執(zhí)行以上描述的方法。雖然單獨地描述了該系統(tǒng)的給定的部件,普通技術人員將認識到,可以組合或在給定的指令、程序序列、代碼部分及其他類似物中共享一些功能。在描述了我們的發(fā)明后,現(xiàn)在我們的權利要求如下。
權利要求
1.一種在內(nèi)容分發(fā)網(wǎng)絡(CDN)中進行流式傳輸?shù)姆椒?,包? 通過以下子步驟記錄流 在入口點接收源格式的流; 將所述流轉換成中間格式(IF),其中所述中間格式是用于在CDN內(nèi)分發(fā)所述流的內(nèi)部格式,并且包括流清單、一組一個或多個片段索引(FI)和一組IF片段;以及以所述中間格式將所述流存檔;以及通過以下子步驟播放所述流 響應于在邊緣服務器進程接收到對所述流或其一部分的請求,將所述流清單和至少一個片段索引檢索到所述邊緣服務器進程; 使用所述片段索引,將所述IF片段檢索到所述邊緣服務器進程; 將所述IF片段轉換成目標格式;以及 以所述目標格式提供所述流。
2.如權利要求I所述的方法,其中所述源格式與所述目標格式相同。
3.如權利要求I所述的方法,其中所述IF片段經(jīng)由HTTP被檢索到所述邊緣服務器進程。
4.如權利要求I所述的方法,其中通過HTTP執(zhí)行所述存檔。
5.如權利要求I所述的方法,其中所述流是直播流和DVR流中的一個。
6.如權利要求I所述的方法,還包括緩存預定數(shù)量的IF片段用于直播流重放。
7.如權利要求I所述的方法,還包括存儲所述IF片段。
8.一種裝置,包括 一組相互連接的機器,每一機器包括處理器和用于保存計算機程序指令的計算機存儲器,當所述計算機程序指令由所述處理器執(zhí)行時,有助于基于HTTP的流分發(fā)的方法,所述方法包括 將所述流從源格式轉換成中間格式(IF),其中所述中間格式是用于在所述一組相互連接的機器內(nèi)分發(fā)所述流的內(nèi)部格式,所述中間格式包括流清單、一組一個或多個片段索引(FI)和一組IF片段; 存儲所述流清單、所述一組一個或多個片段索引和所述一組IF片段; 響應于收到對所述流或其一部分的請求,檢索所述流清單和至少一個片段索引; 使用所述片段索引,通過HTTP檢索一個或多個IF片段; 將所檢索到的IF片段轉換成目標格式;以及 響應于對所述流或其一部分的所述請求,通過HTTP以所述目標格式提供所述流。
9.如權利要求8所述的裝置,其中所述流是直播流、DVR流和VOD中的一個。
10.如權利要求8所述的裝置,其中所述源格式與所述目標格式相同。
11.如權利要求9所述的裝置,其中對于直播流,所述方法包括以所述中間格式將所述流的當前部分存檔。
12.如權利要求9所述的裝置,其中對于直播流,所述方法包括在第一機器將構成所述流的第一部分的IF片段存檔,并在第二機器存儲構成所述流的第二部分的IF片段,所述第二部分與所述第一部分相比是較舊的。
全文摘要
一種分發(fā)直播流的方法在內(nèi)容分發(fā)網(wǎng)絡(CDN)內(nèi)被實現(xiàn)并包括用記錄層記錄流和用播放器層播放流的高級功能。記錄流的步驟包括當流在CDN入口點以源格式被接收到時開始的一組子步驟。然后流被轉換成中間格式(IF),其是用于在CDN內(nèi)分發(fā)流的內(nèi)部格式且包括流清單、一組一個或多個片段索引(FI)和一組IF片段。當請求客戶端與CDN HTTP代理服務器相關時播放過程開始。響應于在HTTP代理接收到對流或其一部分的請求,HTTP代理檢索流清單和至少一個片段索引(從檔案庫或數(shù)據(jù)存儲器)。使用片段索引,IF片段被檢索到HTTP代理,被轉換成目標格式,然后響應于客戶端請求而被提供。源格式可與目標格式相同或不同。優(yōu)選地,通過HTTP由HTTP代理訪問、緩沖和提供所有片段。在另一實施方式中,分發(fā)流點播(VOD)的方法使用轉換層(代替記錄層)來管理IF組件的創(chuàng)建和/或處理。
文檔編號G06F15/16GK102792291SQ201080046681
公開日2012年11月21日 申請日期2010年8月17日 優(yōu)先權日2009年8月17日
發(fā)明者克里斯多佛·R·諾克斯, 威廉·勞, 托馬斯·德瓦尼奧, 查克·伯納德, 菲利普·A·里斯基, 詹姆斯·馬頓, 阿肖克·拉爾瓦尼 申請人:阿卡麥科技公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
贺兰县| 凌海市| 罗城| 库尔勒市| 东城区| 江永县| 吐鲁番市| 城市| 宁南县| 修武县| 团风县| 桂东县| 宜川县| 天津市| 三亚市| 富宁县| 辽阳县| 泰安市| 密山市| 宁南县| 苍山县| 买车| 化德县| 山东| 勐海县| 郯城县| 延川县| 佛山市| 珲春市| 绥化市| 海阳市| 遂溪县| 米脂县| 四川省| 新郑市| 高密市| 桦南县| 建湖县| 藁城市| 阿合奇县| 古蔺县|