新四季網

一種通過CDN網絡獲取HLS內容的方法及伺服器與流程

2023-05-24 15:46:31


本發明屬於網絡信息分發技術領域,特別涉及一種通過cdn網絡獲取hls內容的方法及伺服器。



背景技術:

cdn的全稱是contentdeliverynetwork,即內容分發網絡。其基本思路是儘可能避開網際網路上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。通過在網絡各處放置節點伺服器構成在現有的網際網路基礎之上的一層智能虛擬網絡,cdn系統能夠實時地根據網絡流量和各節點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節點上。其目的是使用戶可就近取得所需內容,解決internet網絡擁擠的狀況,提高用戶訪問網站的響應速度。

hls(httplivestreaming)協議是由蘋果公司實現的基於http的流媒體通信協議。hls協議的流媒體傳輸過程是首先伺服器在資源準備階段將不同比特率的視頻切片並分別存儲,同時生成兩級或更多級的m3u8文件。傳輸開始時,客戶端首先從伺服器上請求並下載m3u8文件,通過解析該文件得到視頻切片信息,選擇適合當前狀況的切片,提取出該切片的url地址,直接通過該地址向伺服器發起請求。因此,伺服器端不需要任何額外的處理,任意web伺服器都可以配置成支持hls協議的伺服器。

當用戶終端通過內容身份標識號碼(cid)向cdn節點伺服器請求hls文件時,由於cdn節點伺服器無法從用戶終端發送的hls文件請求中解析出cid,因此無法實現文件的查找和提供。授權公告號為cn103051976b的發明專利公開了一種cdn分發hls內容方法、系統及設備,通過對初始內容請求的url進行重定向,實現了通過cdn網絡對hls內容進行分發。但是該方法需要用戶終端發送至少兩次請求,這提高了闡述過程的複雜程度,並增加了cdn節點伺服器的工作負荷。



技術實現要素:

為了解決上述技術問題,本發明提供了一種通過cdn網絡獲取hls內容的方法及伺服器。

本發明具體技術方案如下:

本發明一方面提供了一種通過cdn網絡獲取hls內容的方法,包括如下步驟:

s1:用戶終端向所述cdn節點伺服器發送hls文件獲取請求;

s2:所述cdn節點伺服器接收所述hls文件獲取請求進行解析,判斷其中是否攜帶請求的文件內容身份標識cid,如攜帶,則根據所述cid查找所述用戶終端請求的內容;如未攜帶,則向所述用戶終端發送cid索取請求,所述cdn節點伺服器收到所述用戶終端發送的所述cid後,再進行查找;

s3:所述cdn節點伺服器對所述cid進行解讀,根據其中包含的信息,獲取所述hls文件的索引文件,並將所述索引文件發送給所述用戶終端;

s4:所述用戶終端對所述索引文件進行解析,並向所述cdn節點伺服器獲取相應的媒體文件進行播放。

進一步地,所述步驟s2包括如下步驟:

s2.1:所述cdn節點伺服器接收所述hls文件獲取請求並進行解析,判斷其中是否攜帶cid;

s2.2:如所述hls文件獲取請求中攜帶有cid,則對所述cid進行識別,並查找所述cid指向的內容;

s2.3:如所述hls文件獲取請求中未攜帶cid,則將所述hls文件獲取請求擱置,並向所述用戶終端發送cid獲取請求,索要所述cid;所述cdn節點伺服器接收到所述cid後,對所述cid進行識別,並查找所述cid指向的內容。

進一步地,所述步驟s2.3中,向所述用戶終端發送cid獲取請求的具體方法如下:

s2.3.1:設置一個時間閾值;

s2.3.2:所述cdn節點伺服器向所述用戶終端,發送cid獲取請求,並從發送時開始計時,如所述用戶終端超過所述時間閾值的時長時仍未作出響應,則再次發送所述cid獲取請求。

進一步地,所述步驟s2.3還包括如下步驟:

