#1072757 ffmpeg 5.1.4 (Debian/Bookworm) fails on HLS/fMP4 streams

Package:
ffmpeg
Source:
ffmpeg
Description:
Tools for transcoding, streaming and playing of multimedia files
Submitter:
Date:
2024-06-10 06:00:02 UTC
Severity:
normal
Tags:
#1072757#5
Date:
2024-06-07 15:03:56 UTC
From:
To:
ffmpeg terminates (without error) after a couple of frames when trying
to download, copy or transcode an HLS/fMP4 stream.
HOWEVER, the same ffmpeg command lines work fine on HLS/TS streams.

I am generating the streams using the program `go2rtc` on an RPi5

Note that the problem seems to be *specific* to Debian Bookworm.

Specifically the same HLS/fMP4 stream and ffmeg command lines:
  - Fail on:
  	   x86/Debian/Bookworm - ffmpeg 5.1.4
	   RPi5/Bookworm - ffmpeg 5.1.4

  - Succeed on:
  	   RPi4/Buster - ffmpeg 4.1.11
	   x86/Debian/Bullseye - ffmpeg 4.3.6
	   x86/Debian/Trixie - ffmpeg 6.1.1

	   x86/Ubuntu 18.04 - ffmpeg 3.4.11
	   x86/Ubuntu 22:04 - ffmpeg 4.4.2
	   x86/Ubuntu 24:04 - ffmpeg 6.1.1
	   Win11/Cygwin - ffmpeg 4.0.2

i.e., versions (on multiple platforms) before and after 5.1.4 succeed.

Using even this simple line fails where the stream is HLS/fMP4
# ffmpeg -re -i "http://mypi:1984/api/stream.m3u8?src=picam_h264&mp4" output.m3u8
But succeeds when the stream is HLS/TS
# ffmpeg -re -i "http://mypi:1984/api/stream.m3u8?src=picam_h264" output.m3u8

Any ideas on what is "special" about Bookworm/ffmpeg-5.1.4 that fails
but just about any other version seems to succeed

#1072757#10
Date:
2024-06-08 17:19:42 UTC
From:
To:
Control: found -1 5.1.4-0+deb12u1
Control: notfound -1 5.1.4-0
Control: tags -1 moreinfo

Without a test stream to check, no. We'd need someway to reproduce the
issue.

Cheers

#1072757#21
Date:
2024-06-10 05:50:19 UTC
From:
To:
Sebastian Ramacher wrote at about 19:19:42 +0200 on Saturday, June 8, 2024:
 > Control: found -1 5.1.4-0+deb12u1
 > Control: notfound -1 5.1.4-0
 > Control: tags -1 moreinfo
 >
 > On 2024-06-07 15:03:56 +0000, debian-bugs@kosowsky.org wrote:
 > > Package: ffmpeg
 > > Version: 5.1.4-0
 > > Release: Bookworm
 > >
 > > ffmpeg terminates (without error) after a couple of frames when trying
 > > to download, copy or transcode an HLS/fMP4 stream.
 > > HOWEVER, the same ffmpeg command lines work fine on HLS/TS streams.
 > >
 > > I am generating the streams using the program `go2rtc` on an RPi5
 > >
 > > Note that the problem seems to be *specific* to Debian Bookworm.
 > >
 > > Specifically the same HLS/fMP4 stream and ffmeg command lines:
 > >   - Fail on:
 > >   	   x86/Debian/Bookworm - ffmpeg 5.1.4
 > > 	   RPi5/Bookworm - ffmpeg 5.1.4
 > >
 > >   - Succeed on:
 > >   	   RPi4/Buster - ffmpeg 4.1.11
 > > 	   x86/Debian/Bullseye - ffmpeg 4.3.6
 > > 	   x86/Debian/Trixie - ffmpeg 6.1.1
 > >
 > > 	   x86/Ubuntu 18.04 - ffmpeg 3.4.11
 > > 	   x86/Ubuntu 22:04 - ffmpeg 4.4.2
 > > 	   x86/Ubuntu 24:04 - ffmpeg 6.1.1
 > > 	   Win11/Cygwin - ffmpeg 4.0.2
 > >
 > > i.e., versions (on multiple platforms) before and after 5.1.4 succeed.
 > >
 > > Using even this simple line fails where the stream is HLS/fMP4
 > > # ffmpeg -re -i "http://mypi:1984/api/stream.m3u8?src=picam_h264&mp4" output.m3u8
 > > But succeeds when the stream is HLS/TS
 > > # ffmpeg -re -i "http://mypi:1984/api/stream.m3u8?src=picam_h264" output.m3u8
 > >
 > > Any ideas on what is "special" about Bookworm/ffmpeg-5.1.4 that fails
 > > but just about any other version seems to succeed
 >
 > Without a test stream to check, no. We'd need someway to reproduce the
 > issue.
 >
 > Cheers
 > --
 > Sebastian Ramacher


I need to figure out how to get a test stream set up..
Is it possible to set up a private stream as I would prefer not to
expose my stream to the world :)

Meanwhile, while running as `-loglevel trace`, I noticed one
potentially interesting difference.

For *broken* ffmpeg version 5.1.4 and 6.0.1 there was a trace line:
     Probing mp3 score:1 size:2048
This trace line was *not* present for *working* versions both before
     and after these broken version:
	 	 (before) 3.4.11, 4.0.2 4.1.11
		 (after)  6.1.1, 7.0

So wondering whether this could be the issue


More generally if I grep for 'probing'
Broken versions:
     Probing hls score:100 size:93
     Probing mov,mp4,m4a,3gp,3g2,mj2 score:100 size:2048
     Probing mp3 score:1 size:2048

Good versions:
     Probing hls score:100 size:93
     Probing mov,mp4,m4a,3gp,3g2,mj2 score:100 size:2048

Do you think this is connected?