[发明专利]直播中减少观众端画面卡顿的方法及装置以及客户端在审
申请号: | 201611144672.5 | 申请日: | 2016-12-13 |
公开(公告)号: | CN106791899A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 杨松;赵洁;杨志云 | 申请(专利权)人: | 飞狐信息技术(天津)有限公司 |
主分类号: | H04N21/2187 | 分类号: | H04N21/2187;H04N21/43;H04N21/4402;H04N21/8547 |
代理公司: | 天津创智天诚知识产权代理事务所(普通合伙)12214 | 代理人: | 周庆路,田阳 |
地址: | 300000 天津市滨海新区天津经济开*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 直播 减少 观众 画面 方法 装置 以及 客户端 | ||
技术领域
本发明涉及实时视频传输技术领域,特别是涉及一种直播中减少观众端画面卡顿的方法及装置以及客户端。
背景技术
互联网直播日益盛行,视频直播需要占用大量上传带宽,然而我国电信运营商能够提供的网络上传带宽却一直没有量的变化,网络经常会有抖动,主流的直播协议是rtmp协议,这个协议的基础是tcp协议,根据tcp协议当网络发生波动时,发送端没有发送成功的数据包会等到网络恢复平稳后继续发送,在主播端就会造成数据包堆积,这样客户端观看到的直播流就会变成主播之前一小段时间的流,为减小时延,本发明人同日申请提出了在主播端根据网络抖动主动丢帧的策略,但是,能减少时延的同时,如何对客户端的画面进行恢复,减少客户端画面发生卡顿情况成为急需解决的问题。
发明内容
本发明的目的是针对现有技术中存在的技术缺陷,而提供一种直播中减少观众端画面卡顿的方法。
为实现本发明的目的所采用的技术方案是:
一种直播中减少观众端画面卡顿的方法,包括,
有缺帧时,当缺帧为缺B帧或P帧,则根据前后帧进行补齐,如果缺帧为I帧,则复制上一组的正常画面进行播放。
还包括根据上一帧和下一帧的时间戳及数据包序号计得缺失帧的时间戳。
所述的时间戳的计算方法为上一帧和下一帧的时间戳的差值除以对应数据包的包序号的差值得到时间戳间隔,根据时间戳间隔得出缺帧的时间戳。
若缺少B帧时,则根据播放的画面根据相邻的P帧的图像做差值进行图像补齐,如相邻的P帧也缺,则根据相邻的P帧和I帧进行B帧补齐;
如果缺帧为P帧则根据相邻I帧的画面做差值进行图像补齐。
一种直播中减少观众端画面卡顿的装置,包括,
缺帧处理模块,当缺帧为缺B帧或P帧,则根据前后帧进行补齐,如果缺帧为I帧,则复制上一组的正常画面进行播放。
时间戳计算模块,当有缺帧时,其根据上一帧和下一帧的时间戳及数据包序号计得时间戳,
所述的时间戳的计算方法为上一帧和下一帧的时间戳的差值除以对应数据包的包序号的差值得到时间戳间隔,根据时间戳间隔得出缺帧的时间戳。
若缺少B帧时,则根据播放的画面根据相邻的P帧的图像做差值进行图像补齐,如相邻的P帧也缺,则根据相邻的P帧和I帧进行B帧补齐;
如果缺帧为P帧则根据相邻I帧的画面做差值进行图像补齐。
一种具有所述的直播中减少观众端画面卡顿的装置的直播客户端。
与现有技术相比,本发明的有益效果是:
本发明的播放器对于丢帧进行补齐,补齐的方案就是相邻图像的公差计算。如果只是B帧缺,P帧不缺,则利用相邻的P帧,如果此段P帧也缺,就利用相邻的I帧和P帧。补齐的B帧也进行了差值运算,差值为相邻的(P-I或P)/(B帧数量+1),这样图像的流畅效果更好。视频数据每秒钟25帧图像画面,在缺少B帧数据恢复时,人眼不会有任何不连贯的感觉,在恢复连续丢失I帧数据时,也就是网络很差的时候,人眼才会有比较明显的卡顿的感觉,因为图像基本都一样。但是声音一直都是连贯的。
具体实施方式
以下结合具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
直播技术流程:主播端直播时分为3个大的模块,音视频数据采集,编码,推送。观众端相应的也分为3个模块,音视频数据接收,解码,播放。
造成直播延时的原因,原始图像数据通常很大,通过h.264视频压缩算法进行压缩,通过rtmp协议封装成数据包,进行网络传输,图像数据虽然进行了压缩,但是数据量仍然相当大,当网络出现抖动或者其他异常时,根据rtmp协议,数据要缓存在发送端等待网络恢复时一并发送,这样就会到导致观众端的播放器在某个时间没有数据,过一会数据恢复了陆续播出的时候造成了延时。
为了降低网络抖动引起的时延,在主播端采用监控数据包队列数量然后进行选择性丢包不使其进入队列的方式,有效解决了网络抖动时主播端的数据拥堵的问题。
本发明进一步公开了当客户端收到不完整的有缺失的数据包流时减少观众端画面卡顿的方法,包括,
当有缺帧时,根据上一帧和下一帧的时间戳及数据包序号计得时间戳,且,
当缺帧为缺B帧或P帧,则根据前后帧进行补齐,如果缺帧为I帧,则复制上一组的正常画面进行播放。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞狐信息技术(天津)有限公司,未经飞狐信息技术(天津)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611144672.5/2.html,转载请声明来源钻瓜专利网。