[FFmpeg-trac] #4071(undetermined:new): Playing a live rtmp stream fails (regression)

FFmpeg trac at avcodec.org
Sun Nov 2 19:10:38 CET 2014


#4071: Playing a live rtmp stream fails (regression)
-------------------------------------+-------------------------------------
             Reporter:  pickles      |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:  rtmp         |               Blocked By:
  regression                         |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:

 The latest master ffmpeg (compiled without librtmp) doesn't automatically
 detect a live rtmp stream that is streamed from adobe media server, so it
 quits with the following error: Server error: Method not found
 (getStreamLength). This indicates that ffmpeg is treating it as a VOD
 stream, rather than a live stream.

 How to reproduce:
 {{{
 ffmpeg -report -i rtmp://91.121.146.60/live/tone
 ffmpeg version N-67332-g70b7cf9 Copyright (c) 2000-2014 the FFmpeg
 developers
   built on Nov  2 2014 17:43:30 with Apple LLVM version 6.0
 (clang-600.0.54) (based on LLVM 3.5svn)
   configuration: --prefix=/usr/local --enable-avfilter --enable-static
 --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree
 --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang
 --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame
 --enable-libxvid --enable-ffplay --enable-libfdk-aac
   libavutil      54. 11.100 / 54. 11.100
   libavcodec     56. 10.101 / 56. 10.101
   libavformat    56. 12.100 / 56. 12.100
   libavdevice    56.  2.100 / 56.  2.100
   libavfilter     5.  2.101 /  5.  2.101
   libavresample   2.  1.  0 /  2.  1.  0
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
 Splitting the commandline.
 Reading option '-report' ... matched as option 'report' (generate a
 report) with argument '1'.
 Reading option '-i' ... matched as input file with argument
 'rtmp://91.121.146.60/live/tone'.
 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 file rtmp://91.121.146.60/live/tone.
 Successfully parsed a group of options.
 Opening an input file: rtmp://91.121.146.60/live/tone.
 [rtmp @ 0x7f8c3040dee0] Handshaking...
 [rtmp @ 0x7f8c3040dee0] Type answer 3
 [rtmp @ 0x7f8c3040dee0] Server version 5.0.3.1
 [rtmp @ 0x7f8c3040dee0] Proto = rtmp, path = /live/tone, app = live, fname
 = tone
 [rtmp @ 0x7f8c3040dee0] Server bandwidth = 2500000
 [rtmp @ 0x7f8c3040dee0] Client bandwidth = 2500000
 [rtmp @ 0x7f8c3040dee0] New incoming chunk size = 4096
 [rtmp @ 0x7f8c3040dee0] Creating stream...
 [rtmp @ 0x7f8c3040dee0] Sending play command for 'tone'
 [rtmp @ 0x7f8c3040dee0] Server error: Method not found (getStreamLength).
 rtmp://91.121.146.60/live/tone: Unknown error occurred
 }}}

 This did previously work fine. Checking with git bisect yields that:

 324b23dde1bc8638959eb32419c95a93906db272 is the first bad commit

 So I assume this is a regression since 324b23d.

 This rtmp server ''does'' work if you force
 {{{
 -f flv -rtmp_live live
 }}}
 but this was not necessary prior to 324b23d. My understanding is that the
 default 'any' autodetection behaviour for rtmp_live should automatically
 try a live stream, and then fall back to VOD if no live stream exists. It
 seems that the default 'any' autodetection setting for rtmp_live isn't
 working properly here.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4071>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list