[發明專利]一種波動網絡環境下的視頻實時傳輸方法有效
| 申請號: | 201710759875.3 | 申請日: | 2017-08-28 |
| 公開(公告)號: | CN107666593B | 公開(公告)日: | 2020-04-21 |
| 發明(設計)人: | 丁海斌;陳海欣;嚴紅;崔雋;孟德鑫;姚東浩;鄧佳磊;包亮;趙侃侃;江振亮 | 申請(專利權)人: | 中國電子科技集團公司第二十八研究所 |
| 主分類號: | H04N7/18 | 分類號: | H04N7/18;H04N21/647 |
| 代理公司: | 江蘇圣典律師事務所 32237 | 代理人: | 胡建華;于瀚文 |
| 地址: | 210007 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 波動 網絡 環境 視頻 實時 傳輸 方法 | ||
1.一種波動網絡環境下的視頻實時傳輸方法,其特征在于,包括如下步驟:
步驟1、雙碼流動態編碼:進行雙路碼流同時編碼,其中一路為高清流,記為StreamOrigin;另一路為實時流,記為StreamDynamic;
步驟2、雙碼流時移緩存:在傳輸緩存中同時緩存一定時長的高清流StreamOrigin以及實時流StreamDynamic;
步驟3、雙碼流傳輸切換:雙碼流不同時傳輸,根據切換策略延遲切換;
步驟4、動態生成編碼器調度策略:根據網絡發送緩沖區情況進行編碼器調度策略實時更新,若由于網絡原因導致發送緩沖區數據滿,則觸發實時流StreamDynamic動態降低實時流視頻質量,優先滿足實時傳輸;若由于編碼器性能不夠導致轉發服務端輸入緩沖區滿,則先觸發實時流StreamDynamic降低實時流視頻質量,如果編碼器仍負載過多,則繼續觸發高清流StreamOrigin降低高清流質量;
步驟1中雙碼流動態編碼步驟如下:
步驟1-1、編碼器按照用戶調度命令或發送端預設的默認配置參數,進行實時編碼,即編碼器調度器調動兩路編碼器同時編碼,一路碼流為高清流StreamOrigin,另一路碼流為實時流StreamDynamic;
步驟1-2、高清流StreamOrigin按照配置的最高質量進行編碼,高清流StreamOrigin分辨率和碼率上限為用戶設置的期望參數;
步驟2中對雙碼流進行緩存時,在傳輸緩存中分別對雙碼流緩存至少一個GOP畫面組;
步驟3包括如下步驟:
步驟3-1、監聽用戶操作,動態生成切換策略;
步驟3-2、根據切換策略,進行傳輸碼流延遲切換;
步驟3-1監聽用戶操作,動態生成切換策略包括如下步驟:
步驟3-1-1、監聽用戶操作,當用戶暫停時,切換為傳輸高清流StreamOrigin;
步驟3-1-2、當用戶拖動進度條時,切換為傳輸緩存中的高清流StreamOrigin;
步驟3-1-3、當用戶進入直播模式時,切換為傳輸實時流StreamDynamic;
步驟4包括如下步驟:
步驟4-1,在采集端進行網絡情況分析及網絡發送緩沖區分析;
步驟4-2,轉發服務接收解碼端進行網絡情況分析及網絡發送緩沖區分析;
步驟4-3,轉發服務編碼發送端進行網絡情況分析及網絡發送緩沖區分析;
步驟4-1包括:
步驟4-1-1,設當前采集端網絡發送緩沖區當前已緩沖的數據尺寸為capBufferedSize,測試的緩沖區數據滿的經驗閾值為capBufOverflowThreshold,測試的緩沖區數據不足的經驗閾值為capBufUnderflowThreshold,閾值設置滿足以下公式:
步驟4-1-2,若采集端接收到轉發服務或播放端的進行調度的通知,轉至步驟4-1-3;若采集端接收到業務結束命令,則進行步驟4-1-8;否則,進行步驟4-1-4;
步驟4-1-3,更改采集端的編碼質量、碼率上限、碼流路數,即時生效;
步驟4-1-4,若capBufferedSize<capBufUnderflowThreshold,則判定網絡發送緩沖區數據不足,轉到步驟4-1-6;否則,執行步驟4-1-5;
步驟4-1-5,若capBufferedSize>capBufOverflowThreshold,則判定網絡發送緩沖區數據滿,轉到步驟4-1-7;否則,執行步驟4-1-2;
步驟4-1-6,編碼器動態提升編碼質量、碼率上限、碼流路數,但不超過步驟1-1中預設的默認配置參數;碼流路數等于配置參數中設定值,返回執行步驟4-1-2;
步驟4-1-7,編碼器動態降低編碼質量、碼率上限、碼流路數,碼流路數最低不小于步驟1-1中預設的默認配置參數中設定值,返回執行步驟4-1-2;
步驟4-2包括:
步驟4-2-1,設當前服務端網絡接收緩沖區當前已緩沖的數據尺寸為recvNetBufferedSize,測試的網絡接收緩沖區數據滿的經驗閾值為recvNetBufOverflowThreshold,測試的網絡接收緩沖區數據不足的經驗閾值為recvNetBufUnderflowThreshold;解碼接收緩沖區的尺寸為recvDecCodeBufferedSize,測試的解碼接收緩沖區數據滿的經驗閾值為recvDecCodeBufOverflowThreshold,測試的解碼接收緩沖區數據不足的經驗閾值為recvDecCodeBufUnderflowThreshold;閾值設置滿足以下公式:
步驟4-2-2,定義:若recvNetBufferedSize<recvNetBufUnderflowThreshold,則判定網絡接收緩沖區數據不足;若recvNetBufferedSize>recvNetBufOverflowThreshold,則判定網絡接收緩沖區數據滿;若recvDecCodeBufferedSize<recvDecCodeBufUnderflowThreshold,則判定解碼負載空閑;若recvDecCodeBufferedSize>recvDecCodeBufOverflowThreshold,則判定解碼負載超載;
步驟4-2-3,服務端監測網絡接收緩沖區及自身解碼負載情況,若采集端接收到業務結束命令,則進行步驟4-2-12;否則,進行步驟4-2-4;
步驟4-2-4,若網絡接收緩沖區數據不足且解碼負載空閑,轉到步驟4-2-5;否則,進行步驟4-2-6;
步驟4-2-5,通知采集端動態提升參數,包括編碼質量、碼率上限、碼流路數,提升的參數不能超過服務端設置的最大值;返回進行步驟4-2-3;
步驟4-2-6,若網絡接收緩沖區數據不足且解碼負載超載,轉到步驟4-2-7;否則,進行步驟4-2-8;
步驟4-2-7,通知解碼器降低解碼路數;返回進行步驟4-2-3;
步驟4-2-8,若網絡接收緩沖區數據滿且解碼負載空閑,轉到步驟4-2-9;否則,進行步驟4-2-10;
步驟4-2-9,通知解碼器提升解碼路數;進行步驟4-2-3;
步驟4-2-10,若網絡接收緩沖區數據滿且解碼負載超載,轉到步驟4-2-11;否則,進行步驟4-2-3;
步驟4-2-11,通知采集端動態降低編碼質量、碼率上限、碼流路數,返回進行步驟4-2-3;
步驟4-2-12,采集端停止服務;
步驟4-3包括:
步驟4-3-1,設當前服務端網絡發送緩沖區當前已緩沖的數據尺寸為sendNetBufferedSize,測試的網絡接收緩沖區數據滿的經驗閾值為sendNetBufOverflowThreshold,測試的網絡接收緩沖區數據不足的經驗閾值為sendNetBufUnderflowThreshold;編碼接收緩沖區的尺寸為recvEncCodeBufferedSize,測試的編碼接收緩沖區數據滿的經驗閾值為recvEncCodeBufOverflowThreshold,測試的編碼接收緩沖區數據不足的經驗閾值為recvEncCodeBufUnderflowThreshold;閾值設置滿足以下公式:
步驟4-3-2,定義:若sendNetBufferedSize<sendNetBufUnderflowThreshold,則判定網絡發送緩沖區數據不足;若sendNetBufferedSize>sendNetBufOverflowThreshold,則判定網絡發送緩沖區數據滿;若recvDecCodeBufferedSize<recvDecCodeBufUnderflowThreshold,則判定編碼負載空閑;若recvDecCodeBufferedSize>recvDecCodeBufOverflowThreshold,則判定編碼負載超載;
步驟4-3-3,服務端監測網絡發送緩沖區及自身編碼負載情況,若采集端接收到業務結束命令,則進行步驟4-3-12;否則,進行步驟4-3-4;
步驟4-3-4,若網絡發送緩沖區數據不足,轉到步驟4-3-5;否則,進行步驟4-3-6;
步驟4-3-5,通知采集端動態提升參數,包括編碼質量、碼率上限、碼流路數,提升的參數不能超過服務端設置的最大值;返回進行步驟4-3-3;
步驟4-3-6,若編碼負載超載,轉到步驟4-3-7;否則,進行步驟4-3-8;
步驟4-3-7,通知采集端動態降低編碼路數、編碼質量、碼率上限,進行步驟4-3-3;
步驟4-3-8,若編碼負載空閑,轉到步驟4-3-9;否則,進行步驟4-3-10;
步驟4-3-9,通知編碼器降低編碼質量、碼率上限,進行步驟4-3-3;
步驟4-3-10,若網絡發送緩沖區數據滿,轉到步驟4-3-11;否則,進行步驟4-3-3;
步驟4-3-11,通知編碼器動態降低編碼質量、碼率上限、碼流路數,進行步驟4-3-3;
步驟4-3-12,服務端停止服務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國電子科技集團公司第二十八研究所,未經中國電子科技集團公司第二十八研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710759875.3/1.html,轉載請聲明來源鉆瓜專利網。