s2.3.3:設置一個次數閾值,當所述cdn節點伺服器發送所述cid獲取請求的次數達到所述次數閾值時,則認定所述用戶終端不再請求獲取hls文件,此時停止發送所述cid獲取請求,並將擱置的所述hls文件獲取請求刪除。

進一步地,所述步驟s3的具體方法如下:

所述cdn節點伺服器對所述cid進行解讀,獲取其中包含的hls索引信息;所述cdn節點伺服器根據所述hls索引信息,查找所述hls文件的索引文件,並發送給所述用戶終端。

進一步地,所述步驟s4的具體方法如下:

所述用戶終端接收所述索引文件並進行解析,然後根據所述索引文件的信息,按順序向所述cdn節點伺服器請求媒體文件進行播放。

進一步地,所述cdn節點伺服器查找所述索引文件時,首先在本地進行檢索,查看是否有相應內容,如果有,則將所述索引文件發送給所述用戶終端;如果沒有,則在網絡內進行查找,並將查找到的內容索引文件發回給所述用戶終端,同時所述索引文件對應的媒體文件儲存在本地。

本發明另一方面提供了一種通過cdn網絡獲取hls內容的伺服器,包括如下部分:

接收模塊,用於接收用戶終端發送的hls文件獲取請求以及文件內容身份標識cid;

cid解讀模塊,用於判斷所述hls文件獲取請求中是否攜帶cid,如攜帶,則對所述cid進行解讀;如未攜帶,則將所述hls文件獲取請求擱置,並通知發送模塊向所述用戶終端發送cid索取請求;

查找模塊,用於查找所述用戶終端請求獲取的hls文件的索引文件和媒體文件;

發送模塊,用於向所述用戶終端發送cid獲取請求以及hls文件的索引文件和媒體文件。

進一步地,所述伺服器還包括如下部分:

計時模塊,用於設定時間閾值,並從所述cid獲取請求發送時開始計時,如所述用戶終端超過所述時間閾值的時長仍未作出回應,則通知所述cid解讀模塊將所述hls文件獲取請求擱置,同時通知所述發送模塊再次發送所述cid獲取請求;

計次模塊,用於設定次數閾值,並記錄所述cid獲取請求的發送次數,如發送次數超過所述次數閾值,則通知所述發送模塊停止發送所述cid獲取請求,同時通知所述cid解讀模塊將擱置的所述hls文件獲取請求刪除。

進一步地,所述伺服器還包括如下部分:

存儲模塊,用於對所述媒體文件進行緩存,以供所述用戶終端根據所述索引文件進行獲取使用。

本發明的有益效果如下:本發明提供了一種通過cdn網絡獲取hls內容的方法及伺服器,以文件內容身份標識cid作為請求hls文件的許可標識,將其作為用戶終端的hls文件請求信息被cdn節點伺服器解讀的必要條件;用戶終端向cdn節點伺服器請求hls文件時,如果請求中攜帶了cid,則只需要發送一次請求即可實現cdn節點伺服器對請求信息的解讀;如果請求中未攜帶cid,則需要將cid補充發送,但同樣不需要多次請求來實現這一功能。通過以上設計,有效降低了cdn網絡中hls傳輸過程的複雜程度,減輕了cdn節點處理器處理請求的工作量,提高了信息傳輸的工作效率和成功率。

附圖說明

圖1為實施例1所述的一種通過cdn網絡獲取hls內容的方法的流程圖;

圖2為實施例2所述的一種通過cdn網絡獲取hls內容的方法中獲取cid的方法流程圖;

圖3為實施例3所述的一種通過cdn網絡獲取hls內容的方法中獲取hls文件的方法流程圖;

圖4為實施例4所述的一種通過cdn網絡獲取hls內容的伺服器的結構示意圖;

圖5為實施例5所述的一種通過cdn網絡獲取hls內容的伺服器的結構示意圖。

具體實施方式

下面結合附圖和以下實施例對本發明作進一步詳細說明。

實施例1

