技术分享| anyRTC低延时直播优化

直播系统就是把活动现场的音频或视频信号经数字压缩后,传送到直播多媒体服务器(CDN)上,在互联网上供广大网友或授权特定人群收听或收看。而随着技术的日益更新,人民对于直播的互动性,实时性要求更高了,传统的直播少则几十秒,多则几分钟的时延很难满足现在的很多直播场景。今天我们就从播放器端来聊一下anyRTC是如何在端侧做到更低时延的播放效果的。

一.播放器工作原理

播放器的模块大致分为:解封装,数据包队列,解码,帧队列,渲染等几大模块,然后组成一套播放逻辑,基本上所有的播放器的功能实现也都大同小异。

1.解封装即Demuxer,我们通常使用FFMpeg来做。

2.数据包队列,这里是延时优化的重点区域,因为此队列中可能会缓存大量的数据,我们可以通过音视频包的PTS或者Duration来计算出队列中的总时长,从而进行播放器的时延优化。

3.解码,通常在端侧使用软件或硬件解码,二者的效率差异更多的是在Cpu的消耗,主要影响的是机器的发热,播放的流畅性。

4.帧队列,是解码之后的图像或音频数据,等待渲染。

5.渲染,是将图像或音频数据丢入系统,由系统进行对应的输出。

二.如何降低时延

在播放端,对于延时影响最大的是数据包队列。只要网络有抖动或者卡顿,播放器端的累积延迟会逐步加大。

很多的技术文章说直播优化延迟的都是丢帧策略,最直接的:清缓存数据队列,虽然这个方法可以短时间内降低延迟,但是强行跳帧,直播内容强行被跳过,严重影响体验;如果丢Gop里面的B帧,非参考帧或者序列里面最后几个P帧等;或者丢部分音频数据包,视频帧时间戳同步音频来达到数据的加速消耗等。但是实际效果均对用户体验产生一定影响。

所以一个好的追帧策略,对于低延时播放非常的重要,对于播放器来说,越多的缓存就意味着更低的卡顿率,如果缓存一直保持的低位,卡顿率则会明显提高。如何平衡低时延和卡顿率之间的关系,是我们需要重点考量的。以下是我们提出的是一个追帧简易模型,以一个参数进行举例:

1.当缓冲区时长大于5s时,进行1.1倍加速。

2.当缓冲区时长大于2s时,进行1.05倍加速。

3.当缓冲区时长小于等于1s时,正常速度播放。

4.对卡顿进行统计,如果一定时间内,比如3分钟内,卡顿了5次,进行线路切换。

三.总结

经过anyRTC大量的测试和线上真实环境运行,可以验证基于追帧模型的播放器可以在卡顿率和低时延上找到一个相对平衡点,有效的提升了用户的体验。

相关推荐
2601_955662467 小时前
短视频配音 7 款测评:旁白情绪、断句、呼吸感完整打分
人工智能·音视频·语音识别
bj_bluewei_tech12 小时前
拯救者外接耳机麦克风没声音,更换耳机无效,排查主板音频信号电路
电脑·笔记本电脑·音视频
pullyysusie13 小时前
展厅无线按钮触控点播音视频解决方案及应用
网络协议·音视频·集成学习·智能硬件
VidDown14 小时前
# VP9 还是 H.265?一次压缩选型翻车后的复盘
ffmpeg·音视频·h.265·视频编解码·视频·vp9
xywww16815 小时前
商品图生成视频怎么做:Seedance 2.0在电商素材生产中的实操流程
音视频
QH1392923188018 小时前
R&S FSPN50 FSPN26 FSWP26 相位噪声分析仪典型应用案例
人工智能·百度·微信·集成测试·音视频·facebook·oneapi
HyperAI超神经19 小时前
MiniMax H3 突破视频生成边界,音画内容一体生成;Ornith-1.5-35B-A3B 探索推理模型自进化训练新模式
人工智能·深度学习·学习·音视频·多模态·视频生成·推理模型
chunmiao303219 小时前
Gemini Omni 1.1 Flash 发布:场景扩展上限 40 秒,AI 视频生成转向可控
人工智能·音视频
音视频牛哥19 小时前
世界人形机器人运动会9项新赛技术解读:全自主、灵巧手与机器人实时音视频系统演进
音视频·世界人形机器人运动会·世界人形机器人运动会9项新赛·人形机器人技术发展·机器人实时音视频·机器人低延迟视频·机器人远程接管
zhonyu鱼19 小时前
Shotcut:免费开源的专业级视频剪辑软件
音视频·开源软件