微信小程序视频流静音后画面卡死问题研究

在微信小程序中进行音视频推流时遇到一个问题:当推流端静音,小程序拉流画面会卡死。通过分析发现,问题可能在于小程序的liverplayer播放器对纯视频帧的rtmp流处理。为了解决这个问题,在静音期间发送空的音频帧以保持pts连续,从而解决了画面卡顿的问题。
摘要由CSDN通过智能技术生成

最近在搞音视频推流时,发现微信小程序端拉流时出现了画面卡死的问题。

现象是这样的,当推流端静音时,小程序拉流卡死;重新播放声音,小程序画面又再次播放


所以说,问题集中在小程序端的拉流和客户端推流的音频上。

首先必须说明的是,我在视频推流时采用的策略是静音期间只推送视频帧,不推送音频帧。

在静音期间试着使用ffplay进行播放,流能够正常播放,所以不存在推流端视频流丢帧的问题

那么问题就可能集中在liverplayer播放器对纯视频帧的rtmp流的播放问题

猜想

那么就有一个大胆猜测

liveplay的播放原理是视频帧的播放依赖于音频帧的pts,结构如下图所示

这样做的好处是可以确保直播时期的音画同步,但是小程序这边没有考虑无音频帧的情况。

在这里插入图片描述

验证解决

既然只是需要一个pts,那么完全可以再静音期间推送空的音频帧,已确保音频的pts连续

那么播放器的画面就应该不会卡顿

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值