亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種hls節(jié)目錄制和服務(wù)的系統(tǒng)和方法

文檔序號(hào):7807326閱讀:576來(lái)源:國(guó)知局
一種hls節(jié)目錄制和服務(wù)的系統(tǒng)和方法
【專利摘要】本發(fā)明公開(kāi)了一種HLS節(jié)目錄制的方法,該方法應(yīng)用于HLS節(jié)目錄制和服務(wù)系統(tǒng)中,所述的方法包括以下步驟:通過(guò)索引下載信息下載索引文件,當(dāng)索引文件中包含子索引文件時(shí),分析下載索引中的子索引下載信息,當(dāng)索引中包含TS文件時(shí)分析下載索引中的TS文件的下載信息;當(dāng)獲取到子索引下載信息后下載子索引文件,分析子索引文件中包含的TS文件下載信息。當(dāng)獲取到TS文件下載信息后下載TS文件,對(duì)下載的TS文件進(jìn)行記錄。按FIFO的方式對(duì)下載TS文件進(jìn)行回滾。對(duì)于下載的TS文件的記錄,采用數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)管理或者通過(guò)數(shù)據(jù)結(jié)構(gòu)的方式進(jìn)行存儲(chǔ)管理。本發(fā)明還公開(kāi)了一種HLS節(jié)目錄制的系統(tǒng)。
【專利說(shuō)明】一種HLS節(jié)目錄制和服務(wù)的系統(tǒng)和方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及多媒體【技術(shù)領(lǐng)域】,更具體地,涉及一種HLS(HTTP Live Streaming,http直播流)節(jié)目錄制和服務(wù)的方法及系統(tǒng)。

【背景技術(shù)】
[0002]隨著流媒體技術(shù)的發(fā)展,在基于實(shí)時(shí)流式傳輸?shù)牧髅襟w方式盛行的今天,基于HTTP (Hypertext transfer protocol,超文本傳輸協(xié)議)的自適應(yīng)流媒體方式逐漸浮出水面?;贖TTP的自適應(yīng)流媒體方式宣稱主要有這個(gè)幾個(gè)優(yōu)點(diǎn):
[0003]1.提供多種碼率。
[0004]2.在通過(guò)防火墻方面比實(shí)時(shí)流式傳輸要支持的更好。
[0005]3.Q)N(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))不用部署流媒體技術(shù),可以使用緩存
[0006]4.對(duì)于網(wǎng)絡(luò)供應(yīng)商提供更好的網(wǎng)絡(luò)利用率。
[0007]仔細(xì)分析下基于HTTP的自適應(yīng)流媒體方式。該方式將節(jié)目?jī)?nèi)容分成很多的小片段,例如10秒鐘或2秒鐘一個(gè)片段。然后通過(guò)一個(gè)播放列表描述文件,將這些片段組織在一起。播放列表文件中,描述了這些片段的URL (Uniform/Universal Resource Locator,統(tǒng)一資源定位符)、時(shí)長(zhǎng)、屬性(例如不同碼率)、時(shí)間關(guān)系等??蛻舳它c(diǎn)播直播內(nèi)容時(shí),則內(nèi)容生成端需要持續(xù)生成新的媒體片段,同時(shí)更新相應(yīng)的播放列表文件??蛻舳藙t需要周期性的獲取更新后的播放列表文件,然后根據(jù)列表文件中的描述,通過(guò)web服務(wù)器下載最新的媒體片段。與傳統(tǒng)的IPTV(Interactive Personality Televis1n,交互式網(wǎng)絡(luò)電視)直播業(yè)務(wù)相比,由于客戶端需要緩存一定數(shù)量的媒體片段后,才能開(kāi)始解碼播放,所以與傳統(tǒng)方式觀看到的直播內(nèi)容相比,存在比較大的延遲。
[0008]傳統(tǒng)的節(jié)目錄制,在服務(wù)器側(cè)的實(shí)現(xiàn)要求服務(wù)器針對(duì)每個(gè)錄制請(qǐng)求單獨(dú)生成錄制文件,這樣就帶來(lái)幾個(gè)問(wèn)題,一個(gè)是存儲(chǔ)存在浪費(fèi),存儲(chǔ)文件不共享,幾個(gè)時(shí)間上存在重疊的錄制文件,重疊的文件無(wú)法共享,即時(shí)通過(guò)軟鏈接和分段錄制解決了文件共享的文件,又帶來(lái)了管理的復(fù)雜性。
[0009]具體到HLS格式的節(jié)目錄制,如果針對(duì)每一次錄制生成一個(gè)固定的M3U8文件,會(huì)出現(xiàn)以下問(wèn)題:
[0010]I)碼率數(shù)目變化時(shí),對(duì)正在錄制的內(nèi)容會(huì)有影響,可能導(dǎo)致無(wú)法播放;
[0011]2)HLS版本兼容性變化時(shí),對(duì)正在錄制的內(nèi)容會(huì)有影響;
[0012]3)單個(gè)分片文件下拉失敗或?qū)懯。赡軙?huì)導(dǎo)致節(jié)目單錄制失??;
[0013]4)無(wú)法針對(duì)用戶做到差異化服務(wù)。


