[FFmpeg-user] Problem re-streaming an RTSP stream with ffserver

Jonathan Viney jonathan.viney at gmail.com
Tue Oct 21 06:21:32 CEST 2014


Hi,

Thanks for all the hard work people do for ffmpeg, it's a fantastic tool :).

I am having an issue trying to re-stream an RTSP stream from a camera using
ffserver - any ideas as to the problem would be much appreciated. I am
using the latest git revision of ffmpeg on Ubuntu 14.04.

Scenario: RTSP stream coming from IP camera. The stream can be captured
easily with ffmpeg and output to a file. I am running ffserver (see config
below), and passing the stream to ffserver with ffmpeg (see command lines
below). This part appears to work fine. However, when I try to capture the
rtsp stream from ffserver it gives the following errors:

[h264 @ 0xbc9ac0] decode_slice_header error
[h264 @ 0xbc9ac0] no frame!
[h264 @ 0xbc9ac0] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0xbc9ac0] decode_slice_header error
[h264 @ 0xbc9ac0] no frame!
[rtsp @ 0xbc6f80] interrupted
[rtsp @ 0xbc6f80] decoding for stream 0 failed
[rtsp @ 0xbc6f80] Could not find codec parameters for stream 0 (Video:
h264, none(left)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
rtsp://localhost:8554/test1.rtsp: could not find codec parameters

Here are the details of the setup I am using:

Example ffmpeg command line to capture from camera to a file.
ffmpeg -i rtsp://10.9.9.1:554/axis-media/media.amp -c copy test1.mp4

ffprobe of camera's RTSP stream:
ffprobe rtsp://10.9.9.1:554/axis-media/media.amp
ffprobe version N-67063-g282c935 Copyright (c) 2007-2014 the FFmpeg
developers
  built on Oct 21 2014 16:13:26 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --enable-shared --enable-pthreads --enable-gpl
--enable-version3 --enable-nonfree --enable-vda --enable-libx264
--enable-libfaac --enable-libmp3lame --enable-libxvid
  libavutil      54. 10.100 / 54. 10.100
  libavcodec     56.  8.102 / 56.  8.102
  libavformat    56.  9.101 / 56.  9.101
  libavdevice    56.  1.100 / 56.  1.100
  libavfilter     5.  2.100 /  5.  2.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, rtsp, from 'rtsp://10.9.9.1:554/axis-media/media.amp':
  Metadata:
    title           : Media Presentation
  Duration: N/A, start: 0.039989, bitrate: N/A
    Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709), 1920x1080 [SAR
1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 180k tbc

ffserver.conf:
HTTPPort 8090
HTTPBindAddress 0.0.0.0
RTSPPort 8554
RTSPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 50000
CustomLog -
<Feed feed1.ffm>
File feed1-buffer.ffm
FileMaxSize 300M
ACL allow 127.0.0.1
</Feed>
<Stream test1.rtsp>
  Feed feed1.ffm
  Format rtp
  NoAudio
  StartSendOnKey
</Stream>

Command to get ffmpeg to send RTSP stream to ffserver:
ffmpeg -i rtsp://10.9.9.1:554/axis-media/media.amp -c copy
http://localhost:8090/feed1.ffm

Command to capture rtsp stream from ffserver, with errors:
ffmpeg -loglevel verbose -y -i rtsp://localhost:8554/test1.rtsp out.mp4
ffmpeg version N-67063-g282c935 Copyright (c) 2000-2014 the FFmpeg
developers
  built on Oct 21 2014 16:13:26 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --enable-shared --enable-pthreads --enable-gpl
--enable-version3 --enable-nonfree --enable-vda --enable-libx264
--enable-libfaac --enable-libmp3lame --enable-libxvid
  libavutil      54. 10.100 / 54. 10.100
  libavcodec     56.  8.102 / 56.  8.102
  libavformat    56.  9.101 / 56.  9.101
  libavdevice    56.  1.100 / 56.  1.100
  libavfilter     5.  2.100 /  5.  2.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
[rtsp @ 0x23b9c20] SDP:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Title
c=IN IP4 0.0.0.0
t=0 0
a=tool:libavformat 56.9.101
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1
a=control:streamid=0

[h264 @ 0x23bc760] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x23bc760] decode_slice_header error
[h264 @ 0x23bc760] no frame!
[h264 @ 0x23bc760] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x23bc760] decode_slice_header error
[h264 @ 0x23bc760] no frame!
[h264 @ 0x23bc760] non-existing PPS 0 referenced
    Last message repeated 1 times
[rtsp @ 0x23b9c20] decoding for stream 0 failed
[rtsp @ 0x23b9c20] Could not find codec parameters for stream 0 (Video:
h264, none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
rtsp://localhost:8554/test1.rtsp: could not find codec parameters
Input #0, rtsp, from 'rtsp://localhost:8554/test1.rtsp':
  Metadata:
    title           : No Title
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264, none, 90k tbr, 90k tbn, 180k tbc
Output #0, mp4, to 'out.mp4':
  Metadata:
    title           : No Title
Output file #0 does not contain any stream
Received signal 2: terminating.

Does anyone know why I'm not able to do this successfully? I have tried
altering a bunch of settings on the camera, including bring the resolution
right down to reduce the data rate, and adjusting the analyzeduration and
probesize as suggested.

I am able to re-stream an RTSP stream from another source successfully
(rtsp://live.cdn2.streamago.tv/streamago/34961/28964/). Is there likely to
be some sort of incompatibility with the stream from the camera?

Thanks in advance,
-Jonathan.


More information about the ffmpeg-user mailing list