個人過頂網(wǎng)絡(luò)視頻記錄器的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明一般涉及過頂(over-the-top,0ΤΤ)媒體交付。
【背景技術(shù)】
[0002] 對于0ΤΤ媒體交付的一個已知技術(shù)采用媒體對象分段和由客戶端(或它們的代理) 使用播放列表或"清單"以為了媒體對象的本地客戶端重放而采用有序方式檢索段。除其 他益處外,基于段的交付可以更容易由通用且廣泛實現(xiàn)的網(wǎng)絡(luò)協(xié)議(例如HTTP)提供,從而 避免伴隨更專用媒體交付協(xié)議的各種成本和復雜性。
【發(fā)明內(nèi)容】
[0003] 公開與實時交付、時移交付和未來按需視頻(VoD)交付一起使用的實時流播內(nèi)容 的一次性處理的技術(shù)。該技術(shù)可大體上稱為"網(wǎng)絡(luò)個人視頻記錄器"或"npvr"。特別地, 公開的技術(shù)采用客戶端代理,其大量使用清單來向客戶端裝置提供各種交付功能。在使用 清單中利用不同交付模式之中的某些共性,使得清單操縱功能可以在操作中跨不同用戶調(diào) To
[0004] 特別地,公開對內(nèi)容的服務(wù)器端處理來支持網(wǎng)絡(luò)個人視頻記錄器功能的方法。該 方法包括持續(xù)執(zhí)行以下步驟:(i)獲取包含節(jié)目的實時流播源內(nèi)容,(ii)將獲取的源內(nèi)容 轉(zhuǎn)碼成截然不同的編碼來創(chuàng)建相應(yīng)的內(nèi)容流,以及(iii)將內(nèi)容流分段成段并且將這些段 上傳到一個或多個內(nèi)容交付網(wǎng)絡(luò)(CDN)以用于在媒體播放器處渲染節(jié)目中檢索和使用。在 這里"節(jié)目"指實時流播內(nèi)容的部分。它可對應(yīng)于或可不對應(yīng)于通常意義上的"節(jié)目",例如 電視演出等。節(jié)目邊界可通過各種手段來檢測,其包括帶內(nèi)SCTE-35提示音、帶外信號等。
[0005] 方法進一步包括對節(jié)目生成清單并且持續(xù)更新清單并且在將段上傳到⑶N時 向CDN上傳更新的清單。清單包括主清單和對于編碼中相應(yīng)編碼的網(wǎng)絡(luò)個人視頻記錄器 (npvr)清單集,其中主清單包括對npvr清單集的引用,用于使得能夠在媒體播放器處植染 節(jié)目中從編碼之中選擇,并且npvr清單是在上傳新的段時更新的逐漸增長的非滑動窗口 清單。
[0006] 在源內(nèi)容中檢測到節(jié)目的節(jié)目邊界時,在CDN的當前目錄中完成npvr清單的當前 集。然后在CDN中創(chuàng)建新的目錄并且新的npvr清單集在這些新的目錄中開始。后續(xù)段和 npvr清單更新被上傳到新的目錄。
[0007] 還公開用于渲染在一個或多個截然不同的編碼中可用的內(nèi)容的客戶端方法,這些 編碼每個包括相應(yīng)的有序段集。該方法包括代理從媒體播放器到內(nèi)容服務(wù)器的清單請求、 為要交付的請求內(nèi)容選擇優(yōu)選編碼、確定滿足內(nèi)容請求所需要的npvr清單集以及獲得選 擇的與所選編碼關(guān)聯(lián)的npvr清單集中的一個或多個npvr清單規(guī)定相應(yīng)編碼的段的位點。 從選擇的npvr清單還創(chuàng)建變體清單并且將其提供給媒體播放器以供在獲得相應(yīng)編碼段中 使用以用于內(nèi)容重放??刹捎貌煌愋偷淖凅w清單來支持不同功能性,其包括滑動窗口型 變體清單(g卩,從npvr清單生成),用于實時流播或時移重放。非滑動窗口型變體清單(即, npvr清單的修改版本)可以用于支持預錄媒體的交付,例如,按需視頻。
【附圖說明】
[0008] 前述和其他目標、特征和優(yōu)勢將從如在附圖(其中類似的參考字符在不同視圖中 始終指相同零件)中圖示的本發(fā)明的特定實施例的下列描述顯而易見。
[0009] 圖1是根據(jù)各種實施例能夠?qū)嵤┒说蕉藘?nèi)容交付過程的系統(tǒng)的框圖; 圖2是根據(jù)各種實施例能夠?qū)嵤┒说蕉藘?nèi)容交付過程的系統(tǒng)的框圖; 圖3是示出根據(jù)各種實施例用于執(zhí)行媒體預備的方法的流程圖; 圖4是示出根據(jù)各種實施例用于執(zhí)行實時內(nèi)容渲染的方法的流程圖; 圖5A和5B是示出根據(jù)各種實施例用于執(zhí)行時移內(nèi)容渲染的方法的流程圖;以及 圖6是示出根據(jù)各種實施例用于執(zhí)行VoD內(nèi)容渲染的方法的流程圖。
[0010] 具體實施例方式 在本文對于實施例的描述中,提供許多特定細節(jié),例如部件和/或方法的示例,來提供 全面理解。然而,相關(guān)領(lǐng)域內(nèi)技術(shù)人員將認識到實施例可以在沒有特定細節(jié)中的一個或多 個的情況下或利用其他設(shè)備、系統(tǒng)、組件、方法、部件、材料、零件和/或類似物來實踐。在其 他實例中,未專門示出或詳細描述眾所周知的結(jié)構(gòu)、材料或操作以避免使實施例的方面混 淆不清。
[0011] 圖1中是對于系統(tǒng)1〇〇的一個實施例的框圖。該系統(tǒng)具有多個網(wǎng)絡(luò)連接的部件, 其包括工作流程管理器(WFM) 102、媒體處理服務(wù)器或"包裝器"104、流播代理106、內(nèi)容交 付網(wǎng)絡(luò)(⑶N) 108、客戶端媒體播放器或"客戶端"110和內(nèi)容管理系統(tǒng)(CMS) 112。它還包 括廣告決策管理器(ADM)114,其具有到代理106的連接。在圖示的實施例中,代理106與客 戶端110分開-它可定位在遠離其中定位客戶端110的客戶端型計算機(個人計算機,等) 的服務(wù)器型計算機中。在下文描述的備選實施例中,代理106可作為客戶端110的部分而 包括。
[0012] -般,系統(tǒng)操作成使用例如HTTP實時流播(HLS)、基于HTTP的動態(tài)自適應(yīng)流播 (DASH)、SmoothStreaming(平滑流播)等基于段的內(nèi)容交付機制或任何其他HTTP自適應(yīng)流 播(HAS)協(xié)議來將內(nèi)容從CDN108交付給客戶端110如本領(lǐng)域內(nèi)技術(shù)人員應(yīng)已知的。術(shù)語 "基于段"應(yīng)理解為意指比視頻的全持續(xù)時間或長度更小的視頻數(shù)據(jù)單位。盡管"段"文件 與文件內(nèi)的"片段"之間的語義區(qū)分應(yīng)被本領(lǐng)域內(nèi)技術(shù)人員所知,這里使用的術(shù)語"段"應(yīng) 理解為同樣適用于段、片段、塊等(如由指定協(xié)議描述的)_從較長內(nèi)容塊得到的部分視頻數(shù) 據(jù)單位。客戶端110請求如由播放列表或"清單"描述的段,如本領(lǐng)域內(nèi)大體上已知的。如 在下文詳細描述的,代理106在創(chuàng)建和使用清單來向客戶端110提供某些重放功能中牽涉 較多。
[0013] 工作流程管理器(WFM) 102從內(nèi)容管理系統(tǒng)(CMS) 112接收實時流播內(nèi)容攝入請 求。WFM102指示包裝器104開始處理實施流播內(nèi)容、將內(nèi)容轉(zhuǎn)碼成如由CMS112定義并且 通過WFM102配置的多個截然不同的編碼(例如,以不同比特率/幀率/分辨率的音頻或視 頻、采用不同語言或字幕的音頻或不同的加密算法或密鑰)、對個體比特率流分段、對段加 密以及將段上傳到多個內(nèi)容交付網(wǎng)絡(luò)(CDN) 108。
[0014] 媒體處理服務(wù)器104 (在本文稱為包裝器104)從WFM102接收的編碼配置生成 主清單。包裝器104對每個編碼生成變體清單(在本文稱為npvr清單)。對于指定編碼的npvr清單是在生成對于編碼的每個段時更新的非滑動窗口清單。段被上傳并且然后npvr 清單也被上傳。npvr清單在大小上增長直到節(jié)目是完成的。在節(jié)目完成時,清單終結(jié)并且 對下一個節(jié)目創(chuàng)建新的節(jié)目目錄和新的npvr清單。每個新的清單包含到之前的有序npvr 清單的指針。在清單終結(jié)時,用對下一個有序npvr清單的指針來更新它。
[0015] 術(shù)語"節(jié)目"在本文主要用于描述對應(yīng)于npvr清單的實時流播內(nèi)容的部分。它可 或可不對應(yīng)于一般意義上的"節(jié)目",例如電視演出等。在一個實施例中,節(jié)目邊界經(jīng)由帶內(nèi) SCTE-35提示音來檢測。在另一個實施例中,節(jié)目邊界基于帶外SCTE-118或?qū)S须娮庸?jié)目 指南(EPG)協(xié)議數(shù)據(jù)來檢測。在另一個實施例中,節(jié)目邊界使用固定節(jié)目持續(xù)時間來定期 生成(例如,每30分鐘)。在另一個實施例中,節(jié)目可由用戶通過提供固定時間范圍(例如, 規(guī)定對于記錄的開始和結(jié)束時間或?qū)τ谟涗浀拈_始時間和持續(xù)時間)來定義。如本領(lǐng)域內(nèi) 技術(shù)人員應(yīng)已知的,存在定義節(jié)目邊界的多種方式。應(yīng)理解節(jié)目邊界檢測的任何方法可適 用于本發(fā)明。
[0016] 在一個實施例中,對于僅具有一個段的新節(jié)目的初始npvr清單可使用M3U8格式 而宭起夾如下:
npvr清單用節(jié)目信息和到之前的npvr清單的指針來初始化。
[0017] 在一個實施例中,掛鐘時戳信息作為對于每個段的注釋而包括。在一個實施例中, 加密密鑰ID信息作為對于每個段的注釋而包括。在一個實施例中,評級信息被作為對于每 個段的注釋來包括。如本領(lǐng)域內(nèi)技術(shù)人員應(yīng)已知的,存在許多方式來代表掛鐘時間、密鑰信 息和評級信息。對于掛鐘時間、密鑰信息和評級信息的任何有效表示應(yīng)視為有效地與本發(fā) 明一起使用。
[0018] 繼續(xù)上文描述的實施例的示例,在十秒(一個段持續(xù)時間)后,npvr清單應(yīng)用第二 段來更新并且看起來如下:
繼續(xù)對于上文描述的實施例的示例,一旦節(jié)目稍后完成599個段,完成的清單將看起 來如下:
npvr清單用到下一個有序npvr清單的指針和ENDLIST標記來更新。在上文的示例中, 密鑰旋轉(zhuǎn)在某一點出現(xiàn),從而對于最后段的加密密鑰ID與第一段的加密密鑰ID不同。 [0019] 在一個實施例中,目錄結(jié)構(gòu)節(jié)目基于節(jié)目邊界、處理節(jié)目的日期和時間以及源流 ID和轉(zhuǎn)碼比特率而是分級的,例如:
其中<media_id>標識源流,〈year〉、〈month〉和〈day〉代表處理初始節(jié)目段的日期, <zp_seq>-〈pid>代表對于詞典編篡排序具有零填充序號的節(jié)目標識符,〈bitrate〉代表轉(zhuǎn) 碼比特率(盡管更一般地描述編碼,例如不同的比特率/分辨率音頻/視頻、不同的語言音 頻和字幕,和/或不同的加密算法),并且〈limit〉代表目錄大小限制對于長運行節(jié)目可減 弱的額外水平。在一個實施例中,<pid>對應(yīng)于用于使節(jié)目元數(shù)據(jù)相關(guān)的唯一標識符。在 一個實施例中,節(jié)目標識符可包含額外關(guān)系元數(shù)據(jù),其使節(jié)目與以下中的一個或多個關(guān)聯(lián): 特定內(nèi)容提供者,特定節(jié)目系列、個別節(jié)目片段、在指定時間播放的節(jié)目的唯一實例,等。應(yīng) 理解節(jié)目標識符在該上下文中是對于要處理的npvr節(jié)目的通用標識符并且不一定與對于 通用術(shù)語節(jié)目或在指定元數(shù)據(jù)定義的上下文內(nèi)使用的術(shù)語節(jié)目的指定語義含義相關(guān),如本 領(lǐng)域內(nèi)技術(shù)人員應(yīng)已知的。在一個實施例中,當節(jié)目邊界基于固定節(jié)目持續(xù)時間而確定時, <pid>可指示節(jié)目開始的掛鐘時間。
[0020] 在一個實施例中,npvr清單是HTTP實時流播變體清單。清單的完成牽涉將 ENDLIST標記添加到npvr清單的末端并且添加注釋以指向新節(jié)目目錄中的下一個有序 npvr清單。新的npvr清單應(yīng)用指向剛剛完成的之前的有序npvr清單的注釋來初始化。 在一個實施例中,在節(jié)目邊界上生成新的加密密鑰并且對該新密鑰的引用包括在新的npvr 清單中。在另一個實施例中,最后的加密密鑰從之前的npvr清單延續(xù)并且對應(yīng)地生成初始 化向量(IV)信息。在一個實施例中,IV信息在MEDIA-SEQUENCE標記中設(shè)置。在另一個實 施例中,IV信息用KEY標記來顯式設(shè)置。在一個實施例中,包裝器104在與npvr清單中的 每個段關(guān)聯(lián)的注釋中插入掛鐘時戳、加密密鑰和評級信息。在再另一個實施例中,在節(jié)目中 間可存在密鑰改變并且延續(xù)到下一個節(jié)目。
[0021] 在一個實施例中,包裝器104檢測實時內(nèi)容流中的廣告。在一個實施例中,包裝器 104基于帶內(nèi)消息(例如,SCTE-35提示音)來檢測廣告。在另一個實施例中,使用掛鐘開始時 間和持續(xù)時間或?qū)τ趶V告的結(jié)束時間來告知包裝器104廣告播放時間的先驗帶外(priori out-of-band)。如本領(lǐng)域內(nèi)技術(shù)人員應(yīng)已知的,存在多個方式來定義廣告邊界。應(yīng)理解廣 告邊界檢測的任何方法可適用于本發(fā)明。在一個實施例中,廣告開始和停止作為注釋和/ 或間斷指示符而包括在npvr清單中。在一個實施例中,即將到來的廣告開始和停止指示符 作為注釋包括在npvr清單中。擴展上文的M3U8示例,下列清單示出這樣的示例,其中節(jié)目 出點(POP)間斷(廣告開始)和節(jié)目入點(PIP)間斷(廣告結(jié)束)通知在段1006 (廣告的第一 段)之前和段1008 (廣告的最后的段)之后插入npvr清單內(nèi),從而標注由于廣告插入引起 的流中的可能間斷。對于段1005和1008的EXT-AZK-SEG注釋也分別標注即將到來的PIP 和POP:
當客戶端110希望重放實時流播內(nèi)容時,它向代理106發(fā)出對主清單的請求。代理106 使用從WFM102收集的信息來對客戶端110生成主清單。在一個實施例中,代理1