Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
802 views
in Technique[技术] by (71.8m points)

windows - Virtual Driver Cam not recognized by browser

I'm playing with the "Capture Source Filter" from http://tmhare.mvps.org/downloads.htm. After registering the ax driver, I'm trying to understand its compatibility across applications that use video sources.

For example, Skype recognize it while browsers (Edge, Chrome) don't.

I wonder if it's a limitation of the used approach (DirectShow filter) or it's just a matter of configuration. The purpose of the question is to understand if that approach is still useful or it's better to move on Media Foundation.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I described this here: Applicability of Virtual DirectShow Sources

Your virtual camera and the applications capable to recognize and pick it up are highlighted with green on the figure below.

Applicability of Virtual DirectShow Sources

... if that approach is still useful or it's better to move on Media Foundation.

Media Foundation does not even have a concept of virtual video source. It does not have a compatibility layer to connect to DirectShow video sources. Obviously, in other direction DirectShow applications won't be able to see virtual Media Foundation streams (well, again, because they do not exist in compatible concept in first place).

If you want to expose your video source to all applications, you need a driver for this (see red box on the figure above). Applciations exist out there that implement such concept, even though writing a new one from the ground up is not something compatibly easy with the DirectShow virtual source you referenced in your question.

Further reading on MSDN on Media Foundation: How to register a live media source - media foundation

Though it is technically possible to write a virtual driver that shows up as a capture device, policies will probably prevent this. In Media Foundation, a device must have a certificate to appear as a capture device, and so far only actual hardware devices through the USB video class driver have been certified. Supporting a scheme through a scheme handler, or a file type with a byte stream handler, is the way to expose a new source to applications.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...