您当前的位置: 首页 >  音视频

命运之手

暂无认证

  • 0浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Android音视频开发】【020】音视频同步原理

命运之手 发布时间:2021-06-07 10:39:01 ,浏览量:0

音视频不同步现象

由于视频解码和显示,非常消耗性能,所以视频帧无法和音频帧一样,保证每一帧都能严格准时播放

在现有技术和硬件条件下,任何库都无法百分百保证音视频同步,只能尽力保证误差最小

同步方案

一般的同步方案,都是音频数据正常播放,视频数据匹配音频数据

因为人对视频数据快慢不是很敏感,但是音频数据快慢变化,明显会让人感觉声音变质

视频帧过快时,就延时播放,视频帧过慢时,就不等待帧间隔,加速播放,视频超级慢时,就丢帧

丢帧方案

可以丢弃AVPacket,也可以丢弃AVFrame

丢弃AVFrame的话直接丢即可,丢弃AVPacket的话,则需要额外处理,但是就不用将多余的AVPacket解包为AVFrame了,性能更好

丢弃AVPacket的话,需要将I帧之后的所有B帧和P帧全部丢弃

丢帧示意图

在这里插入图片描述 在这里插入图片描述 播放器进度控制

既有音频通道,也有视频通道时,应当以音频通道播放进度作为播放器的播放进度

如果两个通道都更新播放器进度,由于进度不一致,会造成进度条抖动现象

没有音频通道时,才以视频进度,作为播放进度

关注
打赏
1654938663
查看更多评论
立即登录/注册

微信扫码登录

0.0400s