На идею создания собственными силами 3D-видеочата автора уже давно натолкнуло сообщение на одном из трекеров (все мы грешны), посвящённом, как нетрудно догадаться, фильмам в стереоформате. В нём упоминался Windows-драйвер виртуальной веб-камеры от канадской (как, вы не слышали о канадцах, выпускающих веб-камеры?) компании Hytek. Драйвер этот делает одну простую вещь — берёт видеосигналы от двух веб-камер, накладывает на них соответствующие фильтры, а на выходе выдаёт анаглифную картинку. А раз уж это виртуальная камера, то её можно без проблем использовать практически в любом приложении, которое вообще способно работать с веб-камерами как таковыми. Например, в видеочатах, хотя «из любви к искусству» можно на досуге заняться съёмкой домашнего видео.
Увы, ничего подходящего, кроме драйвера от Hytek на данный момент не существует. По крайней мере, после апробирования ещё штук пяти различных решений, чего-то более вразумительного найдено не было. Впрочем, для других ОС аналогичных продуктов нет вообще. Да и с драйвером Hytek тоже не всё так просто. Во-первых, он платный и стоит почти 30 вечнозелёных бумажек. Во-вторых, он кардинально не обновлялся с 2006 года и заставить его работать под Windows Vista или 7 не так-то просто. Зато счастливые обладатели Windows XP проблем испытать не должны, а мы уж как-нибудь разберёмся.
Перед началом экспериментов необходимо обзавестись как минимум терпеливым товарищем с анаглифными очками, который будет объёмно созерцать вас на другом конце провода, а заодно немного помогать в настройке. Нам понадобятся очки с красным и синим светофильтрами, либо с зелёным и пурпурным (красным). Их, например, выдают в кинотеатрах на сеансах с показом стереокартин в анаглифе. Также можно поискать очки в книжных магазинах — они обычно прилагаются к детским книжкам с 3D-иллюстрациями, а то и вовсе продаются отдельно. Стоят они в пределах пары сотен рублей. Наконец, можно заказать любую понравившуюся модель очков с Dealextreme — обойдутся дешевле, но придётся подождать, пока доставят. В крайнем случае, поклонники телерубрики «Очумелые ручки» (интересно, её ещё показывают?) без труда сделают такие очки сами из «вот этих двух пластиковых бутылок».
Естественно, нужно приобрести две веб-камеры, желательно одинаковые, но необязательно. Главное, чтобы фокусное расстояние у них совпадало. Желательно также сразу же подумать, как вы будете крепить камеры рядышком. Необходимо, чтобы они стояли ровно и не болтались. В принципе, практически все современные веб-камеры обладают достаточно удобным креплением к монитору или крышке ноутбука. Мы взяли на пробу две камеры Logitech C510. Кстати, использовать камеры с поддержкой HD-видео (ну, так это называется у маркетологов) смысла нет — драйвер поддерживает только разрешение в 320x240 или 640x480 точек. На этом подготовительный этап закончен, и можно приступать непосредственно к делу.
Скачиваем архив с драйвером, распаковываем его и запускаем установщик. Если всё прошло удачно, то можете пропустить нижеследующие инструкции и перейти к настройке виртуальной камеры. А вот если вы получили такое же сообщение, как на скриншоте ниже, то придётся немного пошаманить.
«Виновата» во всём система защиты DEP. Строго говоря, её поведение в данном случае как раз нормально, и сетовать надо на разработчиков Hytek. Поэтому для корректной инсталляции драйвера надо будет временно отключить DEP. Для этого идём в «Панель управления» → «Система» → «Дополнительные параметры системы» → «Дополнительно» → «Быстродействие» → «Настройки» → Data Execution Prevention, где переключаемся в режим работы DEP с исключениями. Здесь нам нужно добавить в список исключений программу regsvr32.exe, которая находится в каталоге C:\Windows\System32. После этого перезагружаем компьютер и пробуем запустить файл Reg3DCam2.bat из каталога C:\Program Files\HYTEK Stereo 3D Camera Driver.
В случае Windows Vista или 7 этот трюк может не сработать и вы всё равно будете получать ошибку. Тогда придётся копнуть немного глубже. Перезагружаемся в безопасном режиме (жмём F8 во время загрузки Windows), нажимаем Win+R и в открывшемся окошке вводим cmd, а затем нажимаем Ctrl+Shift+Enter. В появившейся консоли вводим команду:
bcdedit /set {current} nx AlwaysOff
Затем снова перезагружаемся в безопасный режим и запускаем Reg3DCam2.bat — DLL должна успешно зарегистрироваться. Возвращаем DEP на место командой:
bcdedit /set {current} nx OptIn
Всё, можно перезагружаться в обычном режиме. Для удаления драйвера придётся проделать аналогичную процедуру, только запускать надо будет файл UnReg3DCam2.bat. Для проверки работоспособности драйвера запустим из главного меню HYTEK Stereo 3D Camera Driver → Video Capture Software.
Находим в меню Options → Video Capture Pin, выбираем в Left и Right Camera левую и правую веб-камеру, меняем разрешение на 640x480, жмём Apply и закрываем окно.
Открываем Options → Video Capture Filters и в списке Image Type выбираем Color Anaglyph 3D Image или True Anaglyph 3D Image. Если вдруг вы неправильно расположили камеры (перепутали левую с правой), то поставьте галочку Switch Left and Right Camera Image. Нажимаем Apply и закрываем окно. Теперь наша стереокамера готова к работе.
Для более качественного стереоэффекта придётся немного поэкспериментировать с положением веб-камер. Для начала отрегулируйте их так, чтобы изображения от них совпадали по горизонтали. Возьмите, например, лист бумаги и постарайтесь держать его ровно перед камерами. Затем одну из них расположите так, чтобы верхний край листа на анаглифном изображении (а фактически две совмещённые картинки разных цветов) был ровным. Также можно поэкспериментировать, уменьшая или увеличивая расстояния между камерами по горизонтали или изменяя угол между камерами в горизонтальной плоскости.
Вид сверху
Осталось как следует закрепить веб-камеры в этом положении — и можно открыть, например, Skype, где в настройках видео выбрать в качестве источника Hytek 3D Virtual Camera2. В принципе, воспользоваться можно любым приложением для видеочата, которое поддерживает веб-камеры. Кстати, если вам совсем уж лень возиться с камерами, то за 60$ можно купить готовый набор для стереосъёмки от той же Hytek.
Последний нюанс. В деморежиме драйвер не только при каждом чихе выдаёт сообщение с намеком, что неплохо бы заплатить, но ещё и выводит на весь экран три строчки текста «Unregistered», «www.hytekautomation.com» и «HYTEK Stereo 3D Driver». Исключительно в учебных целях в любом HEX-редакторе вы можете отредактировать файл 3DCam2.dll, заменив эти строки пробелами. Очевидно, что делать это надо до регистрации данной библиотеки в системе. Естественно, если работа виртуальной камеры вам понравилась, то необходимо заплатить разработчикам за их труд, официально приобретя драйвер. На этом всё — удачных вам стереоэкспериментов!