DirectShow - Microsoft LifeCam Studio - формат RBG24 потерян

Я использую DirectShowNet в C#. Я разрабатываю приложение для работы с веб-камерами для отображения видео, изменения разрешения и фотографирования (либо неподвижное изображение, либо из потока захвата). Я тестировал его на 2 разных машинах (Win 7 64-bit и Win 8 64-bit) и с внутренними веб-камерами на этих машинах (это ноутбуки) и 2 другими веб-камерами, Logitech C920 и Microsoft LifeCam Studio.

Однажды LifeCam Studio перестала работать на моей машине с Win 8. Используя GraphEditPlus, проверяя VideoFormats для вывода Capture, я замечаю, что, как ни странно, форматы RGB24 больше не перечислены. Я написал заявление на использование только 24-битного цветового формата. В списке указаны только 16-битные форматы YUY2. Если я проверю одну и ту же веб-камеру на своем компьютере с Win 7, я увижу оба формата YUY2 и RGB24. Ранее мой компьютер с Win 8 действительно перечислял оба этих формата.

Вопрос в том, что может заставить DirectShow изменить список видеоформатов для вывода Capture? До сих пор я заметил, что изменение версий драйверов имеет огромное значение для веб-камер в том, какие контакты они поддерживают, но я не видел, чтобы они меняли видео форматы, подобные этому. Насколько я знаю, я не обновлял драйверы для веб-камеры ни на одной машине.

Вот версии драйверов для обеих машин.


LifeCam Studio - Windows 7 - 64-разрядная версия

LifeCam Studio - Windows 7 - 64-разрядная версия

LifeCam Studio - Windows 8 - 64-разрядная версия

LifeCam Studio - Windows 8 - 64-разрядная версия

1 ответ

Решение

Я разобрался, как вернуть форматы. Я зашел в диспетчер устройств и нашел устройство "Microsoft LifeCam Studio". Я удалил его и установил флажок "Также удалить драйвер для этого устройства". После этого я обновил диспетчер устройств, и когда устройство было найдено, оно имело имя "Microsoft® LifeCam Studio(TM)", но затем изменилось на "Microsoft LifeCam Studio". Это заставило меня понять, что он автоматически обновляет драйвер.

Как вы заметили на моем скриншоте Win 8 выше, кнопка "Откатить драйвер" включена. Это означает, что драйвер был обновлен в какой-то момент. Я продолжил откатывать драйвер, который изменил имя обратно на "Microsoft® LifeCam Studio(TM)".

Теперь в GraphEditPlus устройство отображает видеоформаты YUY2, MJPG (24-разрядный) и M420 (12-разрядный) для вывода Capture. Кажется, это то, что я имел в прошлом. Теперь он корректно работает с моим приложением, так как доступен 24-битный формат.

В целом, Microsoft удалила некоторые функции DirectShow устройства, когда они сделали драйвер для Windows 8. Этот старый драйвер, выпущенный в 2006 году, фантастически работает с Windows 8. Я предполагаю, что это встроенный в ОС драйвер, перенесенный со старых ОС Windows.

Вот снимок экрана работающего драйвера для других, которые хотели бы, чтобы больше видеоформатов было доступно для LifeCam Studio в Windows 8.


LifeCam Studio - Windows 8 - 64-разрядная версия - оригинальный драйвер

введите описание изображения здесь

Другие вопросы по тегам