實時視頻流的無縫切換方法
【技術領域】
[0001]本發明涉及視頻處理的技術,特別是涉及一種實時視頻流的無縫切換方法的技術。
【背景技術】
[0002]實時視頻傳輸系統運行時,視頻流采集終端采集實時視頻流(比如體育比賽實時視頻),并根據用戶終端的請求向用戶終端傳送對應規格的視頻流;比如用戶終端請求一個高清規格的視頻流,視頻流采集終端即向用戶終端傳送高清視頻流,用戶終端請求一個標清規格的視頻流,視頻流采集終端即向用戶終端傳送標清視頻流。
[0003]用戶終端在接收實時視頻流時,經常會根據需要更改視頻流規格,視頻流采集終端收到來自用戶終端的規格切換請求后,傳統的做法是先停止當前流的編碼和傳輸,然后給采集/編碼模塊輸入新的規格參數,得到編碼輸出后開始新的視頻流傳輸。這種傳統的實時視頻流切換方法的主要缺點是:對于在運動圖像需要的正常采集幀率下工作的視頻流,這個停止再啟動的過程會丟失若干幀的畫面;且有一定的幾率產生兩個距離很近的關鍵幀,使實時視頻流出現一個高于正常范圍的碼率峰值,從而影響視頻流的平滑傳輸。
【發明內容】
[0004]針對上述現有技術中存在的缺陷,本發明所要解決的技術問題是提供一種能在切換視頻流規格時避免丟失幀,且能維持傳輸碼流平滑變更的實時視頻流的無縫切換方法。
[0005]為了解決上述技術問題,本發明所提供的一種實時視頻流的無縫切換方法,涉及實時視頻傳輸系統,所述實時視頻傳輸系統具有視頻流采集終端及用戶終端,其中的視頻流采集終端用于采集實時視頻流,并根據用戶終端的請求向用戶終端傳送對應規格的視頻流;用戶終端需要更改視頻流規格時,向視頻流采集終端發送一個規格切換請求;
其特征在于,視頻流采集終端收到用戶終端的規格切換請求后,執行如下步驟:
1)保持原編碼器實例繼續運行,并按用戶終端所請求的新規格啟動一個新編碼器實例,其中的原編碼器實例是指用戶終端上一次所請求的原規格的編碼器實例;
2)將新視頻流與原視頻流進行幀號同步,使該兩個視頻流中的各個相同內容的幀一一對應;
其中,新視頻流是指新編碼器實例輸出的視頻流,原視頻流是指原編碼器實例輸出的視頻流;
3)在新視頻流中選擇一個關鍵幀,并從該關鍵幀開始向用戶終端傳送新視頻流,原視頻流傳送完該關鍵幀的上一幀數據后結束,且該關鍵幀的幀號與原視頻流的最后一個關鍵幀的幀號之間的間距大于新視頻流GOP長度的1/2 ;
4)關閉原編碼器實例,空出編碼器硬件資源,準備下一次切換。
[0006]本發明提供的實時視頻流的無縫切換方法,讓兩個不同規格的編碼器實例同時運行,并選擇合理的時機切換,能保證被停止視頻流傳送的最后一幀和新視頻流傳送的第一幀幀號是連續的,能在切換視頻流規格時避免丟失幀;并且新視頻流的第一幀與被停止視頻流的最后一個關鍵幀的距離不是太小,使得關鍵幀的間隔沒有改變,能維持傳輸碼流平滑變更,因此即使頻繁進行規格切換,接收端也能得到完全沒有中斷和缺幀的連續視頻流;對承載視頻流的傳輸網絡,也降低了峰值傳輸能力的要求。
【具體實施方式】
[0007]以下結合具體實施例對本發明的技術方案作進一步詳細描述,但本實施例并不用于限制本發明,凡是采用本發明的相似結構及其相似變化,均應列入本發明的保護范圍,本發明中的頓號均表示和的關系。
[0008]本發明實施例所提供的一種實時視頻流的無縫切換方法,涉及實時視頻傳輸系統,所述實時視頻傳輸系統具有視頻流采集終端及用戶終端,其中的視頻流采集終端用于采集實時視頻流(比如體育比賽實時視頻),并根據用戶終端的請求向用戶終端傳送對應規格的視頻流(比如高清規格);用戶終端需要更改視頻流規格時(比如從高清規格切換為標清規格),向視頻流采集終端發送一個規格切換請求;
其特征在于,視頻流采集終端收到用戶終端的規格切換請求后,執行如下步驟:
1)保持原編碼器實例繼續運行,并按用戶終端所請求的新規格啟動一個新編碼器實例,其中的原編碼器實例是指用戶終端上一次所請求的原規格的編碼器實例;
2)將新視頻流與原視頻流進行幀號同步,使該兩個視頻流中的各個相同內容的幀一一對應;
其中,新視頻流是指新編碼器實例輸出的視頻流,原視頻流是指原編碼器實例輸出的視頻流;
3)在新視頻流中選擇一個關鍵幀,并從該關鍵幀開始向用戶終端傳送新視頻流,原視頻流傳送完該關鍵幀的上一幀數據后結束,且該關鍵幀的幀號與原視頻流的最后一個關鍵幀的幀號之間的間距大于新視頻流GOP長度的1/2 ;
4)關閉原編碼器實例,空出編碼器硬件資源,準備下一次切換。
[0009]本發明實施例適用于實時視頻傳輸系統中的前端采集壓縮設備,如單兵設備、IPCamera 等。
【主權項】
1.一種實時視頻流的無縫切換方法,涉及實時視頻傳輸系統,所述實時視頻傳輸系統具有視頻流采集終端及用戶終端,其中的視頻流采集終端用于采集實時視頻流,并根據用戶終端的請求向用戶終端傳送對應規格的視頻流;用戶終端需要更改視頻流規格時,向視頻流采集終端發送一個規格切換請求; 其特征在于,視頻流采集終端收到用戶終端的規格切換請求后,執行如下步驟: 1)保持原編碼器實例繼續運行,并按用戶終端所請求的新規格啟動一個新編碼器實例,其中的原編碼器實例是指用戶終端上一次所請求的原規格的編碼器實例; 2)將新視頻流與原視頻流進行幀號同步,使該兩個視頻流中的各個相同內容的幀一一對應; 其中,新視頻流是指新編碼器實例輸出的視頻流,原視頻流是指原編碼器實例輸出的視頻流; 3)在新視頻流中選擇一個關鍵幀,并從該關鍵幀開始向用戶終端傳送新視頻流,原視頻流傳送完該關鍵幀的上一幀數據后結束,且該關鍵幀的幀號與原視頻流的最后一個關鍵幀的幀號之間的間距大于新視頻流GOP長度的1/2 ; 4)關閉原編碼器實例,空出編碼器硬件資源,準備下一次切換。
【專利摘要】一種實時視頻流的無縫切換方法,涉及視頻處理技術領域,所解決的是切換視頻流規格的技術問題。該方法的特征在于,視頻流采集終端收到用戶終端的規格切換請求后,保持原編碼器實例繼續運行,并啟動一個新編碼器實例;再將新視頻流與原視頻流進行幀號同步;然后在新視頻流中選擇一個關鍵幀,并從該關鍵幀開始向用戶終端傳送新視頻流,原視頻流傳送完該關鍵幀的上一幀數據后結束,且該關鍵幀的幀號與原視頻流的最后一個關鍵幀的幀號之間的間距大于新視頻流GOP長度的1/2;然后再關閉原編碼器實例。本發明提供的方法,適用于實時視頻傳輸系統中的前端采集壓縮設備。
【IPC分類】H04N21-4402, H04N19-146
【公開號】CN104768062
【申請號】CN201510150780
【發明人】鄭宇宏, 繆林, 華敏
【申請人】上海閱維信息科技有限公司
【公開日】2015年7月8日
【申請日】2015年4月1日