專利名稱:一種基于互聯網的多路并發網絡電視視頻流的傳輸方法
技術領域:
本發明涉及一種基于互聯網的多路并發網絡電視視頻流的傳輸方法。
背景技術:
在目前的網絡電視(IPTV)播放系統中,往往要提供幾十甚至上百套數字電視節目 的處理能力,因此系統面臨如何合理地調度多媒體處理任務,其中多媒體處理任務包括 節目信息提取、編碼、協議封裝和數據傳輸等一系列操作。傳統的解決方案是為每一 套電視節目建立獨立的處理任務,該任務在節目信息提取時只能選擇一套特定的數字電 視界面,并且在協議封裝時只能選擇IPv4或IPv6協議,單播或組播。
傳統的解決方案符合通常的邏輯,結構簡單,條理清楚。在傳統的互聯網環境和現 有的網絡電視(IPTV)解決方案中是比較適用的。例如目前用戶的網絡環境現對簡單, 用戶通常使用IPv4的網絡,大部分網絡沒有開通組播業務,用戶使用IPTV業務時通常 使用IP機登盒,同時只能收看一路電視節目,對節目切換時間要求也不高,因此對IPTV 播放系統的傳輸要求相對較低。
然而隨著下一代互聯網技術的進一步發展和商用化,網絡的帶寬資源更加豐富,網 絡提供的服務越來越多,用戶端的網絡環境也越來越復雜,例如IPv4和IPv6雙棧以及 組播等,此外,用戶也對IPTV的收視效果提供了更高的要求,例如同時收看多個電視 頻道,而且要求頻道切換時間更短,以上這些都需要IPTV播放系統提供更加豐富的傳 輸方式。但是如果還是按照原有的傳輸方式,會造成播放系統平臺上任務數量或播放系 統的數量過多,從而不合理地消耗大量系統資源。
此外,不管是組播還是單播方式,每一路數字電視信號都需要占用一個實時傳輸協 議(RTP)會話,這樣不僅會增加主干網絡核心路由器的處理負擔,同時也會增加并發 接收多路電視信號的客戶終端的負擔。所以為了充分利用網絡電視播放系統的資源, 實現面向下一代互聯網的網絡電視信號傳輸要求,必須對現有的數字電視信號傳輸方式 加以改進。
發明內容
本發明的目的是為了克服現有技術方案存在的不足,提供一種能夠提高RTP會話資 源利用率的方法,它可以有效減少對網絡電視播放系統的資源占用和網絡核心設備的處理要求,并提升網絡電視終端用戶的體驗效果。 本發明為實現上述目的釆用下面的技術方案
一種基于互聯網的多路并發網絡電視視頻流的傳輸方法,包括以下步驟
A、 在網絡電視的前端視頻采集系統中建立n條MPEG2幀數據隊列,n為自然數, 且Kn《100;隊列中的數據來源于DSP子系統的實時編碼輸出,每個隊列對應于一 套電視節目編碼流;
B、 根據網絡電視節目信息,建立節目復用信息表,每個表項包含需要組合的節目 信息和節目數量,按照RFC2250傳輸標準,節目數量最少為l,最大為7,并且每個表 項在系統中均被分配一個唯一的編號;
C、 建立發送任務池,并對數據發送任務進行分類、編號、模式和地址設置處理, 所述的分類處理是按照任務須傳送的電視節目內容把任務分類為節目相同和節目不相 同兩種;所述的編號處理是將每一項任務進行編號,此編號包含于B步驟所述的表項
的編號,節目相同的任務具有相同的編號,節目不同的任務編號不同;所述的模式和地 址設置是指每個發送任務需要在一個分組報文中設置的分組報文信息,這些分組報文信 息包括目標地址、端口號和TTL值;
D、 根據發送任務池建立發送線程,每個線程對應于一個或一組發送任務進程;
E、 發送任務進程按照上述B步驟的編碼依次從上述A步驟的MPEG2幀數據隊列 中獲取數據,并按C步驟的任務模式和分組報文信息進行發送
a) 當編號對應的節目組合僅指定了一個隊列,則連續取l一7次數據并封裝在一個 RTP報文中進行發送;
b) 當編號對應的節目組合指定了多個隊列,則分別從每個隊列中取一次數據,然 后封裝在一個RTP報文中進行發送;
上述a)、 b)此過程不斷重復進行。 有益效果
本發明采用上述技術方案,與現有技術相比具有下面的優點
由于每個發送任務進程都需要占用系統的計算和存儲資源,因此把節目信息但傳輸 模式不同的任務合并由一個任務進程處理可以極大的節省系統資源,另外多個電視節目
可以復用一個RTP信道,還可以減少核心網絡設備和網絡電視終端的處理開銷,并可以
有效的降低頻道的切換時間。
本發明改變了傳統方法的單任務單模式傳輸單節目流的方式,采用更加靈活的節目
流復用方式,實現了在一個RTP會話中任意組合節目流的方法,封裝協議和傳輸模式更加豐富,非常適合于在下一代互聯網高帶寬、需求復雜的環境中進行大規模并發網絡電 視流的傳輸。采用此方法,系統可以在同等資源情況下提供更加豐富的傳輸手段。
圖l,是本發明的任務池的工作流程圖。
圖2,是本發明發送進程從任務池獲取任務的工作流程圖。
圖3,是本發明任務進程處理任務的工作流程圖。
具體實施例方式
下面結合附圖舉例對本發明的技術方案做進一步的說明。
網絡電視系統提供7路電視信號的播放服務,系統建立7個MPEG2數據幀隊列, 并分別把DSP系統輸出的實時數字電視編碼數據輸出到相應的數據幀隊列中,隊列編 號為0, 1, ...6;系統根據電視節目信息建立復用信息表,信息表包含了節目信息的各 種組合,共計128種。
參見附圖l,任務池對輸入的任務進行分類、編號和模式地址設置。
分類將任務分成節目信息相關或不相關的兩類,若任務的節目信息組合相同,則 被認為是相關任務,這類任務多是需要采用不同的發送模式,比如組播或單播,或協議 封裝不同,例如IPv4或IPv6,或者目標地址不同。
編號任務相關的任務具有相同的編號,任務不相關的任務單獨編號。這里的編號 對應于節目復用信息表的編號,因此具有唯一性。
模式和地址設置每個任務都具有不同的模式或地址信息,這些信息在協議封裝過
程中被用來設置相應的協議分組報文頭部信息,包括目標地址、端口號和TTL值。
參照附圖2,系統首先查詢任務池,創建任務處理進程,如果該任務還有相關任務, 則獲取所有任務屬性。在創建任務進程時,系統同時向任務處理進程傳送任務標號和屬 性,并激活任務進程。
參照附圖3,任務進程啟動后,根據任務編號獲取編號所對應的各相關任務,然后 根據編號對應的節目組合信息從MPEG2數據幀隊列讀取編碼數據,再按任務的模式和 地址設置信息進行協議封裝并發送。
a)、當編號對應的節目組合僅指定了一個隊列,則連續取l一7次數據并封裝在一 個RTP報文中進行發送;b)、當編號對應的節目組合指定了多個隊列,則分別從每個 隊列中取一次數據,然后封裝在一個RTP報文中進行發送;
上述a)、 b)此過程不斷重復進行。
權利要求
1、一種基于互聯網的多路并發網絡電視視頻流的傳輸方法,其特征在于包括以下步驟A、在網絡電視的前端視頻采集系統中建立n條MPEG2幀數據隊列,n為自然數,且1<n≤100;隊列中的數據來源于DSP子系統的實時編碼輸出,每個隊列對應于一套電視節目編碼流;B、根據網絡電視節目信息,建立節目復用信息表,每個表項包含需要組合的節目信息和節目數量,按照RFC2250傳輸標準,節目數量最少為1,最大為7,并且每個表項在系統中均被分配一個唯一的編號;C、建立發送任務池,并對數據發送任務進行分類、編號、模式和地址設置處理,所述的分類處理是按照任務須傳送的電視節目內容把任務分類為節目相同和節目不相同兩種;所述的編號處理是將每一項任務進行編號,此編號包含于B步驟所述的表項的編號,節目相同的任務具有相同的編號,節目不同的任務編號不同;所述的模式和地址設置是指每個發送任務需要在一個分組報文中設置的分組報文信息,這些分組報文信息包括目標地址、端口號和TTL值;D、根據發送任務池建立發送線程,每個線程對應于一個或一組發送任務進程;E、發送任務進程按照上述B步驟的編碼依次從上述A步驟的MPEG2幀數據隊列中獲取數據,并按C步驟的任務模式和分組報文信息進行發送a)當編號對應的節目組合僅指定了一個隊列,則連續取1—7次數據并封裝在一個RTP報文中進行發送;b)當編號對應的節目組合指定了多個隊列,則分別從每個隊列中取一次數據,然后封裝在一個RTP報文中進行發送;上述a)、b)此過程不斷重復進行。
全文摘要
本發明公開了一種基于互聯網的多路并發網絡電視視頻流的傳輸方法,在網絡電視的前端視頻采集系統中建立n條MPEG2幀數據隊列,每個隊列對應于一套電視節目編碼流;按照系統配置,在系統中創建多個幀數據發送任務,每個任務都有一個單獨的節目標記字段,字段中每一位分別對應于一個幀數據隊列,發送任務將按照標記位置位情況選擇是否從對應的MPEG2幀隊列中取一個幀數據封裝進入RTP報文,當完成取幀操作后發送任務再采用IPv4和IPv6協議使用單播和組播模式進行傳輸。本發明改變了傳統方法的單任務單模式傳輸單節目流的方式,采用更加靈活的節目流復用方式,實現了在一個RTP會話中任意組合節目流的方法,封裝協議和傳輸模式更加豐富。
文檔編號H04N7/24GK101511009SQ20091003037
公開日2009年8月19日 申請日期2009年3月20日 優先權日2009年3月20日
發明者曉 余, 劉亞東, 吳劍章, 楊建平, 胡正好 申請人:東南大學