【發(fā)明內(nèi)容】

[0014]發(fā)明目的:本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)現(xiàn)有技術(shù)的不足,提供一種HLS節(jié)目錄制和服務(wù)的方法和系統(tǒng),解決系統(tǒng)復(fù)雜性、版本兼容、可靠性和差異化服務(wù)的問(wèn)題。
[0015]本發(fā)明提供了一種HLS節(jié)目錄制的方法,該方法應(yīng)用于HLS節(jié)目錄制和服務(wù)系統(tǒng)中,所述的方法包括以下步驟:
[0016]通過(guò)索引下載信息下載索引文件,當(dāng)索引文件中包含子索引文件時(shí),分析下載索引中的子索引下載信息,當(dāng)索引中包含TS文件時(shí)分析下載索引中的TS文件的下載信息;當(dāng)獲取到子索引下載信息后下載子索引文件,分析子索引文件中包含的TS文件下載信息。
[0017]當(dāng)獲取到TS文件下載信息后下載TS文件,對(duì)下載的TS文件進(jìn)行記錄。
[0018]按FIFO的方式對(duì)下載TS文件進(jìn)行回滾。
[0019]對(duì)于下載的TS文件的記錄,采用數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)管理或者通過(guò)數(shù)據(jù)結(jié)構(gòu)的方式進(jìn)行存儲(chǔ)管理。
[0020]對(duì)于索引文件和TS文件以頻道ID作為索引,包含文件碼率、文件名字、文件類型、下載路徑、文件下拉狀態(tài)、本頻道本碼流的內(nèi)部編號(hào)、本地存儲(chǔ)路徑等字段組成記錄錄入數(shù)據(jù)庫(kù)或放入數(shù)據(jù)結(jié)構(gòu)中維護(hù)。
[0021]更優(yōu)化的方案,該方法進(jìn)一步包括,HLS節(jié)目錄制時(shí),在系統(tǒng)運(yùn)行允許的時(shí)間范圍內(nèi),對(duì)于HLS節(jié)目錄制時(shí),在系統(tǒng)運(yùn)行允許的時(shí)間范圍內(nèi),不對(duì)實(shí)際的錄制節(jié)目生成實(shí)際的M3U8文件。具體M3U8文件生成在用戶服務(wù)時(shí),通過(guò)查詢記錄的TS文件下載信息和頻道信息生成,生成格式滿足HLS規(guī)范要求。
[0022]更優(yōu)化的方案,該方法進(jìn)一步包括,HLS節(jié)目錄制時(shí),在系統(tǒng)運(yùn)行允許的時(shí)間范圍之外,不進(jìn)行錄制。
[0023]更優(yōu)化的方案,該方法進(jìn)一步包括,當(dāng)達(dá)到存儲(chǔ)的閾值(閾值可設(shè)置,范圍80% -99% )時(shí),對(duì)TS文件按照FIFO方式進(jìn)行回滾刪除。
[0024]本發(fā)明提供了一種HLS錄制節(jié)目服務(wù)的方法,該方法應(yīng)用于HLS節(jié)目錄制和服務(wù)系統(tǒng)中,所述的方法包括以下步驟:
[0025]對(duì)于用戶的M3U8文件請(qǐng)求,查詢所選TS文件下載信息和所歸屬的頻道信息;
[0026]根據(jù)查詢到的TS文件下載信息和所歸屬的頻道信息,生成用戶所需的M3U8文件內(nèi)容,并給用戶提供服務(wù);
[0027]對(duì)于用戶的TS文件請(qǐng)求,定位用戶所需TS文件讀取,并給用戶提供服務(wù)。
[0028]更優(yōu)化的方案,該方法進(jìn)一步包括,通過(guò)用戶的M3U8文件請(qǐng)求,提取出頻道信息和時(shí)間起止信息,根據(jù)頻道信息和時(shí)間起止信息過(guò)濾TS文件下載信息,按照每個(gè)碼率和每個(gè)分片的時(shí)間順序生成對(duì)應(yīng)的M3U8文件。
[0029]更優(yōu)化的方案,該方法進(jìn)一步包括,通過(guò)用戶的M3U8文件請(qǐng)求,提取出頻道信息和時(shí)間起止信息,根據(jù)頻道信息和時(shí)間起止信息過(guò)濾TS文件下載信息,按照每個(gè)碼率和每個(gè)分片的時(shí)間順序生成對(duì)應(yīng)的M3U8文件時(shí),還可以根據(jù)用戶請(qǐng)求URL攜帶的用戶等級(jí)信息,查詢系統(tǒng)中維護(hù)的用戶等級(jí)信息和碼率的對(duì)應(yīng)關(guān)系,對(duì)返回給用戶請(qǐng)求響應(yīng)的主M3U8索引文件只生成包含對(duì)應(yīng)碼率的M3U8文件。
[0030]更優(yōu)化的方案,該方法進(jìn)一步包括,對(duì)主M3U8索引文件中包含的子索引,可以根據(jù)版本配置情況修改M3U8對(duì)應(yīng)的HLS版本信息,按HLS規(guī)范不同版本的要求,生成對(duì)應(yīng)的標(biāo)簽。
[0031]本發(fā)明提供了一種HLS節(jié)目錄制和服務(wù)的系統(tǒng),包括:
[0032]1、內(nèi)容處理單元——負(fù)責(zé)獲取HLS源內(nèi)容的TS文件和M3U8文件,和TS文件的刪除;
[0033]2、數(shù)據(jù)管理單元——負(fù)責(zé)獲取數(shù)據(jù)的登記、記錄、管理、老化功能;
[0034]3、M3U8管理單元——負(fù)載M3U8的解析和生成;
[0035]4、服務(wù)單元——負(fù)責(zé)根據(jù)用戶請(qǐng)求對(duì)M3U8文件和其他TS文件進(jìn)行服務(wù)。
[0036]首先服務(wù)器會(huì)根據(jù)數(shù)據(jù)管理單元中登記的頻道編號(hào),M3U8級(jí)數(shù),M3U8協(xié)議版本號(hào),主M3U8下載路徑,文件存放路徑,分片時(shí)長(zhǎng)建立頻道任務(wù),通知內(nèi)容處理單元根據(jù)主M3U8下載路徑去獲取HLS源服務(wù)器上的主M3U8文件。
[0037]獲取到的M3U8文件交由M3U8管理單元進(jìn)行解析,將M3U8中獲取到的相對(duì)路徑或絕對(duì)路徑放置以及文件碼率、文件名字、文件類型、下載路徑、文件下拉狀態(tài)、本頻道本碼流的內(nèi)部編號(hào)、本地存儲(chǔ)路徑等字段組成記錄錄入數(shù)據(jù)庫(kù)或放入數(shù)據(jù)結(jié)構(gòu)中維護(hù)。
[0038]數(shù)據(jù)管理單元持續(xù)的將新的內(nèi)容獲取文件下拉狀態(tài)為未下拉的任務(wù)下發(fā)給內(nèi)容處理單元,內(nèi)容處理單元下載M3U8文件和TS文件。
[0039]當(dāng)用戶服務(wù)請(qǐng)求達(dá)到服務(wù)單元時(shí),服務(wù)單元通過(guò)用戶的M3U8文件請(qǐng)求的URL進(jìn)行解析,獲取到錄制節(jié)目的開(kāi)始時(shí)間、結(jié)束時(shí)間信息和頻道信息和其他用戶信息,請(qǐng)求M3U8管理單元生成用戶所需的M3U8信息。
[0040]M3U8管理單元通過(guò)獲得參數(shù)信息,從數(shù)據(jù)管理單元根據(jù)頻道信息和時(shí)間起止信息過(guò)濾TS文件下載信息,按照每個(gè)碼率和每個(gè)分片的時(shí)間順序生成對(duì)應(yīng)的M3U8文件。
[0041]這種方式下即使在獲取內(nèi)容時(shí),源頻道碼率數(shù)目變化時(shí),由于用戶訪問(wèn)的M3U8是動(dòng)態(tài)生成的,可以判斷是否所有碼率的文件在用戶請(qǐng)求范圍內(nèi)是否齊全,然后根據(jù)策略采取不同的方式進(jìn)行處理
[0042]對(duì)于要求服務(wù)的HLS內(nèi)容版本有兼容性要求時(shí),可以通過(guò)M3U8管理模塊進(jìn)行對(duì)應(yīng)標(biāo)簽的生成的工作,標(biāo)簽的生成實(shí)際就是寫(xiě)文件的過(guò)程,生成的標(biāo)簽英文滿足HLS規(guī)范的要求。
[0043]由于錄制的過(guò)程不再是一次性生成的過(guò)程,因此在用戶服務(wù)之前都可以通過(guò)內(nèi)容處理單元去重試補(bǔ)齊分片文件,或者在生成M3U8時(shí),將本地已緩存的TS的相對(duì)或絕對(duì)路徑放入到M3U8中,對(duì)于本地未下拉的M3U8,直接將其源URL放入M3U8中
[0044]若需要針對(duì)用戶做差異化服務(wù),可以通過(guò)M3U8管理單元在獲取的用戶信息時(shí),根據(jù)不同的策略來(lái)變幻M3U8不同的內(nèi)容,如碼率數(shù)變化,插入廣告等。
[0045]對(duì)于數(shù)據(jù)管理單元還需要控制分片信息的老化和實(shí)體分片的回滾,以避免分片文件下載導(dǎo)致
[0046]采用本發(fā)明所述的方法,可以將HLS的節(jié)目錄制功能演變成HLS直播內(nèi)容緩存,在提供TVOD的功能的同時(shí),用戶服務(wù)的方式很容易就可以修改為支持HLS頻道的時(shí)移功能,兼顧了靈活性,可靠性,及可擴(kuò)展性。