如圖1所示,本發明實施例1提供了一種通過cdn網絡獲取hls內容的方法,包括如下步驟:

s1:用戶終端向所述cdn節點伺服器發送hls文件獲取請求;

s2:所述cdn節點伺服器接收所述hls文件獲取請求進行解析,判斷其中是否攜帶請求的文件內容身份標識cid,如攜帶,則根據所述cid查找所述用戶終端請求的內容;如未攜帶,則向所述用戶終端發送cid索取請求,所述cdn節點伺服器收到所述用戶終端發送的所述cid後,再進行查找;

所述cid用來標識所述hls內容的文件包,可看做是用戶終端用戶請求hls文件的許可標識,所述文件包中包括m3u8索引文件和ts媒體文件。當用戶終端發送的hls文件獲取請求中未攜帶cid時,則認為該用戶終端未提供許可標識,此時需向用戶終端索要cid,以便後續為用戶終端提供hls文件;

s3:所述cdn節點伺服器對所述cid進行解讀,根據其中包含的信息,獲取所述hls文件的索引文件,並將所述索引文件發送給所述用戶終端;

s4:所述用戶終端對所述索引文件進行解析,並向所述cdn節點伺服器獲取相應的媒體文件進行播放。

hls文件的媒體文件由一系列文件切片組成,所述用戶終端獲取索引文件後,根據所述索引文件按順序向所述cdn節點伺服器請求媒體文件進行播放。

本實施例中,以文件內容身份標識cid作為請求hls文件的許可標識,將其作為用戶終端的hls文件請求信息被cdn節點伺服器解讀的必要條件;用戶終端向cdn節點伺服器請求hls文件時,如果請求中攜帶了cid,則只需要發送一次請求即可實現cdn節點伺服器對請求信息的解讀;如果請求中未攜帶cid,則需要將cid補充發送,但同樣不需要多次請求來實現這一功能。通過以上設計,有效降低了cdn網絡中hls傳輸過程的複雜程度,減輕了cdn節點處理器處理請求的工作量,提高了信息傳輸的工作效率和成功率。

實施例2

如圖2所示,本實施例2在實施例1的基礎上提供了一種通過cdn網絡獲取hls內容的方法,該實施例2進一步限定了所述步驟s2包括如下步驟:

s2.1:所述cdn節點伺服器接收所述hls文件獲取請求並進行解析,判斷其中是否攜帶cid;

s2.2:如所述hls文件獲取請求中攜帶有cid,則對所述cid進行識別,並查找所述cid指向的內容;

s2.3:如所述hls文件獲取請求中未攜帶cid,則將所述hls文件獲取請求擱置,並向所述用戶終端發送cid獲取請求,索要所述cid;所述cdn節點伺服器接收到所述cid後,對所述cid進行識別,並查找所述cid指向的內容。

由於cid是hls文件獲取請求被cdn節點伺服器解讀的必要條件,因此當用戶終端發送的hls文件獲取請求中未攜帶cid時,cdn節點伺服器需要提醒用戶終端補充發送cid。所述步驟s2.3中,向所述用戶終端發送cid獲取請求的具體方法如下:

s2.3.1:設置一個時間閾值;

s2.3.2:所述cdn節點伺服器向所述用戶終端,發送cid獲取請求,並從發送時開始計時,如所述用戶終端超過所述時間閾值的時長時仍未作出響應,則再次發送所述cid獲取請求;

為避免由於網絡故障等客觀原因造成用戶終端無法接收cid獲取請求、或cdn節點伺服器無法接受cid,導致hls文件獲取請求無法被正常解讀,cdn節點伺服器設置一個時間閾值,按照時間閾值重複發送cid獲取請求,以保證用戶終端與cdn節點伺服器的通信暢通;

s2.3.3:設置一個次數閾值,當所述cdn節點伺服器發送所述cid獲取請求的次數達到所述次數閾值時,則認定所述用戶終端不再請求獲取hls文件,此時停止發送所述cid獲取請求,並將擱置的所述hls文件獲取請求刪除。

