Вебкамера в Skype: различия между версиями

Материал из ALT Linux Wiki
м (→‎Введение: +wikilink)
Нет описания правки
 
(не показано 5 промежуточных версий 3 участников)
Строка 1: Строка 1:
== Самое главное ==
Проверьте права на {{path|/dev/video*}} и убедитесь, что у нужных пользователей они есть (например, посредством группы <tt>video</tt>):
ls -l /dev/video*
id | grep --color video
Чтобы посмотреть, в каких группах состоит конкретный пользователь, существует команда:
groups [username]
Для добавления пользователя в группу video воспользуйтесь следующей командой (команда дается от root):
gpasswd -a [username] video
Прим.: вместо [username] необходимо ввести имя пользователя так, как он назван в вашей системе.
Пример строчки {{path|/etc/group}} для двух пользователей (действует после повторного входа в систему):
video:x:118:vanya,masha
== Введение ==
== Введение ==
Обладатели веб-камер с некоторых пор могли заметить, что их устройства перестали работать в некоторых программах, таких как [[FAQ#Как поставить Skype|Skype]]. В категорию неработающих попали те приложения, которые используют интерфейс v4l'''1''', а не v4l2. Эта "поломка" выражается в отображении шума вместо картинки с веб-камеры. Пример такого шума приведен на рисунке:
Обладатели веб-камер с некоторых пор могли заметить, что их устройства перестали работать в некоторых программах, таких как [[FAQ#Как поставить Skype|Skype]]. В категорию неработающих попали те приложения, которые используют интерфейс v4l'''1''', а не v4l2. Эта "поломка" выражается в отображении шума вместо картинки с веб-камеры. Пример такого шума приведен на рисунке:


[[Изображение:skype-settings.png]]
<center>[[Изображение:skype-settings.png]]</center>


== Описание проблемы ==
== Описание проблемы ==
Строка 28: Строка 44:
</code>
</code>


результатом которой будет добавление в конец файла ''/etc/bashrc'' строки ''export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so''
результатом которой будет добавление в конец файла ''/etc/bashrc'' строки ''export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so'', и это будет действовать для всех запускаемых из пользовательской командной оболочки программ. В такой глобальной настройке может не быть смысла; вместо этого можно просто именно таким образом запускать каждую конкретную программу, например (в пользовательской командной оболочке):
 
<code>
$ LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
</code>


== Заключение ==
== Заключение ==
Строка 57: Строка 77:


[[Категория:Использование оборудования]]
[[Категория:Использование оборудования]]
{{Category navigation|title=Использование оборудования|category=использование оборудования|sortkey={{SUBPAGENAME}}}}

Текущая версия от 16:52, 28 июня 2015

Самое главное

Проверьте права на /dev/video* и убедитесь, что у нужных пользователей они есть (например, посредством группы video):

ls -l /dev/video*
id | grep --color video

Чтобы посмотреть, в каких группах состоит конкретный пользователь, существует команда:

groups [username]

Для добавления пользователя в группу video воспользуйтесь следующей командой (команда дается от root):

gpasswd -a [username] video

Прим.: вместо [username] необходимо ввести имя пользователя так, как он назван в вашей системе.

Пример строчки /etc/group для двух пользователей (действует после повторного входа в систему):

video:x:118:vanya,masha

Введение

Обладатели веб-камер с некоторых пор могли заметить, что их устройства перестали работать в некоторых программах, таких как Skype. В категорию неработающих попали те приложения, которые используют интерфейс v4l1, а не v4l2. Эта "поломка" выражается в отображении шума вместо картинки с веб-камеры. Пример такого шума приведен на рисунке:

Skype-settings.png

Описание проблемы

Являясь обладателем веб-камеры (ID 046d:092f Logitech, Inc. QuickCam Express Plus), автор тоже столкнулся с описываемой проблемой. В результате поиска решения выяснилось, что начиная с ядра версии 2.6.27 драйверы веб-камер стали включать в ядро. Включить включили, но не полностью. Та часть драйверов, которая отвечает за преобразование форматов представления изображений с каждой камеры к одному общему формату, была вынесена в отдельную библиотеку libv4l. Таким образом, программы, использующие интерфейс v4l1, перестали работать должным образом.

Решение проблемы

Для решения нашей проблемы нужно выполнить несложные действия. Прежде всего убеждаемся, установлена ли необходимая библиотека. Открываем терминал и вводим команду

$ rpm -qa libv4l

Если библиотека установлена, то получим название установленного пакета (на момент написания данной заметки это libv4l-0.5.6-alt1). Отсутствие какого-либо вывода свидетельствует о необходимости инсталляции библиотеки. Тут же в терминале получаем права суперпользователя (root) набрав команду "su -" (без кавычек) и введя соответствующий пароль. Далее производится установка библиотеки:

$ su -
Password: 
# 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, и это будет действовать для всех запускаемых из пользовательской командной оболочки программ. В такой глобальной настройке может не быть смысла; вместо этого можно просто именно таким образом запускать каждую конкретную программу, например (в пользовательской командной оболочке):

$ LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

Заключение

Выполнив эти несложные действия и перезагрузив компьютер, мы получаем нормально работающие с веб-камерой Skype и другие приложения, использующие v4l1. Так же хотелось бы упомянуть программу для изменения качества изображения (цветовой баланс, экспозицию (светлее/темнее), усиление сигнала и др.) "на лету": v4l2ucp. Установить ее можно описанным выше способом (в терминале, получив права суперпользователя):

# apt-get install v4l2ucp

Запускается программа командой

$ v4l2ucp /dev/videoX

, где Х - номер устройства, обычно - 0. Если Вы не планируете использовать более одной веб-камеры, то можно создать символическую ссылку командой (опять же в терминале, получив права суперпользователя)

# ln -s /dev/video0 /dev/video

Теперь программа запускается без параметров:

$ v4l2ucp