Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#8414 closed defect (needs_more_info)

Oversized EBML headers for WebM live stream with IceCast

Reported by: flipflop Owned by:
Priority: normal Component: avformat
Version: unspecified Keywords: webm icecast regression
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

This is what I used to stream to an icecast relay with ffmpeg 4.0.5:

ffmpeg -f x11grab -probesize 8000000 -video_size 1280x720 -framerate 60 -i :0 -an -c:v libvpx-vp9 -r 60 -pix_fmt yuv420p -keyint_min 60 -g 60 -qmin 0 -qmax 63 -b:v 3M -minrate:v 3M -maxrate:v 3M -bufsize 3M -deadline realtime -quality realtime -tile-columns 6 -threads:v 4 -speed 8 -cpu-used 8 -static-thresh 0 -max-intra-rate 10000 -frame-parallel 1 -f webm -cluster_size_limit 2M -cluster_time_limit 5000 -content_type video/webm icecast://source:hackme@${IP}/test.webm

However, since 4.1, icecast will kick ffmpeg with:

EBML Header too large, failing

By default, Icecast restricts the EBML header to 131072 bytes.

I have recompiled Icecast to increase the value and I am now able to stream with ffmpeg master.

I am reporting this to both ffmpeg and icecast as I am not sure which of the two projects should make changes.

Change History (5)

comment:1 by Carl Eugen Hoyos, 2 years ago

Component: ffmpegavformat
Keywords: regression added

Please test current FFmpeg git head, provide the command line you tested together with the complete, uncut console output and run git bisect to find out which change introduced the issue.

comment:2 by mkver, 2 years ago

Can you (in addition to what cehoyos has said) capture and upload the output of 4.0.5 and the first failing version? How big does the value for the EBML header have to be for Icecast to work?

in reply to:  2 comment:3 by flipflop, 2 years ago

Replying to mkver:

Can you (in addition to what cehoyos has said) capture and upload the output of 4.0.5 and the first failing version? How big does the value for the EBML header have to be for Icecast to work?

Will do asap.

I have just made Icecast not care about the size of the EBML rather than increasing the value, but I guess I could make it log that information.

Last edited 2 years ago by flipflop (previous) (diff)

comment:4 by mkver, 2 years ago

Resolution: needs_more_info
Status: newclosed

comment:5 by ePirat, 2 years ago

In Icecast EBML_HEADER_MAX_SIZE is set to 131072 bytes.

Note: See TracTickets for help on using tickets.