I want to get ip camera video stream by gstreamer:
gst-launch-1.0 rtspsrc location=rtsp://user:[email protected]:554/live/ch00_0 ! rtph264depay ! autovideosink

but get this error
Установка конвейера в состояние PAUSED…
Конвейер работает и не требует состояния PREROLL…
Установка конвейера в состояние PLAYING…
New clock: GstSystemClock
ОШИБКА: из элемента /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Internal data flow error.
Дополнительная отладочная информация:
gstrtspsrc.c(4206): gst_rtspsrc_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 54503440 ns.
Установка конвейера в состояние PAUSED...
Установка конвейера в состояние READY…
Установка конвейера в состояние NULL…
Освобождение конвейера…

i think this is a main proplem ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Internal data flow error.

my system is gentoo 3.5.7

1 Answer 1


You've got wrong pipeline. The correct one is:

gst-launch-1.0 rtspsrc location=rtsp://user:[email protected]:554/live/ch00_0 ! rtph264depay ! h264parse ! decodebin ! autovideosink


gst-launch-1.0 rtspsrc location=rtsp://user:[email protected]:554/live/ch00_0 ! rtph264depay ! decodebin ! autovideosink

As you need to decode the h264 stream before displaying it. Here are principal chains for media to use:

  1. Decoding: encoded src -> demuxer -> decoder -> sink

  2. Encoding: raw src(ie simple webcam) -> encoder -> muxer -> sink

Also, check the way to set up auth for rtspsrc. I'm not shure about this, but maybe the only correct one is: rtspsrc location=rtsp:// user-id=user user-pw=password

  • I think he may need the 'videoconvert' between 'decodebin' and 'autovideosink' Jul 30, 2016 at 21:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .