[FFmpeg-trac] #10013(undetermined:new): [regression] `ffmpeg` 5.0.1 crashes when using domain in URL when uploading to RTMP endpoint
FFmpeg
trac at avcodec.org
Tue Nov 8 10:12:05 EET 2022
#10013: [regression] `ffmpeg` 5.0.1 crashes when using domain in URL when uploading
to RTMP endpoint
-------------------------------------+-------------------------------------
Reporter: Jesús | Owner: (none)
Leganés-Combarro |
Type: defect | Status: new
Priority: important | Component:
| undetermined
Version: unspecified | Resolution:
Keywords: RTMP crash | Blocked By:
regression |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by Jesús Leganés-Combarro):
I've simplified the command (I did it this way to don't need to deal with
libx264 library on the custom compilation), and with prebuild image of
5.0.1-static still fails, so it's easier to replicate:
piranna at ThinkPad-T16:/run/user/1000/LL-HLS-streamer_bttf$ node_modules
/ffmpeg-static/ffmpeg -re -f lavfi -i sine=frequency=1000 -acodec aac
-f flv rtmp://localhost:1935 -v 9 -loglevel 99
ffmpeg version 5.0.1-static https://johnvansickle.com/ffmpeg/ Copyright
(c) 2000-2022 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --enable-gpl --enable-version3 --enable-static --disable-
debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio
--cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp
--enable-libgme --enable-gray --enable-libaom --enable-libfribidi
--enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt
--enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab
--enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264
--enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid
--enable-libzvbi --enable-libzimg
libavutil 57. 17.100 / 57. 17.100
libavcodec 59. 18.100 / 59. 18.100
libavformat 59. 16.100 / 59. 16.100
libavdevice 59. 4.100 / 59. 4.100
libavfilter 8. 24.100 / 8. 24.100
libswscale 6. 4.100 / 6. 4.100
libswresample 4. 3.100 / 4. 3.100
libpostproc 56. 3.100 / 56. 3.100
Splitting the commandline.
Reading option '-re' ... matched as option 're' (read input at native
frame rate; equivalent to -readrate 1) with argument '1'.
Reading option '-f' ... matched as option 'f' (force format) with argument
'lavfi'.
Reading option '-i' ... matched as input url with argument
'sine=frequency=1000'.
Reading option '-acodec' ... matched as option 'acodec' (force audio codec
('copy' to copy stream)) with argument 'aac'.
Reading option '-f' ... matched as option 'f' (force format) with argument
'flv'.
Reading option 'rtmp://localhost:1935' ... matched as output url.
Reading option '-v' ... matched as option 'v' (set logging level) with
argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging
level) with argument '99'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Successfully parsed a group of options.
Parsing a group of options: input url sine=frequency=1000.
Applying option re (read input at native frame rate; equivalent to
-readrate 1) with argument 1.
Applying option f (force format) with argument lavfi.
Successfully parsed a group of options.
Opening an input file: sine=frequency=1000.
detected 16 logical cores
[Parsed_sine_0 @ 0x6f0e100] Setting 'frequency' to value '1000'
[AVFilterGraph @ 0x6f0c340] query_formats: 2 queried, 3 merged, 0 already
done, 0 delayed
[lavfi @ 0x6f0b7c0] All info found
[lavfi @ 0x6f0b7c0] stream 0: start_time: 0 duration: NOPTS
[lavfi @ 0x6f0b7c0] format: start_time: 0 duration: NOPTS (estimate from
bit rate) bitrate=705 kb/s
Input #0, lavfi, from 'sine=frequency=1000':
Duration: N/A, start: 0.000000, bitrate: 705 kb/s
Stream #0:0, 1, 1/44100: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
Successfully opened the file.
Parsing a group of options: output url rtmp://localhost:1935.
Applying option acodec (force audio codec ('copy' to copy stream)) with
argument aac.
Applying option f (force format) with argument flv.
Successfully parsed a group of options.
Opening an output file: rtmp://localhost:1935.
[rtmp @ 0x6f258c0] No default whitelist set
[tcp @ 0x6f25fc0] No default whitelist set
Violación de segmento (`core' generado)
I've compiled release/5.1 branch and executed this simplified command, and
with version 5.1.1 it's working, so not sure if it got fixed, or it's some
issue regarding the compilation of the static binary:
piranna at ThinkPad-T16:~/Trabajo/ffmpeg$ ./ffmpeg -re -f lavfi -i
sine=frequency=1000 -acodec aac -f flv rtmp://localhost:1935 -v 9
-loglevel 99
ffmpeg version n5.1.2-7-ga6e26053c2 Copyright (c) 2000-2022 the FFmpeg
developers
built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04)
configuration:
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
Splitting the commandline.
Reading option '-re' ... matched as option 're' (read input at native
frame rate; equivalent to -readrate 1) with argument '1'.
Reading option '-f' ... matched as option 'f' (force format) with argument
'lavfi'.
Reading option '-i' ... matched as input url with argument
'sine=frequency=1000'.
Reading option '-acodec' ... matched as option 'acodec' (force audio codec
('copy' to copy stream)) with argument 'aac'.
Reading option '-f' ... matched as option 'f' (force format) with argument
'flv'.
Reading option 'rtmp://localhost:1935' ... matched as output url.
Reading option '-v' ... matched as option 'v' (set logging level) with
argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging
level) with argument '99'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Successfully parsed a group of options.
Parsing a group of options: input url sine=frequency=1000.
Applying option re (read input at native frame rate; equivalent to
-readrate 1) with argument 1.
Applying option f (force format) with argument lavfi.
Successfully parsed a group of options.
Opening an input file: sine=frequency=1000.
detected 16 logical cores
[Parsed_sine_0 @ 0x559914f8b040] Setting 'frequency' to value '1000'
[AVFilterGraph @ 0x559914f89200] query_formats: 2 queried, 3 merged, 0
already done, 0 delayed
[lavfi @ 0x559914f88500] All info found
[lavfi @ 0x559914f88500] stream 0: start_time: 0 duration: NOPTS
[lavfi @ 0x559914f88500] format: start_time: 0 duration: NOPTS (estimate
from bit rate) bitrate=705 kb/s
Input #0, lavfi, from 'sine=frequency=1000':
Duration: N/A, start: 0.000000, bitrate: 705 kb/s
Stream #0:0, 1, 1/44100: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
Successfully opened the file.
Parsing a group of options: output url rtmp://localhost:1935.
Applying option acodec (force audio codec ('copy' to copy stream)) with
argument aac.
Applying option f (force format) with argument flv.
Successfully parsed a group of options.
Opening an output file: rtmp://localhost:1935.
[rtmp @ 0x559914fa2700] No default whitelist set
[tcp @ 0x559914fa1b00] No default whitelist set
[tcp @ 0x559914fa1b00] Original list of addresses:
[tcp @ 0x559914fa1b00] Address 127.0.0.1 port 1935
[tcp @ 0x559914fa1b00] Interleaved list of addresses:
[tcp @ 0x559914fa1b00] Address 127.0.0.1 port 1935
[tcp @ 0x559914fa1b00] Starting connection attempt to 127.0.0.1 port 1935
[tcp @ 0x559914fa1b00] Connection attempt to 127.0.0.1 port 1935 failed:
Connection refused
[tcp @ 0x559914fa1b00] Connection to tcp://localhost:1935?tcp_nodelay=0
failed: Connection refused
[rtmp @ 0x559914fa2700] Cannot open connection
tcp://localhost:1935?tcp_nodelay=0
rtmp://localhost:1935: Connection refused
The diff on the outputs are these lines:
[tcp @ 0x559914fa1b00] Original list of addresses:
[tcp @ 0x559914fa1b00] Address 127.0.0.1 port 1935
[tcp @ 0x559914fa1b00] Interleaved list of addresses:
[tcp @ 0x559914fa1b00] Address 127.0.0.1 port 1935
[tcp @ 0x559914fa1b00] Starting connection attempt to 127.0.0.1 port 1935
[tcp @ 0x559914fa1b00] Connection attempt to 127.0.0.1 port 1935 failed:
Connection refused
[tcp @ 0x559914fa1b00] Connection to tcp://localhost:1935?tcp_nodelay=0
failed: Connection refused
[rtmp @ 0x559914fa2700] Cannot open connection
tcp://localhost:1935?tcp_nodelay=0
rtmp://localhost:1935: Connection refused
So it seems the issue happens when doing the conversion from the domain to
the IP. Any clue what could be happening? How can we proceed from here?
--
Ticket URL: <https://trac.ffmpeg.org/ticket/10013#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list