[发明专利]基于复杂弱移动网络环境的视频平滑发送直播上行方法有效
申请号: | 201710011238.8 | 申请日: | 2017-01-06 |
公开(公告)号: | CN106604055B | 公开(公告)日: | 2019-08-09 |
发明(设计)人: | 卫铁旦 | 申请(专利权)人: | 广州四三九九信息科技有限公司 |
主分类号: | H04N21/2187 | 分类号: | H04N21/2187;H04N21/262;H04N21/2662;H04N21/643 |
代理公司: | 北京市盛峰律师事务所 11337 | 代理人: | 梁艳 |
地址: | 510630 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 复杂 移动 网络 环境 视频 平滑 发送 直播 上行 方法 | ||
本发明公开了一种基于复杂弱移动网络环境的视频平滑发送直播上行方法,涉及移动应用技术领域。通过对音视频帧的重新拆包,使用udp协议,并合理设计音视频包大小,开发重传算法和平滑发送算法,可以实现在复杂多变的弱网络环境下,达到移动直播音视频上传码率稳定、低延迟和符合应用场景较高可靠性的目的。
技术领域
本发明涉及移动应用技术领域,尤其涉及一种基于复杂弱移动网络环境的视频平滑发送直播上行方法。
背景技术
直播已经是目前网络生活中很常见的娱乐项目之一。目前主流的移动直播基本都是通过rtmp协议将移动端的音视频压缩数据直接发送到cdn源机上来实现的。但是,我们知道,用户的移动网络相当的复杂,移动网络的特点是信号强度不稳定,随地理位置变化而变化,丢包率变化复杂,而经常引起网络抖动厉害,因为直播主流采用的是rtmp协议上传,rtmp协议属于tcp协议的范畴,最终会产生延迟累积的弊端,最终造成“弱网络”的体现。
发明内容
本发明的目的在于提供一种基于复杂弱移动网络环境的视频平滑发送直播上行方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种基于复杂弱移动网络环境的视频平滑发送直播上行方法,包括如下步骤:
S1,获取视频码流变量bitrate;
S2,根据所述视频码流变量bitrate,计算每秒发送的字节大小sendSizePerSec;
S3,根据S2计算得到的sendSizePerSec,计算视频包发包间隔timeGap和发包间隔内一次发包大小sendSizeOneTime;
S4,设置发包间隔内初始化实际发包大小realSendSize=0;
S5,设置视频缓存发送队列大小videoWaitSenderQueue,每次有新包进入队列时,周期遍历缓存发送队列,设置遍历循环当次的视频包大小rawDataSize;
S6,判断所述缓存发送队列视频数据总大小allVideoDataSizeInQueue,当所述缓存发送队列视频数据总大小小于设定阈值的发送数据量时,即:allVideoDataSizeInQueue<=(sendSizePerSec_>>2)时,执行S7,当所述缓存发送队列视频数据总大小大于所述设定阈值的发送数据量时,即:allVideoDataSizeInQueue_>(sendSizePerSec_>>2)时,执行S8-S11;
S7,判断realSendSize+rawDataSize>=sendSizeOneTime_,如果是,则停止发送,退出遍历,否则,发送视频数据到视频服务器;
S8,根据allVideoDataSizeInQueue和sendSizeOneTime,计算所述缓存发送队列中,剩余包大小leftSize;
S9,根据leftSize和timeGap,计算所述缓存发送队列中剩余的还需要发送的包大小moreSendSize;
S10,根据sendSizeOneTime、moreSendSize、realSendSize和rawDataSize,计算实际少发一个包造成的预估发送大小与实际发送大小的差值gap1,以及,实际多发送一个包造成的实际发送大小与预估发送大小的差值gap2;
S11,判断是否满足gap1>0,且gap2>0,如果是,判断是否满足gap1<=gap2,如果是,则停止发送,退出遍历,否则,发送视频数据到视频服务器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州四三九九信息科技有限公司,未经广州四三九九信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710011238.8/2.html,转载请声明来源钻瓜专利网。