Minwoo Yu
Minwoo Yu

Reputation: 500

Is There a replacement of DirectShow?

I want to make a virtual web cam application. so I find out all pages that had written before 2010. But there was no result. All the projects are old even I open and some parts of methods of codeproject's sources is doesn't useful now.

So I'm looking for a replacement of DirectShow. I tried following directshow guide even the getting started guide in docs.ms didn't work.

What should I do?...

Upvotes: 0

Views: 2349

Answers (1)

Roman Ryltsov
Roman Ryltsov

Reputation: 69632

So this is an AB question: you need one thing and instead you ask for another.

Yes, there is replacement for DirectShow. DirectShow is a previous multimedia API in Windows, and its successor API and current API in Windows is Media Foundation. This will however get you not an inch closer to the solution of your original problem.

The concept of virtual camera is abstract: Windows operating system does not offer a solid extensibility point to add virtual video input devices such that they are visible to application equally to real cameras. To achieve this you are basically supposed to develop and fully featured driver which is not what you want to do.

I covered details in multiple questions here on StackOverflow, I will just mention a few to start reading from:

If you want some application designed to work with cameras to "see" your virtual camera as if it was a real camera, you are interested in finding out what API the application is using and if you could submit your virtual implementation as another camera option.

If the application is DirectShow based, you are rather lucky and you can take the path of virtual DirectShow camera (see links above). If the application uses Media Foundation, you are pretty much in a dead end and hooking or API detouring is probably your best option.

Or you have an option to develop a camera driver, which is most likely is not realistic due to required effort (even though such implementations do exist).

Long story short if your target application is consuming cameras via DirectShow API, you are lucky enough and you don't need DirectShow replacement. Virtual camera code and knowledge accumulated over last 20 years is still in good standing.

Upvotes: 4

Related Questions