在直播中为什么会提供丢帧策略???

音视频开发进阶

共 624字,需浏览 2分钟

 ·

2024-04-11 04:16

e2dd6c5fa910515cfd2c79b1d3a5ed50.webp点击蓝字 关注我们 e2dd6c5fa910515cfd2c79b1d3a5ed50.webp

在观看直播过程中,由于网络等一些因素,经常会出现视频画面卡顿、跳帧等问题,而针对弱网直播问题,不同的产品可能采用不同的弱网策略,而今天主要分享的是弱网丢帧策略。


77bbd4daeaa6bc7f8ff0bbcbb0f8af39.webp当然没有人喜欢在直播中出现丢帧,那么为何一定要实现并提供它呢?


一个主要的原因就是为了保证直播的实时性


直播的第一要素就是实时,没有了实时,直播的价值也会荡然无存。所以保证实时性就需要确保录制端的数据要尽可能少的累积,要尽可能快地发送,但如果没有丢帧策略,那么在弱网环境下,就会因为待发送数据的不断堆积而产生累计延时,最终带来延时越来越大的情况。


另外,因为移动设备的内存有限,而视频数据对内存的占用较大,所以在推流时还要确保不会因为待发送数据堆积过多而带来内存不足,从而触发 crash 等严重问题。所以我们需要也一定要在推流端提供丢帧策略。


丢帧的方式可以有很多种,其中有些较为粗暴,会触发各类问题,比如花屏,爆音,音画不同步等问题,在反复尝试和验证了各类的丢帧策略后,最终认为要优先保证音频传输且不触发花屏、爆音、音画不同步问题的技术方案。


这一方案可以保证在带宽不足或上行速度不佳时,优先丢弃视频帧,保证音频的持续传输,在观看端至多出现画面跳帧的情况,但声音会是连续的片段,观众体验上不会认为是推流端断网,从而确保直播的持续进行。

浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报