'FFmpeg saving rtmp live stream cuts off after 3 minutes

I was playing with ffmpeg and was able to save a live stream to a file. The command to do so is:

ffmpeg -re -i "rtmp://<ip addr>/livestream live=1" -f h264 test.flv

However, I have tested this twice, and both times ffmpeg stops after grabbing 3:28 worth of live video.

The entire output is here:

bash-4.2$ ffmpeg -re -i "rtmp://<ip addr>/livestream live=1" -vcodec libx264 -f h264 test.flv
WARNING: gnome-keyring:: couldn't connect to: /home/me/.cache/keyring-bpajcJ/pkcs11: No such file or directory
ffmpeg version 0.10.4 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jul 20 2012 22:01:52 with gcc 4.7.0 20120507 (Red Hat 4.7.0-5)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib --mandir=/usr/share/man --arch=i686 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables' --enable-bzlib --disable-crystalhd --enable-gnutls --enable-libass --enable-libcdio --enable-libcelt --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib --cpu=i686 --enable-runtime-cpudetect
  libavutil      51. 35.100 / 51. 35.100
  libavcodec     53. 61.100 / 53. 61.100
  libavformat    53. 32.100 / 53. 32.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 61.100 /  2. 61.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  6.100 /  0.  6.100
  libpostproc    52.  0.100 / 52.  0.100
WARNING: gnome-keyring:: couldn't connect to: /home/me/.cache/keyring-bpajcJ/pkcs11: No such file or directory
Metadata:
  videocodecid          avc1
  width                 320.00
  height                240.00
  frameWidth            320.00
  frameHeight           240.00
  displayWidth          320.00
  displayHeight         240.00
  framerate             29.97
trackinfo:
  timescale             90000.00
  language              eng
sampledescription:
  sampletype            H264
  type                  video
  profile-level-id      42e00c
  sprop-parameter-sets  Z0LgDNoFB+wEQAAC7sAAr8gh,aM4zyA==
  description           {H264CodecConfigInfo: profile: "Baseline", level: 1.2, frameSize: 320x240, displaySize: 320x240, PAR: 1:1, frameRate: 29.97}
rtpsessioninfo:
  name                  H264 Stream 1
  origin                - 1486490083 118668671 IN IP4 10.93.183.3
  timing                0 0
  protocolversion       0
attributes:
  range                 npt=now-
[flv @ 0x9578ee0] Estimating duration from bitrate, this may be inaccurate
Input #0, flv, from 'rtmp://<ip addr>/livestream live=1':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: h264 (Constrained Baseline), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 14.99 tbr, 1k tbn, 59.94 tbc
[buffer @ 0x99ee900] w:320 h:240 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
[libx264 @ 0x9584540] using SAR=1/1
[libx264 @ 0x9584540] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
[libx264 @ 0x9584540] profile High, level 1.2
Output #0, h264, to 'test.flv':
  Metadata:
    encoder         : Lavf53.32.100
    Stream #0:0: Video: h264, yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=-1--1, 90k tbn, 14.99 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libx264)
Press [q] to stop, [?] for help
RTMP_ReadPacket, failed to read RTMP packet body. len: 16582bitrate= 212.1kbits/s    
frame= 3111 fps= 15 q=-2.0 Lsize=    5385kB time=00:03:27.47 bitrate= 212.6kbits/s    
video:5385kB audio:0kB global headers:0kB muxing overhead 0.000000%
[libx264 @ 0x9584540] frame I:13    Avg QP:18.70  size: 31866
[libx264 @ 0x9584540] frame P:1908  Avg QP:22.29  size:  2392
[libx264 @ 0x9584540] frame B:1190  Avg QP:29.24  size:   451
[libx264 @ 0x9584540] consecutive B-frames: 39.5% 24.0% 13.0% 23.4%
[libx264 @ 0x9584540] mb I  I16..4:  0.2%  1.2% 98.6%
[libx264 @ 0x9584540] mb P  I16..4:  0.0%  0.0%  0.7%  P16..4: 22.0%  3.5%  2.6%  0.0%  0.0%    skip:71.2%
[libx264 @ 0x9584540] mb B  I16..4:  0.0%  0.0%  0.2%  B16..8: 15.6%  2.8%  1.1%  direct: 1.3%  skip:78.9%  L0:47.0% L1:42.2% BI:10.8%
[libx264 @ 0x9584540] 8x8 transform intra:2.2% inter:8.5%
[libx264 @ 0x9584540] coded y,uvDC,uvAC intra: 98.0% 94.9% 73.9% inter: 14.5% 16.0% 11.3%
[libx264 @ 0x9584540] i16 v,h,dc,p:  0% 50% 17% 33%
[libx264 @ 0x9584540] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu:  7% 21% 11%  3% 13%  6% 21%  4% 14%
[libx264 @ 0x9584540] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 21% 14%  5% 11%  7% 14%  5% 12%
[libx264 @ 0x9584540] i8c dc,h,v,p: 65% 15% 10% 10%
[libx264 @ 0x9584540] Weighted P-Frames: Y:0.5% UV:0.1%
[libx264 @ 0x9584540] ref P L0: 80.8% 10.4%  7.6%  1.2%  0.0%
[libx264 @ 0x9584540] ref B L0: 94.9%  4.8%  0.2%
[libx264 @ 0x9584540] ref B L1: 96.4%  3.6%
[libx264 @ 0x9584540] kb/s:212.48

Although I don't see any errors. It just looks like ffmpeg thought the stream had ended? But that's not possible since it's a live stream.



Solution 1:[1]

This is most likely related to swf verification being performed on the server side (see 'swfVfy' flag). You could try something as follows and see if the stream gets further.

ffmpeg -i "rtmp:///livestream live=1 swfVfy=1 swfUrl=url_to_the flash_player_here" -y test.flv

Unfortunately though, in my case I could not get ffmpeg's swfVfy to work, and have exapmles of the same streams working fine with rtmpdump.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 user1995010