You are not logged in.

#1 2013-03-03 13:08:20

From: The Netherlands
Registered: 2009-03-19
Posts: 151

Using v4l2loopback and v4l2sink to use camera of phone as webcam

I am trying to use the camera of my mobile phone as an input source for Skype. To do this I use the app IP Webcam on my Android that creates a MJPG-compatible webstream at I am using v4l2loopback (AUR package) to create a loopback device /dev/video0 that will be my virtual webcam.

Now I want to use gstreamer to pipe the video feed to this device:

gst-launch-0.10 -vt souphttpsrc location="" ! jpegdec ! ffmpegcolorspace ! "video/x-raw-yuv, format=(fourcc)YV12" ! videorate ! v4l2sink device=/dev/video0 

But, whatever parameters I try, I always get tons of errors.

Setting pipeline to PAUSED ...
libv4l2: error getting pixformat: Invalid argument
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)768, height=(int)432, framerate=(fraction)0/1
ERROR: from element /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2625): gst_base_src_loop (): /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = NULL
Freeing pipeline ...

Outputting to the screen does work:

gst-launch-0.10 -vt souphttpsrc location="" ! jpegdec ! ffmpegcolorspace ! "video/x-raw-yuv, format=(fourcc)YV12" ! xvimagesink

so the stream itself seems to be working fine. Have you got any suggestions?


Board footer

Powered by FluxBB