Error sending RTP stream to v4l2sink

charles.fox charles.fox at gmail.com
Mon Aug 29 15:32:55 UTC 2016


Hi all,

I am trying to stream a webcam (Logitech C920) on computer A into OpenCV on
computer B.    OpenCV can't open the stream directly so I installed loopback
for v4l2 and want to have openCV read from a virtual /dev/video1 device of
the stream.   

I can test the stream is working in gstreamer like this:
computer A:
gst-launch-1.0 v4l2src !     'video/x-raw, width=640, height=480,
framerate=30/1' !     videoconvert !     x264enc pass=qual quantizer=20
tune=zerolatency !     rtph264pay !     udpsink host=192.168.0.5 port=1234
computer B:
gst-launch-1.0 udpsrc port=1234 !     "application/x-rtp, payload=127" !    
rtph264depay !     avdec_h264 !     videoconvert  !     xvimagesink

and I can see the live stream in a window.

However when I try to pipe to my lookback instead via this on computer b:
gst-launch-1.0 udpsrc port=1234 !     "application/x-rtp, payload=127" !    
rtph264depay !     avdec_h264 !     videoconvert  !     v4l2sink
device=/dev/video1

it dies with
$ gst-launch-1.0 udpsrc port=1234 !     "application/x-rtp, payload=127" !    
rtph264depay !     avdec_h264 !     videoconvert  !     v4l2sink
device=/dev/video1
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data
flow error.
Additional debug info:
gstbasesrc.c(2948): gst_base_src_loop ():
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0:
streaming task paused, reason error (-5)
Execution ended after 0:00:09.842319925
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...


What's weird is that I can pipe computer B's OWN webcam to loopback with no
problems -- if I do on computer B:
 gst-launch-1.0 -v v4l2src ! v4l2sink device=/dev/video1
then it works just fine (eg I can watch the stream on video1 in vlc)


This is driving me nuts, can anyone help?   Why can the stream be piped into
xvimagesink but not into v4l2sink , when I know v4l2sink is working from the
local webcam version?      Is v4l2sink expecting a different type of input
from xvimagesink, and if so do I need a different chain of modules to pipe
in ?



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Error-sending-RTP-stream-to-v4l2sink-tp4679273.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list