[发明专利]一种波动网络环境下的视频实时传输方法有效

专利信息
申请号: 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,服务端停止服务。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710759875.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top