新四季網

減少編碼片段重複的P2P直播系統及方法與流程

2023-05-06 04:01:12 1


本發明涉及直播技術領域,特別涉及一種減少編碼片段重複的p2p(對等網絡)直播系統及方法。



背景技術:

視頻直播過程中,邊緣伺服器將視頻數據切分成同樣大小的數據塊(chunk),再將每個chunk切分成k個同樣大小的原始片段(pieces),並通過[n,k]糾刪碼生成n-k個冗餘的編碼片段,邊緣伺服器將編碼片段分發給供源節點,播放節點從供源節點獲取編碼片段。當每個播放節點收集滿k個pieces就嘗試解碼恢復原始chunk。但由於網絡延時或丟包等原因,播放節點收集滿k個pieces的過程比較緩慢,如果某chunk遲遲不能被恢復,在流媒體播放中就會發生卡頓現象,影響用戶體驗。另外,現有技術中,邊緣伺服器發送編碼片段為無規則發送,播放節點常常會收到重複編碼片段,不僅會導致傳輸浪費,還會加劇卡頓問題。



技術實現要素:

本發明要解決的技術問題是為了緩解現有技術中的直播方法常出現卡頓現象的缺陷,提供一種減少編碼片段重複的p2p直播系統及方法。

本發明是通過下述技術方案來解決上述技術問題:

一種減少編碼片段重複的p2p直播系統,其特點在於,所述p2p直播系統包括:邊緣伺服器、供源節點和播放節點,所述供源節點分別與所述邊緣伺服器和所述播放節點通信連接;

所述邊緣伺服器用於將視頻數據切分成若干數據塊,並將每個數據塊切分、編碼成若干個編碼片段,且將所述若干編碼片段劃分為分發編碼片段和補充編碼片段;

所述邊緣伺服器還用於將分發編碼片段分發至所述供源節點;

所述播放節點用於從所述供源節點獲取分發編碼片段,並在預設時間段內獲取的分發編碼片段的數量未達到糾刪碼閾值時,發送補充片段請求至所述邊緣伺服器;

所述邊緣伺服器還用於在接收到所述補充片段請求時,將補充編碼片段發送至所述播放節點以進行糾刪碼補償。

較佳地,每個分發編碼片段具有不同的編碼id;

所述邊緣伺服器還用於為每個供源節點分配一個固定的編碼id,且將與編碼id對應的分發編碼片段發送至相應的供源節點。

較佳地,當所述播放節點從不同的供源節點獲得了具有相同編碼id的分發編碼片段時,所述播放節點從所述不同的供源節點中選擇一個供源節點獲取分發編碼片段,並斷開與其他供源節點的通信連接。

較佳地,所述播放節點還用於在判斷獲取的分發編碼片段有重複時,刪除重複的分發編碼片段。

較佳地,所述補充片段請求包括片段補充個數;所述片段補充個數通過m表徵,所述m的計算公式為:

m=糾刪碼閾值-預設時間段內獲取的分發編碼片段的數量;

所述邊緣伺服器在接收到所述補充片段請求時,將m個補充編碼片段發送至所述播放節點。

較佳地,每個播放節點向唯一對應的邊緣伺服器發送補充片段請求。

較佳地,從所述若干編碼片段中劃分的補充編碼片段的數量不小於所述糾刪碼閾值。

本發明還提供一種減少編碼片段重複的p2p直播方法,其特點在於,所述p2p直播方法包括:

s1、邊緣伺服器將視頻數據切分成若干數據塊,並將每個數據塊切分、編碼成若干個編碼片段,且將所述若干編碼片段劃分為分發編碼片段和補充編碼片段;

s2、所述邊緣伺服器將分發編碼片段分發至供源節點;

s3、播放節點從供源節點獲取分發編碼片段,並在預設時間段內獲取的分發編碼片段的數量未達到糾刪碼閾值時,發送補充片段請求至所述邊緣伺服器;

s4、所述邊緣伺服器在接收到所述補充片段請求時,將補充編碼片段發送至所述播放節點以進行糾刪碼補償。

較佳地,步驟s1中還包括:

