[FFmpeg-user] Differences between ffmpeg 5 and 6 with respect to exiting after error

Rob Desilets rob at streamingsystems.io
Fri Oct 20 19:00:14 EEST 2023

Hi All,

I am new to this list but an avid ffmpeg user.

For reference, I have a bug report opened with ffmpeg:


Essentially when I run this:

ffmpeg -stream_loop -1 -re -i low2.mp4 -map 0 -c copy -f flv rtmp://<stream key>

This file plays fine once, but when it repeats (start over) it gives the broken pipe and causes a problem.

av_interleaved_write_frame(): Broken pipesize= 71202kB time=00:05:10.50 bitrate=1878.6kbits/s speed= 1x
[out#0/flv @ 0x7fecbe7124c0] Error muxing a packet
But that is not the reason for my email.

I am running ffmpeg as a child process in our system.

What I did notice is on ffmpeg 5 when I hit this bug, ffmpeg exits (which causes the child process to exit) and I can gracefully exit my main process.

However, on ffmpeg 6 when I hit this error it does show the error, but it seems to start over and connect back to the server and keep going.

So from my main process I never really know that it had a problem, which causes me problems on my end as you can imagine.

All of that to ask my question:

Do to the architectural changes between v5 and v6 (eg I read something about threading changes) cause error conditions to be handled differently? If so, is there some type of flag I can pass into v6 to make it behave like v5 with respect to errors and exiting.



More information about the ffmpeg-user mailing list