记录一个<RTMP的iOS推流无声音> 的完整的bug解决思路方案

这篇博客记录了一次解决iOS推流RTMP时遇到的无声音问题的完整过程。从线索到排查,发现视频采集与渲染的卡顿导致视频数据量小,进而影响推流。虽然Android推流没有此问题,但最终发现是日志打印的一行代码导致了问题的发生。
摘要由CSDN通过智能技术生成

1. iOS推流没声音?

线索:

a. rtmp的timestamp设置没问题
b. video和audio编码正常
c. 推流和android一样的流程是公共代码
d. android推流没问题,iOS不行

排查:

a. 自己写了一个demo完全OK,dump流的时候发现
b. 异常flv推流前2秒有声音,后面就没有了
c. 异常流的每个video的size非常小,是正常流的每个video的六分之一左右
d. 注释掉推视频,直接推音频完全OK,可以播放
e. 推流推了1分钟,用QGPlayer和FFPlay播放只能播2-3秒
f. 视频渲染会卡顿

得出结论:
视频采集与渲染卡顿导致塞入编码器的视频数据量非常小,前2秒不卡的时候推流完全OK。一旦卡顿后推流很长时间才能推出去视频流,造成腾讯云直接把流给掐断了。导致dump了1分钟数据只能播放2-3秒。

2. android推流没声音?

– rtmp的timestamp没设置

附录:
  1. 正常流:
    在这里插入图片描述

  2. 异常流:
    在这里插入图片描述

3.工具
StreamAnalysis
在这里插入图片描述

结论:
  1. 上述结果全部被打脸,有一条最重要的线索被忽略了,即拔掉线测
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爽朗地狮子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值