Virtual Webcam Input as Byte Stream

Virtual webcam input as byte stream

Here you go:

  • DirectShow Source filter using Dekstop window as source
  • Writing a Direct Show Source Filter
  • Way to generate video from a bunch of images?
  • Writing a virtual webcam?
  • Virtual Webcam in C++
  • Virtual Webcam Driver

More at MSDN Forums:

  • How to render a byte array from socket/application using DirectShow?
  • Injecting sample from samplegrabber into a graph

If you prefer to skip programming and to just install a virtual camera that you don't happen to have available, you can install a virtual DirectShow camera backed by an IP camera put on Internet and continue your DirectShow experience from there.

create virtual webcam application which takes images as input and send it to any video chat application

Anthology of the question:

  • Virtual camera/direct show filter for network stream
  • Virtual webcam input as byte stream
  • Custom virtual video capture device

How to create virtual webcam in Windows 10?

Virtual webcam is typically a software only implementation that application discover as if it is a device with physical representation. The mentioned applications use APIs to work with web cameras and ability to extend the APIs and add your own video source is the way to create a virtual web camera.

In Windows there are a few APIs to consume video sources: Video for Windows, DirectShow, Media Foundation (in chronological order).

Video for Windows is not really extensible and limited in capabilities overall. It will see a virtual device if you provide a kernel mode driver for a virtual camera.

DirectShow is the API used by most video capture enabled Windows applications and it is present in all Windows versions including Windows 10 (except just Windows RT). Then it's perfectly extensible and in most cases the term "virtual webcam" refers to DirectShow virtual webcam. Methods to create DirectShow virtual webcam discussed in many StackOverflow questions remain perfectly valid for Windows 10, for applications that implement video capture using DirectShow:

  • Virtual webcam input as byte stream
  • Simulate a DirectShow Webcam

DirectShow samples were removed from Windows SDK but you can still find them in older releases:

  • Getting DirectShow Samples on Windows 8

If you provide a kernel mode driver for video camera device (your virtual webcam through custom kernel driver), DirectShow would also see it just like other video APIs.

Media Foundation is a supposed successor of DirectShow but its video capture capabilities in the part of extensibility simply do not exist. Microsoft decided to not allow custom video sources application would be able to discover the same way as web cameras. Due to Media Foundation complexity, and overhead and overall unfriendliness it is used by modest amount of applications. To implement a virtual webcam for Media Foundation application you again, like in case of Video for Windows, have to implement a kernel mode driver.

Simulate a DirectShow Webcam

It is possible through a virtual device, see

  • Virtual webcam input as byte stream
  • Is it possible to fake a video stream as virtual cam that is visible in Skype, Lync etc?

You will have hard time implementing this in C# only, as the APIs are for native code.



Related Topics



Leave a reply



Submit