Page 1 of 1

VLC To read Raw video via UDP using Gstreamer

Posted: 04 Aug 2018 11:44
by MagnusBjarnason
Hi guys,

I'm trying to get a stream from a small thermal camera connected to a RaspberryPi to display on an Android device running VLC.
Using Gstreamer, I've managed to get the feed running from the Raspberry to multiple receivers (raspberry, linux box, windows)

My goal is to get the video to an Android device. I'm trying to use VLC for this, so I first wanted to get it working on my Linux/Windows/Raspberry VLC players. I think I may need to provide an SDP file for VLC to understand it but I haven't found a resource describing the required content for the SDP file or how to get the correct parameters for the file based on a given (g)stream. Also I don't know if I need to encode the stream for VLC to be able to read it or if it can read it "raw".

Here are my Streaming pipelines:

On Raspberry
gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,format=UYVY ! rtpvrawpay ! udpsink host=10.0.0.250 (<- Receiver IP)

On Receiver
gst-launch-1.0 udpsrc caps="application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8, width=(string)160, height=(string)120" ! rtpvrawdepay ! videoconvert ! videoscale ! ximagesink

The last line is for my linux box, I've also run it successfully on the Rasbperry itself, streaming to 127.0.0.1 instead and on my Windows machine using d3dvideosink for display.

- Can any of you provide me with instructions or link to a resource that will help me get the stream to show in VLC?

Thanks in advance!
Magnus

Re: VLC To read Raw video via UDP using Gstreamer

Posted: 04 Aug 2018 22:31
by MagnusBjarnason
Just an update, I now have an SDP that when read by Gstreamer opens the stream, but it still doesn't work on VLC

GSTREAMER

Code: Select all

gst-launch-1.0 -v filesrc location=raw.sdp ! sdpdemux ! rtpvrawdepay ! videoconvert ! autovideosink

RAW.SDP

Code: Select all

v=0 o=- 1 1 IN IP4 127.0.0.1 s=Raw-stream c=IN IP4 10.0.0.250 t=0 0 m=video 5004 RTP/AVP 96 a=rtpmap:96 RAW/90000 a=fmtp:96 media=video; sampling=YCbCr-4:2:2; depth=8; width=160; height=120; colorimetry=BT601-5

Can anyone here tell me what is wrong with the file, since it doesn't open the stream in VLC?

Re: VLC To read Raw video via UDP using Gstreamer

Posted: 05 Aug 2018 18:07
by Rémi Denis-Courmont
SDP parsing is done by live555, so you'd have to ask live555 support.

Re: VLC To read Raw video via UDP using Gstreamer

Posted: 27 Sep 2019 13:11
by egdavidg
This appears to be caused by the version of live555 included in the VLC plugin (libliv555_plugin).
I have been trying to use build 3.0.8 of libliv555_plugin.dll (on Windows).
The verbose output when using this indicates that it is using live555 version 2016.11.28 (i.e. November 2016).

Looking at the release notes in the live555 source code, the support for RawVideoRTPSource (i.e. handling raw video RTP packets as per RFC 4175) was only added in August 2018.

So I think that if the VLC live555 plugin were updated to a more recent version of live555, then raw via UDP would start working.

Are there any plans to do this?

Thanks.

Re: VLC To read Raw video via UDP using Gstreamer

Posted: 17 Jan 2022 17:04
by silverity
I have the same problem with v3.0.8, is RFC4175 video still unsupported?

Thanks

Re: VLC To read Raw video via UDP using Gstreamer

Posted: 17 Jan 2022 17:53
by Rémi Denis-Courmont
The version of Live555 in VLC is no longer updated due to licensing problems, so it can't get new features.

It should be possible to add RFC4175 support in VLC 4 with the VLC built-in RTP support if somebody cares to implement/sponsor it. However note that at usual resolutions, RFC4175 simply requires too much CPU just to send and receive the RTP packets at high rate.

Re: VLC To read Raw video via UDP using Gstreamer

Posted: 14 Feb 2022 11:09
by silverity
Okay thanks. is there any third party video package that plays uncompressed video?

Re: VLC To read Raw video via UDP using Gstreamer

Posted: 18 Feb 2022 12:29
by Rémi Denis-Courmont
Any reasonable player can nominally handle raw video, just not over RTP.