文章目录
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没设置
附录:
-
正常流:
-
异常流:
3.工具
StreamAnalysis
结论:
- 上述结果全部被打脸,有一条最重要的线索被忽略了,即拔掉线测