Opened 7 years ago

Closed 5 years ago

Last modified 5 years ago

#6363 closed defect (invalid)

Can't connect to some rtmp streams

Reported by: Pierre Rudloff Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords: rtmp
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Hello,

I'm trying to convert some RTMP streams but ffmpeg fails to connect correctly.

Here is an example with a publicly available stream report:

ffmpeg started on 2017-05-02 at 12:01:21
Report written to "ffmpeg-20170502-120121.log"
Command line:
./vendor/bin/ffmpeg -i rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v -rtmp_tcurl rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v -rtmp_pageurl http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0 -rtmp_swfverify http://www.rtl2.de/flashplayer/vipo_player.swf -rtmp_flashver "LNX 11,2,202,429" -rtmp_playpath mp4:flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v -rtmp_conn S:connect -rtmp_conn O:1 -rtmp_conn NS:pageUrl:http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0/ -rtmp_conn NB:fpad:0 -rtmp_conn NN:videoFunction:1 -rtmp_conn O:0 -report
ffmpeg version 3.3-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.1 (Debian 5.4.1-8) 20170304
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Splitting the commandline.
Reading option '-i' ... matched as input url with argument 'rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v'.
Reading option '-rtmp_tcurl' ... matched as AVOption 'rtmp_tcurl' with argument 'rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v'.
Reading option '-rtmp_pageurl' ... matched as AVOption 'rtmp_pageurl' with argument 'http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0'.
Reading option '-rtmp_swfverify' ... matched as AVOption 'rtmp_swfverify' with argument 'http://www.rtl2.de/flashplayer/vipo_player.swf'.
Reading option '-rtmp_flashver' ... matched as AVOption 'rtmp_flashver' with argument 'LNX 11,2,202,429'.
Reading option '-rtmp_playpath' ... matched as AVOption 'rtmp_playpath' with argument 'mp4:flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'S:connect'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'O:1'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'NS:pageUrl:http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0/'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'NB:fpad:0'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'NN:videoFunction:1'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'O:0'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Trailing options were found on the commandline.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v.
Successfully parsed a group of options.
Opening an input file: rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v.
[rtmp @ 0x4a634e0] No default whitelist set
rtmp server sent error
rtmp server requested close
rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v: Unknown error occurred

It seems the server returns a NetConnection.Connect.Rejected error.

The same stream works correctly when using rtmpdump like this:

rtmpdump '--rtmp' 'rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v' '--pageUrl' 'http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0' '--swfVfy' 'http://www.rtl2.de/flashplayer/vipo_player.swf' '--flashVer' 'LNX 11,2,202,429' '--playpath' 'mp4:flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v' '--conn' 'S:connect' '--conn' 'O:1' '--conn' 'NS:pageUrl:http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0/' '--conn' 'NB:fpad:0' '--conn' 'NN:videoFunction:1' '--conn' 'O:0'

Change History (4)

comment:1 by Carl Eugen Hoyos, 7 years ago

Component: ffmpegundetermined

Is this problem reproducible with current FFmpeg git head?

comment:2 by Pierre Rudloff, 7 years ago

I can reproduce with the latest static build:

ffmpeg started on 2017-05-02 at 15:07:47
Report written to "ffmpeg-20170502-150747.log"
Command line:
./ffmpeg -i rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v -rtmp_tcurl rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v -rtmp_pageurl http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0 -rtmp_swfverify http://www.rtl2.de/flashplayer/vipo_player.swf -rtmp_flashver "LNX 11,2,202,429" -rtmp_playpath mp4:flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v -rtmp_conn S:connect -rtmp_conn O:1 -rtmp_conn NS:pageUrl:http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0/ -rtmp_conn NB:fpad:0 -rtmp_conn NN:videoFunction:1 -rtmp_conn O:0 -report
ffmpeg version N-85581-ge22d495538-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.1 (Debian 5.4.1-8) 20170304
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
  libavutil      55. 61.100 / 55. 61.100
  libavcodec     57. 92.100 / 57. 92.100
  libavformat    57. 72.101 / 57. 72.101
  libavdevice    57.  7.100 / 57.  7.100
  libavfilter     6. 84.101 /  6. 84.101
  libswscale      4.  7.101 /  4.  7.101
  libswresample   2.  8.100 /  2.  8.100
  libpostproc    54.  6.100 / 54.  6.100
