ffmpeg转码报错 Too many packets buffered for output stream 0:1.

如果你在使用ffmpeg转码的时候发生以下报错:

1
2
3
4
5
6
7
8
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
Too many packets buffered for output stream 0:1.
[aac @ 000001fe3eace600] Qavg: 123.130
[aac @ 000001fe3eace600] 2 frames left in the queue on closing
Conversion failed!

很有可能是你的视频数据有问题(可能是因为网络波动,导致视频的部分数据包大小不一致错位导致的),导致视频处理过快,容器封装时队列溢出。

我们可以增大容器封装队列大小来解决,比如设置一下最大封装队列的大小为1024。

1
-max_muxing_queue_size 1024

例如:

1
ffmpeg -i in.mp4 -max_muxing_queue_size 1024 out.mp4
知识就是财富
如果您觉得文章对您有帮助, 欢迎请我喝杯水!