一種基於SDN的目的端精準視頻切換方法與流程
2023-06-28 10:18:01 4

本發明屬於媒體視頻技術領域,尤其涉及一種基於sdn的目的端精準視頻切換方法,進一步涉及媒體視頻製作ip化過程中的精準視頻實時切換(淨切換)方法。
背景技術:
自從廣電行業由模擬時代進入數字時代後,ip的相關技術就一步步地滲透進了廣電行業之中。製作由線性轉變為非線性,媒資由磁帶庫轉變為磁碟陣列,播出由錄像機轉變為伺服器。單就硬體設備來看,廣電的設備機房與it企業的機房已經相當接近了。兩者最大的區別在於傳輸方式,廣電行業目前最常見的是使用sdi標準通過同軸電纜傳輸信號。這看起來與雙絞線傳輸有很大不同,但其實ip化的傳輸方式早已悄然出現在廣電行業的實際應用中。
目前隨著超高清信號的發展,解析度至少達到4k級別,即3840×2160像素,每秒50幀,以10bit量化精度的4:4:4數字視頻分量信號為例,其碼率約為12gbps。目前傳輸帶寬最高的3g-sdi只支持3gbps的傳輸速率,無法滿足超高清信號的傳輸;而對於ip化傳輸來說,萬兆乙太網10gbps的傳輸速率已經能夠滿足超高清傳輸帶寬的需求。
現在採用sdi傳輸超高清信號通行的做法是將超高清信號拆分為4路高清信號進行傳輸,這種方法能夠在現階段解決超高清傳輸的問題。但這並不是長期的解決辦法,一旦超高清進入實際應用階段,這會使系統規模過於龐大。而採用ip方式可以使用單根網線或光纖進行超高清信號的傳輸,因此更具備實際應用的價值。除此之外,基礎架構ip化可以使系統結構更簡單,這取決於其本身的傳輸特點。同時依靠it行業的規模優勢可以快速降低成本,另外能夠使新媒體業務更好地與廣電業務相融合,直面新媒體業態對傳統廣電行業的衝擊。所以,媒體網絡ip化是廣電發展的趨勢。
sdn(softwaredefinednetwork,軟體定義網絡)是一種新型的基於軟體可編程思想的網絡架構,它有一個集中式的控制平面和分布式的轉發平面,兩個平面相互分離,可以實現控制平面對數據平面的集中化控制,並提供開放的編程接口,為網絡提供靈活的可編程能力。sdn體系架構具有很強的開放性,它通過對整個網絡進行抽象,為用戶提供完備的編程接口。在傳統網絡中,大部分用戶對網絡的實時狀態是不可見的,更難以管理和控制。與傳統網絡不同,sdn技術通過開放編程接口,使用戶可以根據上層的業務與應用個性化地定製網絡資源來滿足其特有的需求。此外,sdn接口協議標準化也體現出sdn在設計時對開放性的追求,按照其最初的設計思想,非常希望能夠通過使用標準化的協議來打破某些廠商對設備、協議以及軟體的壟斷,從而使更多的研究者可以參與到網絡設備和軟體相關的研發工作中來。
在廣電網絡向ip化發展的過程中,不可避免的遇到了一些技術難點,視頻精準切換就是其中的一個難點,傳統sdi分發串行數字輸入信號,無論有多少被路由和切換的活動信號,都提供一致的延遲和性能;提供確定的切換時間。而ip網絡是一種「盡力而為」的網絡,產生的時延是可變的,這就會導致不同步切換的問題,因此需要精準切換(淨切換)解決切換不同步的問題。
技術實現要素:
本發明要解決的技術問題是,提供一種目的端精準視頻切換方法,通過sdn下發流表控制視頻流切換,同時在目的端緩存視頻流並完成精準切換的方法。
為實現上述目的,本發明採用如下的技術方案:
一種基於sdn的目的端精準視頻切換方法,具體如下:
步驟1、設sourcea和sourceb為視頻發送端,destination為目的端,其中,目的端首先接收sourcea的視頻流,sdn控制器通過flowmod消息添加第一流表項,將sourcea視頻流轉發到埠3,目的端接收sourcea的數據;
步驟2、當目的端希望接收sourceb的數據,執行切換過程,首先sdn控制器通過flowmod消息在流表添加第二流表項,將sourceb的數據轉發到埠3,此時,sourcea和sourceb的數據都轉發到埠3;其中,切換命令下達後,在目的端同時緩存來自sourcea和sourceb的數據包,對數據包進行包解析到rtp頭,根據rtp協議的mark標誌位,確認每幀的幀頭和幀尾,以實現淨切換;
步驟3、sdn控制器通過flowmod消息刪除sourcea轉發到埠3的第一流表項,以更新流表,此時目的端僅接受到來自sourceb的數據,切換過程完成。
作為優選,目的端首先檢測目前正在接收的sourcea的a1幀中每個數據包的mark位,根據mark位確定每幀幀尾,同時檢測緩存中緩存的來自sourceb的數據中數據包中mark位,在檢測到來自sourcea的a1幀幀尾和來自sourceb的b1幀幀尾後,目的端傳輸由a1幀切換到b2幀。
附圖說明
圖1為目的端接收sourcea數據的流程示意圖;
圖2為視頻切換的流程示意圖;
圖3為更新流表的流程示意圖;
圖4為精準視頻切換過程的示意圖。
具體實施方式
本發明實施例提供一種目的端精準視頻切換方法,具體如下:
(一)視頻切換基本過程
(1)sourcea和sourceb是視頻發送端,destination為目的端,目的端首先接收sourcea的視頻流。sdn控制器通過flowmod消息添加第一流表項,將源a視頻流轉發到埠3,目的端接收sourcea的數據,如圖1所示。
(2)當目的端希望接收sourceb的數據,執行切換過程;首先sdn控制器通過flowmod消息在流表添加第二流表項,將sourceb的數據轉發到埠3,此時,sourcea和sourceb的數據都轉發到埠3,sourcea和sourceb的數據在目的端緩存。
(3)sdn控制器通過flowmod消息刪除sourcea轉發到埠3的第一流表項,此時目的端僅接受到來自sourceb的數據,切換過程完成。
(二)精準切換(淨切換)實現
切換命令下達後,為了實現淨切換,需要在目的端同時緩存來自sourcea和sourceb的數據包,對數據包進行包解析到rtp頭,根據rtp協議的mark標誌位,確認每幀的幀頭和幀尾,以實現切換時的幀對齊,也就是淨切換,具體如圖4所示。
(1)切換命令下達後,sdn控制器在流表中添加第二流表項,如圖2所示,目的端同時緩存來自sourcea和sourceb的數據。
(2)目的端首先檢測目前正在接收的sourcea的a1幀中每個數據包的mark位(每幀被分成許多數據包傳輸,例如:高清sdi信號每幀分成2699個數據包傳輸),根據mark位確定每幀幀尾,同時檢測緩存中緩存的來自sourceb的數據中數據包中mark位,在檢測到來自sourcea的a1幀幀尾和來自sourceb的b1幀幀尾後,目的端傳輸由a1幀切換到b2幀。
(3)淨切換完成後,sdn控制器更新流表,如圖3所示,目的端緩存僅接收來自sourceb的數據。整個切換過程完成。
(三)過程優化
為了保證精準切換(淨切換)過程中,在目的端緩存能同時檢測到來自sourcea和sourceb的幀尾數據包,目的端需要至少緩存sourcea和sourceb一幀的數據量,這就對交換機同時轉發來自sourcea和sourceb的數據流這一狀態的時間t提出了要求,以視頻流50幀/秒為例,t一般大於等於20ms,也可以進一步優化。同時轉發流的時間明顯小於基於igmp的視頻精準切換方法的時間(幾十毫秒至幾秒),因此提高了鏈路利用率、緩存效率和減小視頻切換時間。