[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