I want to get ip camera video stream by gstreamer:
gst-launch-1.0 rtspsrc location=rtsp://user:pass@ ! 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:pass@ ! rtph264depay ! h264parse ! decodebin ! autovideosink


gst-launch-1.0 rtspsrc location=rtsp://user:pass@ ! 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.