所述邊緣伺服器為每個分發編碼片段設置不同的編碼id;

步驟s2,具體包括:

所述邊緣伺服器為每個供源節點分配一個固定的編碼id,且將與編碼id對應的分發編碼片段發送至相應的供源節點。

較佳地,在步驟s3中,播放節點從所述供源節點獲取分發編碼片段的步驟,具體包括:

當所述播放節點從不同的供源節點獲得了具有相同編碼id的分發編碼片段時,所述播放節點從所述不同的供源節點中選擇其中一個供源節點獲取分發編碼片段,並斷開與其他供源節點的通信連接。

較佳地,在步驟s3中,在獲取分發編碼片段的步驟之後,還包括:

所述播放節點在判斷獲取的分發編碼片段有重複時,刪除重複的分發編碼片段。

較佳地,所述補充片段請求包括片段補充個數;所述片段補充個數通過m表徵,所述m的計算公式為:

m=糾刪碼閾值-預設時間段內獲取的分發編碼片段的數量;

步驟s4中,將補充編碼片段發送至所述播放節點以進行糾刪碼補償的步驟,具體包括:

將m個補充編碼片段發送至所述播放節點。

較佳地,步驟s3中,每個播放節點向唯一對應的邊緣伺服器發送補充片段請求。

較佳地,從所述若干編碼片段中劃分的補充編碼片段的數量不小於所述糾刪碼閾值。

本發明的積極進步效果在於:本發明的邊緣伺服器將編碼片段分成不同的兩部分,一部分通過供源節點分發至播放節點,一部分用於當播放節點在預設時間段內獲取的分發編碼片段的數量未達到糾刪碼閾值時,發送給播放節點以進行糾刪碼補償。從而,本發明大大減小了因網絡延時或丟包等原因造成的播放節點獲取編碼片段緩慢,致使數據塊不能恢復而導致流媒體播放過程中的卡頓現象。另外,由於補充的編碼片段與分發的編碼片段是不同的,從而減小了播放節點接收重複編碼片段的概率,進而減小了播放節點因接收到重複的編碼片段導致的卡頓風險,保證了視頻的流暢播放。

附圖說明

圖1為本發明實施例1的減少編碼片段重複的p2p直播系統的結構示意圖。

圖2為本發明實施例3的減少編碼片段重複的p2p直播方法的流程圖。

圖3為本發明實施例4的減少編碼片段重複的p2p直播方法的流程圖。

圖4為本發明實施例5的減少編碼片段重複的p2p直播方法的流程圖。

具體實施方式

下面通過實施例的方式進一步說明本發明,但並不因此將本發明限制在所述的實施例範圍之中。

實施例1

如圖1所示,本實施例的p2p直播系統包括:邊緣伺服器1、供源節點2和播放節點,每個邊緣伺服器1分別與多個供源節點2通信連接,每個供源節點2又與多個播放節點3通信連接,每個播放節點也與多個供源節點2通信連接。視頻直播過程中,邊緣伺服器將獲取的視頻數據切分成若干數據塊,並將每個數據塊切分、編碼成若干個編碼片段。具體的,邊緣伺服器將每個數據塊切分成k個同樣大小的原始片段,再通過糾刪碼對k個原始片段進行編碼生成n-k個冗餘的編碼片段,且將n個編碼片段劃分為分發編碼片段和補充編碼片段。邊緣伺服器將分發編碼片段分發至供源節點,播放節點則可從供源節點獲取分發編碼片段,並在獲取分發編碼片段的過程中判斷預設時間段(可根據網絡狀態、播放節點性能等自行設置)內獲取的分發編碼片段的數量是否達到糾刪碼閾值(也即k),若未達到糾刪碼閾值,則播放節點發送補充片段請求至邊緣伺服器;若在預設時間段內獲取的分發編碼片段的數量達到k個,則播放節點嘗試解碼恢復數據塊。邊緣伺服器在接收到補充片段請求時,將補充編碼片段發送至播放節點以進行糾刪碼補償。

