You are not logged in.

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

Revelation60
Member
From: The Netherlands
Registered: 2009-03-19
Posts: 158
Website

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 http://192.168.1.21:8080/videofeed. 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="http://192.168.1.21:8080/videofeed" ! 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="http://192.168.1.21:8080/videofeed" ! jpegdec ! ffmpegcolorspace ! "video/x-raw-yuv, format=(fourcc)YV12" ! xvimagesink

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

Offline

Board footer

Powered by FluxBB