TK1 RTSP and GStreamer

Had anyone had any success bringing up an RTSP pipeline using gst-launch-1.0?

I’m currently struggling to get away from “Internal data flow” errors.

I can test the pipeline using the following:

gst-launch-1.0 rtspsrc location=rtsp:// ! fakesink

This all seems to work fine. As does this:

gst-launch-1.0 rtspsrc location=rtsp:// ! rtph264depay ! fakesink

But as soon as I drop in the autovideosink, I get errors and the pipeline is immediately terminated:

gst-launch-1.0 rtspsrc location=rtsp:// ! rtph264depay ! autovideosink

Could anyone please offer any suggestions following their experiences of RTSP on the TK1? Are there any extra encoders/decoders that need installing?

I have not tested it on TK1, but this works on TX1/TX2:

gst-launch-1.0 rtspsrc location=rtsp:// ! 'application/x-rtp, media=(string)video' ! decodebin ! videoconvert ! ximagesink

Thanks for your reply.

I’ve now got a working RTSP pipeline but I must admit, it seems to be pretty latent.

Having taken your solution, I’ve tweaked it for my setup thus:

gst-launch-1.0 rtspsrc location=rtsp://<ip>:<port>/0 latency=0 ! rtph264depay ! h264parse ! omxh264dec ! videoconvert ! xvimagesink

However, there is a good delay between frame updates on the display. Presumably, the hardware decoder isn’t able to handle the amount of data being thrown at it but given the power of the TK1 platform, something just doesn’t sit quite right.

Interestingly enough though, when swapping to the following

gst-launch-0.10 rtspsrc location=rtsp://<ip>:<port>/0 latency=0 ! rtph264depay ! nv_omx_h264dec ! nv_omx_videosink

the latency drops significantly and the pipeline seems smooth.

Hi kwebster, please try

gst-launch-1.0 rtspsrc location=rtsp://<ip>:<port>/0 latency=0 ! rtph264depay ! h264parse ! omxh264dec ! nvhdmioverlaysink

Hi DaneLL

I have an LVDS display hooked up so unfortunately with the nvhdmioverlaysink, I get no image on screen.

What I did try though, was taking out the videoconvert and videoscale options but this didn’t seem to make much difference.

It still appears that gst-launch-0.10 is much much better at handling the RTSP stream that gst-launch-1.0.

Hi kwebster, have you also tried nvoverlaysink in gstreamer 1.0?

I have tried it just now, it makes no difference - performance is poor compared to gstreamer 0.10

Hi kwebster, is gstreamer 0.10 good for you? nv_omx_videosink in 0.10 and nvoverlaysink 1.0 are called into same low-level SW stack. Not sure why you get worse result in 1.0, but if 0.10 is good for you, please use 0.10.