從而,本發明大大減小了因網絡延時或丟包等原因造成的播放節點獲取編碼片段緩慢,致使數據塊不能恢復而導致流媒體播放過程中的卡頓現象。另外,由於補充編碼片段與分發編碼片段是不同的,從而減小了播放節點接收重複編碼片段的概率,進而減小了播放節點因獲取重複的編碼片段導致的卡頓風險。

本實施例中,補充片段請求包括片段補充個數,片段補充個數通過m表徵,計算公式為:m=k-l,其中k為糾刪碼閾值,l為預設時間段內播放節點獲取的分發編碼片段的數量。則邊緣伺服器在接收到補充片段請求時,將m個補充編碼片段發送至播放節點,避免傳輸浪費。

本實施例中也可設置每個播放節點向唯一對應的邊緣伺服器發送補充片段請求,也即每個播放節點只從一個邊緣伺服器獲取補充編碼片段,以避免獲取重複的補充編碼片段,進一步減小了播放節點獲取重複編碼片段的概率,減小了卡頓風險。

需要說明的是,直播系統中的節點可同時作為播放節點和供源節點,播放節點的數據可以包括從邊緣伺服器獲得的補充編碼片段和從供源節點獲得的分發編碼片段,供源節點的數據僅為從邊緣伺服器獲得的分發編碼片段,本實施例中,播放節點在獲得編碼片段後,不會將所得用於播放的數據發送給任何節點,即該播放節點不會將從邊緣伺服器獲得的補充編碼片段和從供源節點獲得的分發編碼片段上傳給其他節點,從而避免系統中其他播放節點獲得相同的補充編碼片段,進而減小了其他播放節點的視頻卡頓風險。

由於每個供源節點可以從多個邊緣伺服器獲取分發編碼片段(也即每個供源節點獲得的分發編碼片段可能有重複),每個播放節點也可以從不同的供源節點獲取分發編碼片段,因此,播放節點還是有可能獲取到重複的分發編碼片段。為了避免播放節點因獲得重複的分發編碼片段而引起的視頻播放卡頓現象,本實施例的播放節點在接收到分發編碼片段時還可判斷獲取的分發編碼片段是否有重複,並在判斷為是時,刪除重複的分發編碼片段,之後再進行數量判斷。從而,可避免因接收到重複的編碼片段導致的視頻卡頓問題。此時,片段補充個數還需要在m的基礎上加上刪除重複的分發編碼片段的個數。

本實施例中,劃分編碼片段時,最好使得補充編碼片段的數量m不小於糾刪碼閾值k。這是因為,若某個播放節點沒能獲取任何分發編碼片段時,則全部的編碼片段需要從邊緣伺服器補充,因此必須保證k<m<n。另外,劃分編碼片段時,最好使得分發編碼片段的數量遠大於補充編碼片段的數量,以在p2p交換時減小發生重複的概率。

實施例2

實施例2與實施例1基本相同,不同之處在於,本實施例提供了另一種避免播放節點獲得重複的分發編碼片段的方式。具體的,本實施例中,一個數據塊中的所有分發編碼片段具有不同的編碼id(補充編碼片段也具有不同的編碼id,與分發編碼片段各自獨立),但每個數據塊中的編碼id是相同的,例如數據塊1中的編碼id為:分發編碼片段1、分發編碼片段2,……,分發編碼片段n;數據塊2中的編碼id同樣為:分發編碼片段1、分發編碼片段2,……,分發編碼片段n。邊緣伺服器為每個供源節點分配一個固定的編碼id,且將與編碼id對應的分發編碼片段發送至相應的供源節點,也即供源節點只接收對應編碼id的分發編碼片段,從而避免了供源節點接收到重複的分發編碼片段,進而避免了播放節點從不同的供源節點獲取重複的分發編碼片段。

本實施例中,若系統出現故障,播放節點可能從不同的供源節點獲得具有相同編碼id的分發編碼片段,此時播放節點可從上述不同的供源節點中選擇一個供源節點獲取分發編碼片段,並斷開與其他供源節點的通信連接,以避免獲取重複的分發編碼片段。進一步的,播放節點也可判斷分發編碼片段是否有重複,並在判斷為是時,刪除重複的分發編碼片段。

