Вебкамера в Skype
Обладатели веб-камер с некоторых пор могли заметить, что их устройства перестали работать в некоторых программах, таких как Skype. В категорию неработающих попали те приложения, которые используют интерфейс v4l1, а не v4l2. Эта "поломка" выражается в отображении шума вместо картинки с веб-камеры. Пример такого шума приведен на рисунке:
Являясь обладателем веб-камеры (ID 046d:092f Logitech, Inc. QuickCam Express Plus), автор тоже столкнулся с описываемой проблемой. В результате поиска решения выяснилось, что начиная с ядра версии 2.6.27 драйверы веб-камер стали включать в ядро. Включить включили, но не полностью. Та часть драйверов, которая отвечает за преобразование форматов представления изображений с каждой камеры к одному общему формату, была вынесена в отдельную библиотеку libv4l. Таким образом, программы, использующие интерфейс v4l1, перестали работать должным образом.
Для решения нашей проблемы нужно выполнить несложные действия. Прежде всего убеждаемся, установлена ли необходимая библиотека. Открываем терминал и вводим команду
rpm -qa | grep libv4l
Если библиотека установлена, то получим название установленного пакета (на момент написания данной заметки это libv4l-0.5.6-alt1). Отсутствие же какого-либо вывода свидетельствует о необходимости инсталляции библиотеки. Тут же в терминале получаем права суперпользователя (root) набрав команду "su -" (без кавычек) и введя соответствующий пароль. Далее производится установка библиотеки командой
apt-get install libv4l
Тут же, в терминале (с правами суперпользователя) выполняем следующую команду:
echo "export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so">>/etc/bashrc
Результатом последней команды будет появление в конце файла /etc/bashrc строки export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so
Выполнив эти несложные операции и перезагрузив компьютер, мы получаем нормально работающие с веб-камерой Skype и другие приложения, использующие v4l1.
И в заключении хотелось бы привести программу для изменения качества изображения (цветовой баланс, экспозицию (светлее/темнее), усиление сигнала и др.) "на лету": v4l2ucp. Установить ее можно так же, как описано выше (в терминале, получив права суперпользователя) командой
apt-get install v4l2ucp
Запускается программа командой v4l2ucp /dev/videoX, где Х - номер устройства, обычно - 0. Если Вы не планируете использовать более одной веб-камеры, то можно создать символическую ссылку командой (опять же в терминале, получив права суперпользователя)
ln -s /dev/video0 /dev/video
Теперь описываемая программа запускается без параметров: v4l2ucp.