Splitting the commandline.
Reading option '-i' ... matched as input url with argument 'rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v'.
Reading option '-rtmp_tcurl' ... matched as AVOption 'rtmp_tcurl' with argument 'rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v'.
Reading option '-rtmp_pageurl' ... matched as AVOption 'rtmp_pageurl' with argument 'http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0'.
Reading option '-rtmp_swfverify' ... matched as AVOption 'rtmp_swfverify' with argument 'http://www.rtl2.de/flashplayer/vipo_player.swf'.
Reading option '-rtmp_flashver' ... matched as AVOption 'rtmp_flashver' with argument 'LNX 11,2,202,429'.
Reading option '-rtmp_playpath' ... matched as AVOption 'rtmp_playpath' with argument 'mp4:flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'S:connect'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'O:1'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'NS:pageUrl:http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0/'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'NB:fpad:0'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'NN:videoFunction:1'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'O:0'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Trailing options were found on the commandline.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v.
Successfully parsed a group of options.
Opening an input file: rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v.
[rtmp @ 0x41ce340] No default whitelist set
rtmp server sent error
rtmp server requested close
rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v: Unknown error occurred

in reply to:  2 comment:3 by Carl Eugen Hoyos, 5 years ago

Resolution: invalid
Status: newclosed

Replying to Rudloff:

./ffmpeg -i rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v -rtmp_tcurl rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v -rtmp_pageurl http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0 -rtmp_swfverify http://www.rtl2.de/flashplayer/vipo_player.swf -rtmp_flashver "LNX 11,2,202,429" -rtmp_playpath mp4:flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v -rtmp_conn S:connect -rtmp_conn O:1 -rtmp_conn NS:pageUrl:http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0/ -rtmp_conn NB:fpad:0 -rtmp_conn NN:videoFunction:1 -rtmp_conn O:0

...

Trailing options were found on the commandline.

Sorry for not realizing this earlier: Option placement matters, you have to move -i rtmp://... behind all other input options (including rtmp_conn).

comment:4 by Pierre Rudloff, 5 years ago

Thanks, but I tried putting i in the last position and it still does not work.

I get a different error though:

ffmpeg started on 2018-12-17 at 20:06:27
Report written to "ffmpeg-20181217-200627.log"
Command line:
./vendor/bin/ffmpeg -rtmp_tcurl rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v -rtmp_pageurl http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0 -rtmp_swfverify http://www.rtl2.de/flashplayer/vipo_player.swf -rtmp_flashver "LNX 11,2,202,429" -rtmp_playpath mp4:flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v -rtmp_conn S:connect -rtmp_conn O:1 -rtmp_conn NS:pageUrl:http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0/ -rtmp_conn NB:fpad:0 -rtmp_conn NN:videoFunction:1 -rtmp_conn O:0 -i rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v -report
ffmpeg version 4.0.3-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --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-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
Splitting the commandline.
Reading option '-rtmp_tcurl' ... matched as AVOption 'rtmp_tcurl' with argument 'rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v'.
Reading option '-rtmp_pageurl' ... matched as AVOption 'rtmp_pageurl' with argument 'http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0'.
Reading option '-rtmp_swfverify' ... matched as AVOption 'rtmp_swfverify' with argument 'http://www.rtl2.de/flashplayer/vipo_player.swf'.
Reading option '-rtmp_flashver' ... matched as AVOption 'rtmp_flashver' with argument 'LNX 11,2,202,429'.
Reading option '-rtmp_playpath' ... matched as AVOption 'rtmp_playpath' with argument 'mp4:flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'S:connect'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'O:1'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'NS:pageUrl:http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0/'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'NB:fpad:0'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'NN:videoFunction:1'.
Reading option '-rtmp_conn' ... matched as AVOption 'rtmp_conn' with argument 'O:0'.
Reading option '-i' ... matched as input url with argument 'rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v.
Successfully parsed a group of options.
Opening an input file: rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v.
[NULL @ 0x4fd4840] Opening 'rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v' for reading
[rtmp @ 0x4fd5600] No default whitelist set
[tcp @ 0x4fd5b80] No default whitelist set
[http @ 0x4fd85c0] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
[http @ 0x4fd85c0] request: GET /flashplayer/vipo_player.swf HTTP/1.1
User-Agent: Lavf/58.12.100
Accept: */*
Range: bytes=0-
Connection: close
Host: www.rtl2.de
Icy-MetaData: 1


[http @ 0x4fd85c0] request: GET /flashplayer/vipo_player.swf HTTP/1.1
User-Agent: Lavf/58.12.100
Accept: */*
Range: bytes=0-
Connection: close
Host: www.rtl2.de
Icy-MetaData: 1


[http @ 0x4fd85c0] HTTP error 404 Not Found
[rtmp @ 0x4fd5600] Cannot open connection http://www.rtl2.de/flashplayer/vipo_player.swf.
rtmp://cp108781.edgefcs.net/ondemand/flv_free/vipo/grip-das-motormagazin/1-video-grip-203-koenig-von-grip-PR013216_01SU2HF952T11SVS_10000000_10423806.f4v: Server returned 404 Not Found

(Indeed, https://www.rtl2.de/flashplayer/vipo_player.swf returns a 404 error but that does not seem to prevent rtmpdump from getting the file.)

Note: See TracTickets for help on using tickets.