Webcam streaming using gstreamer over UDP

David Benko picture David Benko · Oct 6, 2011 · Viewed 56.6k times · Source

Here is what I'm trying:

gst-launch -v udpsrc port=1234 ! fakesink dump=1

I test with:

gst-launch -v audiotestsrc ! udpsink host=127.0.0.1 port=1234

And everything works fine, I can see the packages arriving from the audiotestsrc

Now lets test with the webcam source:

gst-launch -v v4l2src device=/dev/video0 ! queue ! videoscale method=1 ! "video/x-raw-yuv,width=320,height=240" ! queue ! videorate ! "video/x-raw-yuv,framerate=(fraction)15/1" ! queue ! udpsink host=127.0.0.1 port=1234

And nothing happens, no package appears in the dump.

Here is a logdump of what verbose shows in the server.

Does anyone have a clue on this?

Answer

enthusiasticgeek picture enthusiasticgeek · Jul 15, 2012

Try these (You may have to install gstreamer-ugly plugins for this one)

UDP streaming from Webcam (stream over the network)

gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv,width=640,height=480' !  x264enc pass=qual quantizer=20 tune=zerolatency ! rtph264pay ! udpsink host=127.0.0.1 port=1234

UDP Streaming received from webcam (receive over the network)

gst-launch udpsrc port=1234 ! "application/x-rtp, payload=127" ! rtph264depay ! ffdec_h264 ! xvimagesink sync=false

Update

To determine the payload at the streaming end simply use verbose option with gst-launch -v ...