【專利附圖】

【附圖說(shuō)明】
[0047]下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明做更進(jìn)一步的具體說(shuō)明,本發(fā)明的上述和/或其他方面的優(yōu)點(diǎn)將會(huì)變得更加清楚。
[0048]圖1是本方案所述的HLS節(jié)目錄制和服務(wù)的系統(tǒng)的示意圖
[0049]圖2是本方案所述的一種實(shí)現(xiàn)中,HLS節(jié)目錄制的示意圖。
[0050]圖3是本方案所述的一種實(shí)現(xiàn)中,HLS錄制節(jié)目服務(wù)的示意圖。
[0051]圖4是本方案所述的一種實(shí)現(xiàn)中,HLS錄制老化的處理流程示意圖。

【具體實(shí)施方式】
[0052]本發(fā)明提供了一種按需動(dòng)態(tài)生成M3U8,對(duì)分片文件進(jìn)行元數(shù)據(jù)管理的HLS節(jié)目錄制和服務(wù)的方法和系統(tǒng)的基本思想,在這種系統(tǒng)架構(gòu)下,能夠靈活的生成用戶所需的錄制節(jié)目對(duì)應(yīng)的M3U8,提供一種兼顧了靈活性,可靠性,及可擴(kuò)展性的方法和系統(tǒng),來(lái)完成HLS節(jié)目錄制和服務(wù)的業(yè)務(wù)功能。
[0053]本發(fā)明公開(kāi)了一種HLS節(jié)目錄制的方法,該方法應(yīng)用于HLS節(jié)目錄制和服務(wù)系統(tǒng)中,所述方法包括以下步驟:
[0054]通過(guò)索引下載信息下載索引文件,當(dāng)索引文件中包含子索引文件時(shí),分析下載索引文件中的子索引下載信息,當(dāng)索引文件中包含TS文件時(shí)分析下載索引中的TS文件的下載信息;當(dāng)獲取到子索引下載信息后下載子索引文件,分析子索引文件中包含的TS文件下載信息;
[0055]當(dāng)獲取到TS文件下載信息后下載TS文件,對(duì)下載的TS文件進(jìn)行記錄;
[0056]按FIFO的方式對(duì)下載TS文件進(jìn)行回滾;
[0057]HLS節(jié)目錄制時(shí),在系統(tǒng)運(yùn)行允許的時(shí)間范圍內(nèi),不對(duì)實(shí)際的錄制節(jié)目生成實(shí)際的M3U8文件,具體M3U8文件生成在用戶服務(wù)時(shí),通過(guò)查詢記錄的TS文件下載信息和頻道信息生成,生成格式滿足HLS規(guī)范要求;
[0058]HLS節(jié)目錄制時(shí),在系統(tǒng)運(yùn)行允許的時(shí)間范圍之外,不進(jìn)行錄制;
[0059]對(duì)于下載的TS文件的記錄,采用數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)管理或者通過(guò)數(shù)據(jù)結(jié)構(gòu)的方式進(jìn)行存儲(chǔ)管理;
[0060]對(duì)于索引文件和TS文件以頻道ID作為索引,包含文件碼率、文件名字、文件類型、下載路徑、文件下拉狀態(tài)、本頻道本碼流的內(nèi)部編號(hào),以及本地存儲(chǔ)路徑字段組成記錄錄入數(shù)據(jù)庫(kù)或放入數(shù)據(jù)結(jié)構(gòu)中維護(hù)。
[0061]當(dāng)達(dá)到存儲(chǔ)的閾值時(shí),閾值為總存儲(chǔ)上限的80%?99%,對(duì)TS文件按照FIFO方式進(jìn)行回滾刪除。
[0062]本發(fā)明公開(kāi)了一種HLS錄制節(jié)目服務(wù)的方法,該方法應(yīng)用與HLS節(jié)目錄制和服務(wù)系統(tǒng)中,所述方法包括以下步驟:
[0063]對(duì)于用戶的M3U8文件請(qǐng)求,查詢所選TS文件下載信息和所歸屬的頻道信息;
[0064]根據(jù)查詢到的TS文件下載信息和所歸屬的頻道信息,生成用戶所需的M3U8文件內(nèi)容,并給用戶提供服務(wù);
[0065]對(duì)于用戶的TS文件請(qǐng)求,定位用戶所需TS文件讀取,并給用戶提供服務(wù)。
[0066]通過(guò)用戶的M3U8文件請(qǐng)求,提取出頻道信息和時(shí)間起止信息,根據(jù)頻道信息和時(shí)間起止信息過(guò)濾TS文件下載信息,按照每個(gè)碼率和每個(gè)分片的時(shí)間順序生成對(duì)應(yīng)的M3U8文件。
[0067]根據(jù)用戶請(qǐng)求URL攜帶的用戶等級(jí)信息,查詢HLS節(jié)目錄制和服務(wù)系統(tǒng)中維護(hù)的用戶等級(jí)信息和碼率的對(duì)應(yīng)關(guān)系,對(duì)返回給用戶請(qǐng)求響應(yīng)的主M3U8索引文件只生成包含對(duì)應(yīng)碼率的M3U8文件。
[0068]對(duì)主M3U8索引文件中包含的子索引,根據(jù)版本配置情況修改M3U8對(duì)應(yīng)的HLS版本信息,按HLS規(guī)范各個(gè)版本的要求,生成對(duì)應(yīng)的標(biāo)簽。
[0069]本發(fā)明公開(kāi)了一種HLS節(jié)目錄制和服務(wù)的系統(tǒng),包括:
[0070]內(nèi)容處理單元:負(fù)責(zé)獲取HLS源內(nèi)容的TS和M3U8文件,負(fù)責(zé)TS文件的本地緩存和本地刪除;
[0071]數(shù)據(jù)管理單元:負(fù)責(zé)獲取數(shù)據(jù)的登記、記錄、管理、以及老化功能;
[0072]M3U8管理單元:負(fù)責(zé)M3U8文件的解析和生成;
[0073]服務(wù)單元:負(fù)責(zé)根據(jù)用戶請(qǐng)求對(duì)M3U8文件和TS文件進(jìn)行服務(wù);
[0074]內(nèi)容處理單元獲取的M3U8文件交由M3U8管理單元解析處理,獲取子索引或TS文件的下載信息,并加入到數(shù)據(jù)管理單元中。
[0075]數(shù)據(jù)管理單元周期性的通知內(nèi)容處理單元獲取M3U8文件;
[0076]數(shù)據(jù)管理單元周期性的通知內(nèi)容處理單元獲取到TS文件后,對(duì)于索引文件和TS文件以頻道ID作為索引,包含文件碼率、文件名字、文件類型、下載路徑、文件下拉狀態(tài)、本頻道本碼流的內(nèi)部編號(hào),以及本地存儲(chǔ)路徑字段組成記錄錄入數(shù)據(jù)庫(kù)或放入數(shù)據(jù)結(jié)構(gòu)中維護(hù),供生成索引時(shí)使用。
[0077]數(shù)據(jù)管理單元在當(dāng)達(dá)到存儲(chǔ)的閾值時(shí),觸發(fā)TS文件的老化,老化時(shí)按照FIFO方式老化,閾值為最大存儲(chǔ)上限的80 %?99 %,將超過(guò)當(dāng)前時(shí)間指定范圍外的所有分片,范圍為12小時(shí)至7天,以達(dá)到同時(shí)保證不同頻道間的可時(shí)移范圍一致的效果。
[0078]服務(wù)單元在收到用戶的M3U8請(qǐng)求后,查詢前面維護(hù)的記錄,通過(guò)碼率和頻道ID過(guò)濾,通過(guò)內(nèi)部編號(hào)順序構(gòu)建M3U8文件,返回給用戶;服務(wù)單元在收到用戶的TS請(qǐng)求后,如果在用戶生成的子索引中使用的是TS的絕對(duì)路徑,則直接定位后進(jìn)行服務(wù)。
[0079]實(shí)施例
[0080]下面結(jié)合附圖對(duì)技術(shù)方案的實(shí)施做進(jìn)一步的詳細(xì)描述。簡(jiǎn)單起見(jiàn),下面的描述中,假定HLS頻道的源是一個(gè)HTTP服務(wù)器,可以提供標(biāo)準(zhǔn)的HLS直播服務(wù),如果HLS頻道的源是其他方式的服務(wù)器,但能夠提供標(biāo)準(zhǔn)的HLS直播所需要的文件,處理流程是類似的。
[0081]圖1所示為一個(gè)采用了本方案所述的HLS節(jié)目錄制方案的系統(tǒng)示意圖。整個(gè)系統(tǒng)由四部分組成。內(nèi)容處理單元101,數(shù)據(jù)管理單元102,M3U8管理單元103,用戶服務(wù)單元104。這里如果將數(shù)據(jù)管理單元和M3U8管理單元作為一個(gè)單元實(shí)現(xiàn)也可以。或者將用戶服務(wù)單元與M3U8管理單元中M3U8生成功能合并為一個(gè)單元,將數(shù)據(jù)管理單元和M3U8管理單元的中M3U8解析功能合并為一個(gè)單元也可以。
[0082]整個(gè)系統(tǒng)中,數(shù)據(jù)管理單元102周期性驅(qū)動(dòng)內(nèi)容處理單元101去源站獲取內(nèi)容,內(nèi)容獲取方式不限。內(nèi)容處理單元101獲取到內(nèi)容后,如果是M3U8內(nèi)容,交由M3U8管理單元分析M3U8文件包含的文件信息,包括子索引文件系統(tǒng)和TS分片文件信息,然后將這些信息交由數(shù)據(jù)管理單元102管理,數(shù)據(jù)管理單元102重復(fù)之前所述過(guò)程,數(shù)據(jù)管理單元102周期性的通知內(nèi)容處理單元獲取到TS文件后,會(huì)維護(hù)TS的下載信息,供生成索引時(shí)使用,循環(huán)上述過(guò)程,完成HLS分片文件的緩存和管理以及子碼率信息的維護(hù)和管理。
[0083]同時(shí)數(shù)據(jù)管理單元102還負(fù)責(zé)分片文件的老化管理,即當(dāng)單碼率的TS文件緩存到一定數(shù)量后,按照FIFO方式對(duì)之前的分片文件進(jìn)行回滾處理,同時(shí)保證不同頻道間的可時(shí)移范圍一致
[0084]當(dāng)用戶服務(wù)單元104收到用戶請(qǐng)求后,根據(jù)用戶攜帶的錄制時(shí)間信息和用戶相關(guān)信息,通知M3U8管理單元103生成對(duì)應(yīng)的M3U8文件,M3U8管理單元通過(guò)數(shù)據(jù)管理單元102提供的信息生成對(duì)應(yīng)的M3U8文件,并返回給用戶,用戶請(qǐng)請(qǐng)用戶服務(wù)單元104TS文件時(shí),直接訪問(wèn)對(duì)應(yīng)的TS文件給用戶服務(wù)。
[0085]圖2所示為一種實(shí)現(xiàn)方式中,HLS節(jié)目錄制的流程。首先系統(tǒng)管理員會(huì)在數(shù)據(jù)管理單元102中錄入頻道的源信息,錄入方式可以為消息方式,也可以為數(shù)據(jù)庫(kù)操作方式,也可以修改配置方式。數(shù)據(jù)管理單元102會(huì)定時(shí)將其維護(hù)的待下載任務(wù)提交給內(nèi)容處理單元101,內(nèi)容處理單元101收到任務(wù)后,會(huì)啟動(dòng)獲取流程,獲取方式可以是HTTP,F(xiàn)TP等等傳輸協(xié)議,獲取到待下載的內(nèi)容后,若為M3U8文件,會(huì)將該M3U8文件傳遞給M3U8管理單元103分析并更新下載狀態(tài),M3U8管理單元103可以分析主索引和子索引,這個(gè)過(guò)程可以確定頻道多碼率信息,是單級(jí)索引還是多級(jí)索引,HLS協(xié)議版本號(hào),子索引下載地址,TS下載地址,DRM加密等等信息,解析出的信息若涉及繼續(xù)下載的,將下載信息錄入數(shù)據(jù)管理單元102,數(shù)據(jù)管理單元102重復(fù)上面的下載過(guò)程,對(duì)于下載完的子索引交由M3U8管理單元處理并更新下載狀態(tài),對(duì)于下載完的TS文件直接更新下載狀態(tài)。
[0086]圖3所示為一種實(shí)現(xiàn)方式中,HLS錄制節(jié)目服務(wù)的流程。用戶請(qǐng)求用戶服務(wù)單元104后,若是主索引和子索引的請(qǐng)求,用戶服務(wù)單元104將請(qǐng)求信息傳遞到M3U8管理單元103,M3U8管理單元103根據(jù)用戶請(qǐng)求信息訪問(wèn)數(shù)據(jù)管理單元102獲取對(duì)應(yīng)的分片信息(生成子索引時(shí))和碼率信息(生成主索引時(shí)),按照HLS規(guī)范的要求生成標(biāo)準(zhǔn)的M3U8文件格式的內(nèi)容,M3U8管理單元103將獲取到的M3U8文件內(nèi)容返回給客戶端,對(duì)于TS文件的請(qǐng)求,用戶管理單元可以按照一定的規(guī)則直接定位文件返回給客戶端,也可以通過(guò)圖3中虛線的流程,訪問(wèn)數(shù)據(jù)管理單元102獲取分片的位置信息后,再訪問(wèn)實(shí)體文件,并服務(wù)客戶端。
[0087]圖4所示為一種實(shí)現(xiàn)方式中,HLS錄制老化的處理流程。數(shù)據(jù)管理單元102可以定時(shí)檢查維護(hù)的分片數(shù)據(jù),在滿足一定條件的情況下,觸發(fā)文件刪除操作。具體文件操作請(qǐng)求下發(fā)給內(nèi)容處理單元101,內(nèi)容處理單元101收到TS分片刪除操作后,根據(jù)給出本地緩存的路徑進(jìn)行文件定位并進(jìn)行刪除操作。
[0088]本發(fā)明提供了一種HLS節(jié)目錄制和服務(wù)的系統(tǒng)和方法,具體實(shí)現(xiàn)該技術(shù)方案的方法和途徑很多,以上所述僅是本發(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)視為本發(fā)明的保護(hù)范圍。本實(shí)施例中未明確的各組成部分均可用現(xiàn)有技術(shù)加以實(shí)現(xiàn)。
【權(quán)利要求】
1.一種HLS節(jié)目錄制的方法,其特征在于,該方法應(yīng)用于HLS節(jié)目錄制和服務(wù)系統(tǒng)中,所述方法包括以下步驟: 通過(guò)索引下載信息下載索引文件,當(dāng)索引文件中包含子索引文件時(shí),分析下載索引文件中的子索引下載信息,當(dāng)索引文件中包含TS文件時(shí)分析下載索引中的TS文件的下載信息;當(dāng)獲取到子索引下載信息后下載子索引文件,分析子索引文件中包含的TS文件下載信息; 當(dāng)獲取到TS文件下載信息后下載TS文件,對(duì)下載的TS文件進(jìn)行記錄; 按FIFO的方式對(duì)下載TS文件進(jìn)行回滾; HLS節(jié)目錄制時(shí),在系統(tǒng)運(yùn)行允許的時(shí)間范圍內(nèi),不對(duì)實(shí)際的錄制節(jié)目生成實(shí)際的M3U8文件,具體M3U8文件生成在用戶服務(wù)時(shí),通過(guò)查詢記錄的TS文件下載信息和頻道信息生成,生成格式滿足HLS規(guī)范要求; HLS節(jié)目錄制時(shí),在系統(tǒng)運(yùn)行允許的時(shí)間范圍之外,不進(jìn)行錄制; 對(duì)于下載的TS文件的記錄,采用數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)管理或者通過(guò)數(shù)據(jù)結(jié)構(gòu)的方式進(jìn)行存儲(chǔ)管理; 對(duì)于索引文件和TS文件以頻道ID作為索引,包含文件碼率、文件名字、文件類型、下載路徑、文件下拉狀態(tài)、本頻道本碼流的內(nèi)部編號(hào),以及本地存儲(chǔ)路徑字段組成記錄錄入數(shù)據(jù)庫(kù)或放入數(shù)據(jù)結(jié)構(gòu)中維護(hù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)達(dá)到存儲(chǔ)的閾值時(shí),閾值為總存儲(chǔ)上限的80%~99%,對(duì)TS文件按照FIFO方式進(jìn)行回滾刪除。
3.—種HLS錄制節(jié)目服務(wù)的方法,其特征在于,該方法應(yīng)用與HLS節(jié)目錄制和服務(wù)系統(tǒng)中,所述方法包括以下步驟: 對(duì)于用戶的M3U8文件請(qǐng)求,查詢所選TS文件下載信息和所歸屬的頻道信息; 根據(jù)查詢到的TS文件下載信息和所歸屬的頻道信息,生成用戶所需的M3U8文件內(nèi)容,并給用戶提供服務(wù); 對(duì)于用戶的TS文件請(qǐng)求,定位用戶所需TS文件讀取,并給用戶提供服務(wù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,通過(guò)用戶的M3U8文件請(qǐng)求,提取出頻道信息和時(shí)間起止信息,根據(jù)頻道信息和時(shí)間起止信息過(guò)濾TS文件下載信息,按照每個(gè)碼率和每個(gè)分片的時(shí)間順序生成對(duì)應(yīng)的M3U8文件。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,根據(jù)用戶請(qǐng)求URL攜帶的用戶等級(jí)信息,查詢HLS節(jié)目錄制和服務(wù)系統(tǒng)中維護(hù)的用戶等級(jí)信息和碼率的對(duì)應(yīng)關(guān)系,對(duì)返回給用戶請(qǐng)求響應(yīng)的主M3U8索引文件只生成包含對(duì)應(yīng)碼率的M3U8文件。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,對(duì)主M3U8索引文件中包含的子索引,根據(jù)版本配置情況修改M3U8對(duì)應(yīng)的HLS版本信息,按HLS規(guī)范各個(gè)版本的要求,生成對(duì)應(yīng)的標(biāo)簽。
7.—種HLS節(jié)目錄制和服務(wù)的系統(tǒng),其包括: 內(nèi)容處理單元:負(fù)責(zé)獲取HLS源內(nèi)容的TS和M3U8文件,負(fù)責(zé)TS文件的本地緩存和本地刪除; 數(shù)據(jù)管理單元:負(fù)責(zé)獲取數(shù)據(jù)的登記、記錄、管理、以及老化功能; M3U8管理單元:負(fù)責(zé)M3U8文件的解析和生成;服務(wù)單元:負(fù)責(zé)根據(jù)用戶請(qǐng)求對(duì)M3U8文件和TS文件進(jìn)行服務(wù); 內(nèi)容處理單元獲取的M3U8文件交由M3U8管理單元解析處理,獲取子索引或TS文件的下載信息,并加入到數(shù)據(jù)管理單元中。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,數(shù)據(jù)管理單元周期性的通知內(nèi)容處理單元獲取M3U8文件; 數(shù)據(jù)管理單元周期性的通知內(nèi)容處理單元獲取到TS文件后,對(duì)于索引文件和TS文件以頻道ID作為索引,包含文件碼率、文件名字、文件類型、下載路徑、文件下拉狀態(tài)、本頻道本碼流的內(nèi)部編號(hào),以及本地存儲(chǔ)路徑字段組成記錄錄入數(shù)據(jù)庫(kù)或放入數(shù)據(jù)結(jié)構(gòu)中維護(hù),供生成索引時(shí)使用。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,數(shù)據(jù)管理單元在當(dāng)達(dá)到存儲(chǔ)的閾值時(shí),觸發(fā)TS文件的老化,老化時(shí)按照FIFO方式老化,閾值為最大存儲(chǔ)上限的80%~99%,將超過(guò)當(dāng)前時(shí)間指定范圍外的所有分片,范圍為12小時(shí)至7天,以達(dá)到同時(shí)保證不同頻道間的可時(shí)移范圍一致的效果。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,服務(wù)單元在收到用戶的M3U8請(qǐng)求后,查詢前面維護(hù)的記錄,通過(guò)碼率和頻道ID過(guò)濾,通過(guò)內(nèi)部編號(hào)順序構(gòu)建M3U8文件,返回給用戶;服務(wù)單元在收到用戶的TS請(qǐng)求后,如果在用戶生成的子索引中使用的是TS的絕對(duì)路徑,則直接定位后進(jìn) 行服務(wù)。
【文檔編號(hào)】H04N21/462GK104079983SQ201410295245
【公開(kāi)日】2014年10月1日 申請(qǐng)日期:2014年6月26日 優(yōu)先權(quán)日:2014年6月26日
【發(fā)明者】袁源, 褚烽, 沈駿祥, 朱晨鳴, 石啟良, 劉春林, 馮小芳, 張洪良, 王小鵬, 李曉靜, 王雪濤 申請(qǐng)人:江蘇省郵電規(guī)劃設(shè)計(jì)院有限責(zé)任公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1