實施例3

如圖2所示,本實施例的p2p直播方法包括以下步驟:

步驟110、邊緣伺服器將視頻數據切分成若干數據塊,並將每個數據塊切分、編碼成若干個編碼片段,且將若干編碼片段劃分為分發編碼片段和補充編碼片段。

其中,劃分編碼片段時,最好使得補充編碼片段的數量m不小於糾刪碼閾值k。這是因為,若某個播放節點沒能獲取任何分發編碼片段時,則全部的編碼片段需要從邊緣伺服器補充,因此必須保證k<m<n。另外,劃分編碼片段時,最好使得分發編碼片段的數量遠大於補充編碼片段的數量,以在p2p交換時減小發生重複的概率。

步驟120、邊緣伺服器將分發編碼片段分發至供源節點。

步驟130、播放節點從供源節點獲取分發編碼片段。

步驟140、判斷預設時間段內獲取的分發編碼片段的數量是否達到糾刪碼閾值。若否,則執行步驟150;若是,則執行步驟150』。

步驟150、發送補充片段請求至邊緣伺服器。

步驟160、邊緣伺服器在接收到補充片段請求時,將補充編碼片段發送至播放節點以進行糾刪碼補償。

步驟150』、嘗試解碼恢復數據塊。

本實施例中,補充片段請求包括片段補充個數;片段補充個數通過m表徵,其中計算公式為:m==k-l,其中k為糾刪碼閾值,l為預設時間段內播放節點獲取的分發編碼片段的數量。則步驟160中,邊緣伺服器將m個補充編碼片段發送至播放節點。

需要說明的是,直播系統中的節點可同時作為播放節點和供源節點,本實施例中,播放節點在獲得編碼片段後,不會將所得用於播放的數據發送給任何節點,即該播放節點不會將從邊緣伺服器獲得的補充編碼片段和從供源節點獲得的分發編碼片段上傳給其他節點,以避免系統中其他的播放節點獲得重複的編碼片段導致視頻播放卡頓。

本實施例中,每個播放節點向唯一對應的邊緣伺服器發送補充片段請求,從而避免了接收到重複的補充編碼片段。

實施例4

實施例4與實施例3基本相同,如圖3所示,不同之處在於,本實施例中,在步驟130之後,還包括:

步驟131、判斷接收到的分發編碼片段是否有重複。若是,則執行步驟132;若否,則執行步驟140;

步驟132、刪除重複的分發編碼片段。

從而,本實施例避免了播放節點獲得重複的編碼片段,進而避免了因編碼片段重複導致的視頻播放卡頓現象,保證了視頻的流暢播放。

實施例5

實施例5與實施例3基本相同,如圖4所示,不同之處在於,本實施例中,步驟110用步驟110』代替,步驟120用步驟120』代替。

步驟110』、邊緣伺服器將視頻數據切分成若干數據塊,並將每個數據塊切分、編碼成若干個編碼片段,且將若干編碼片段劃分為分發編碼片段和補充編碼片段邊緣,伺服器為每個分發編碼片段設置不同的編碼id。

步驟120』、邊緣伺服器為每個供源節點分配一個固定的編碼id,且將與編碼id對應的分發編碼片段發送至相應的供源節點。

進一步的,步驟130用步驟130』代替。

步驟130』、當播放節點從不同的供源節點獲得了具有相同編碼id的分發編碼片段時,播放節點從不同的供源節點中選擇其中一個供源節點獲取分發編碼片段,並斷開與其他供源節點的通信連接。

本實施例,也可避免播放節點獲得重複的編碼片段,進而避免了因編碼片段重複導致的視頻播放卡頓現象,保證了視頻的流暢播放。

雖然以上描述了本發明的具體實施方式,但是本領域的技術人員應當理解,這僅是舉例說明,本發明的保護範圍是由所附權利要求書限定的。本領域的技術人員在不背離本發明的原理和實質的前提下,可以對這些實施方式做出多種變更或修改,但這些變更和修改均落入本發明的保護範圍。

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