Jak utworzyć wirtualną kamerę internetową w systemie Windows 10?

Chciałbym wziąć film z kamery internetowej, renderować trochę tekstu na klatkach i zrobić trochę śledzenia ruchu i przekazać go do wirtualnej kamery, aby można było łatwo przesyłać strumieniowo.

Znalazłem kilka odpowiedzi na stackoverflow sugerujących, że powinienem używać DirectShow. Zgodnie z informacjami w DirectShow documentation, DirectShow SDK jest częścią Windows SDK. Więc zainstalowałem najnowszy Windows SDK ale wydaje się, że nie zawiera DirectShow, ponieważ tam nie ma próbek DirectShow pod C:\Program Files (x86)\Microsoft SDKs\Windows. (Odpowiedzi stoskoverflow są również dość stare - datowane około 2010 roku)

Czy możesz zasugerować sposób na działanie DirectShow (w tym próbki pracujące na Visual Studio 2015) lub inną alternatywę dla DirectShow, która pomoże mi stworzyć wirtualną kamerę internetową?

Author: Roman R., 2015-11-13

1 answers

Virtual webcam to zazwyczaj implementacja oprogramowania, którą aplikacja odkrywa tak, jakby była urządzeniem z fizyczną reprezentacją. Wspomniane aplikacje wykorzystują API do pracy z kamerami internetowymi, a możliwość rozszerzenia API i dodania własnego źródła wideo jest sposobem na stworzenie wirtualnej kamery internetowej.

W systemie Windows istnieje kilka interfejsów API do wykorzystania źródeł wideo: Video for Windows, DirectShow, Media Foundation (w porządku chronologicznym).

Wideo Dla Windows nie jest tak naprawdę rozszerzalne i ograniczone możliwości. Wyświetli wirtualne urządzenie, jeśli dostarczysz sterownik trybu jądra dla wirtualnej kamery.

DirectShow to interfejs API używany przez większość aplikacji Windows obsługujących przechwytywanie wideo i jest obecny we wszystkich wersjach systemu Windows, w tym Windows 10 (z wyjątkiem tylko Windows RT). Następnie jest doskonale rozszerzalny i w większości przypadków termin "wirtualna Kamera internetowa" odnosi się do DirectShow virtual webcam. Metody tworzenia DirectShow virtual webcam omówione w wielu Pytania dotyczące StackOverflow pozostają w pełni ważne dla systemu Windows 10, dla aplikacji, które realizują przechwytywanie wideo za pomocą DirectShow:

Próbki DirectShow zostały usunięte z Windows SDK, ale nadal można je znaleźć w starszych wydaniach:

Jeśli podasz sterownik trybu jądra dla Kamery Wideo urządzenie (Twoja wirtualna Kamera internetowa poprzez Niestandardowy sterownik jądra), DirectShow będzie również widzieć to tak, jak inne interfejsy API wideo.

Media Foundation jest domniemanym następcą DirectShow, ale jego możliwości przechwytywania wideo w części rozszerzalności po prostu nie istnieją. Microsoft zdecydował się nie dopuścić do tego, aby aplikacja niestandardowych źródeł wideo była w stanie odkryć taki sam sposób, jak kamery internetowe. Ze względu na złożoność fundamentów medialnych, a także narzut i ogólną nieprzyjazność jest wykorzystywany przez skromną ilość aplikacje. Aby zaimplementować wirtualną kamerę internetową dla aplikacji Media Foundation, ponownie, podobnie jak w przypadku Video for Windows, musisz zaimplementować sterownik trybu jądra.

 18
Author: Roman R.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:24:59