5

Currently I'm working on a project where I need to modify a webcam stream that is streaming to skype. Essentially I want to do things like blur the face and do other anonymizing techniques.

While doing this project however I've been having several issues. Firstly I was using opencv to do the modifications, which was starting to work out well until i tried to interface this with skype (which it wouldnt since opencv takes over the webcam and then skype cannot use it). I then was directed to the GStreamer libraries by a friend which seems like they could work, but I kept getting errors which no one else seemed to be receiving. At the moment I am looking into DirectShow. I have been able to make a virtual webcam for skype to see, but the virtual webcam only takes input from a file. Im working in Windows and/or Linux, depending on which i make more progress in.

So i essentially have 2 questions

  1. If you have done a project or something similar to what I am doing, could you tell me how you went about doing it

  2. Since I'm still working with Gstreamer+Opencv and Directshow methods, does anyone know how to give input from opencv or other webcam into the virtual webcam (I have looked at input pins for the virtual webcam but do not understand how to use them)

Also, yes I have searched for an answer, but as these were a steep learning curve for me, and most answers being non code, I was getting quite confused with some of the answers.

SingerOfTheFall
  • 29,228
  • 8
  • 68
  • 105
Wilson1989
  • 63
  • 6
  • which errors did you keep getting with gstreamer that no one else got ? – Thomas Vander Stichele Sep 18 '12 at 07:42
  • these were the errors when running just basic-tutorial1.c from the gstreamer.com sdk in windows. – Wilson1989 Sep 18 '12 at 23:13
  • (basic-tutorial-1.exe:29092): GStreamer-CRITICAL **: gst_element_set_state: asse rtion `GST_IS_ELEMENT (element)' failed (basic-tutorial-1.exe:29092): GStreamer-CRITICAL **: gst_element_get_bus: assert ion `GST_IS_ELEMENT (element)' failed (basic-tutorial-1.exe:29092): GStreamer-CRITICAL **: gst_bus_timed_pop_filtered: assertion `GST_IS_BUS (bus)' failed (basic-tutorial-1.exe:29092): GStreamer-CRITICAL **: gst_object_unref: assertion `object != NULL' failed (basic-tutorial-1.exe:29092): GStreamer-CRITICAL **: gst_element_set_state: asse rtion `GST_IS_ELEMENT (element)' failed – Wilson1989 Sep 18 '12 at 23:15
  • Sorry been quite busy with things. Those errors are from the basic-tutorial-1.c from www.gstreamer.com – Wilson1989 Sep 23 '12 at 01:21
  • For Mac OS X, [check this out](http://stackoverflow.com/q/2538573/176769). – karlphillip Sep 27 '12 at 16:36
  • possible duplicate of [Virtual Webcam Driver](http://stackoverflow.com/questions/1627448/virtual-webcam-driver) – karlphillip Sep 27 '12 at 16:38
  • Or this: [Device driver to act as a virtual web camera](http://stackoverflow.com/questions/5079165/device-driver-to-act-as-a-virtual-web-camera) – karlphillip Sep 27 '12 at 16:39

1 Answers1

0

on linux, gstreamer provides a "v4l2sink" element, that allows you to write a video-stream into a v4l2loopback device, which can be opened by (some versions of) skype (skype's v4l2 support is quite broken)

umläute
  • 28,885
  • 9
  • 68
  • 122