為避免多次重複發送cid獲取請求增加工作量,cdn節點伺服器設置一個次數閾值,超過該次數閾值即認為用戶終端不再請求獲取hls文件,此時即停止發送,以減少無效的操作增加cdn節點伺服器的負荷。

實施例3

如圖3所示,本實施例3在實施例1的基礎上提供了一種通過cdn網絡獲取hls內容的方法,該實施例3進一步限定了所述步驟s3的具體方法如下:

所述cdn節點伺服器對所述cid進行解讀,獲取其中包含的hls索引信息;所述cdn節點伺服器根據所述hls索引信息,查找所述hls文件的索引文件,並發送給所述用戶終端。

所述步驟s4的具體方法如下:

所述用戶終端接收所述索引文件並進行解析,然後根據所述索引文件的信息,按順序向所述cdn節點伺服器請求媒體文件進行播放。

所述cdn節點伺服器查找所述索引文件時,首先在本地進行檢索,查看是否有相應內容,如果有,則將所述索引文件發送給所述用戶終端;如果沒有,則在網絡內進行查找,並將查找到的內容索引文件發回給所述用戶終端,同時所述索引文件對應的媒體文件儲存在本地。

實施例4

如圖4所示,本實施例4提供了一種通過cdn網絡獲取hls內容的伺服器,包括如下部分:

接收模塊1,用於接收用戶終端發送的hls文件獲取請求以及文件內容身份標識cid;

cid解讀模塊2,用於判斷所述hls文件獲取請求中是否攜帶cid,如攜帶,則對所述cid進行解讀;如未攜帶,則將所述hls文件獲取請求擱置,並通知發送模塊4向所述用戶終端發送cid索取請求;

查找模塊3,用於查找所述用戶終端請求獲取的hls文件的索引文件和媒體文件;

發送模塊4,用於向所述用戶終端發送cid獲取請求以及hls文件的索引文件和媒體文件。

接收模塊1接收用戶終端發送的hls文件,交由cid解讀模塊2解讀其中的cid;如hls文件並未攜帶cid,則由發送模塊4向用戶終端發送cid獲取請求,用戶終端發送的cid仍由接收模塊1接收,並再次交給cid解讀模塊2進行解讀;查找模塊3根據解讀出的信息查找hls文件的索引文件,由發送模塊4發送給用戶終端,用戶終端根據索引文件請求媒體文件,仍由發送模塊4發給用戶終端。通過上述流程,使用戶終端完成了對hls文件的獲取。

實施例5

如圖5所示,本實施例5在實施例4的基礎上提供了一種通過cdn網絡獲取hls內容的伺服器,該實施例5進一步限定了所述伺服器還包括如下部分:

計時模塊5,用於設定時間閾值,並從所述cid獲取請求發送時開始計時,如所述用戶終端超過所述時間閾值的時長仍未作出回應,則通知所述cid解讀模塊2將所述hls文件獲取請求擱置,同時通知所述發送模塊4再次發送所述cid獲取請求;

計次模塊6,用於設定次數閾值,並記錄所述cid獲取請求的發送次數,如發送次數超過所述次數閾值,則通知所述發送模塊4停止發送所述cid獲取請求,同時通知所述cid解讀模塊2將擱置的所述hls文件獲取請求刪除;

計時模塊5定時通知發送模塊4重新發送cid獲取請求,以保證伺服器與用戶終端之間通信暢通,計次模塊6控制cid獲取請求的發送次數,避免過多的無效操作增加伺服器的負荷,通過二者的配合實現向用戶終端索取cid的最佳處理;

存儲模塊7,用於對所述媒體文件進行緩存,以供所述用戶終端根據所述索引文件進行獲取使用。

以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但並不能因此而理解為對本發明專利範圍的限制。應當指出的是,對於本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬於本發明的保護範圍。因此,本發明專利的保護範圍應以所附權利要求為準。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