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