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

Материал из ALT Linux Wiki
(Создана новая страница размером Обладатели веб-камер с некоторых пор могли заметить, что их устройства пере...)
 
Нет описания правки
 
(не показано 9 промежуточных версий 5 участников)
Строка 1: Строка 1:
Обладатели веб-камер с некоторых пор могли заметить, что их устройства перестали работать в некоторых программах, таких как Skype. В категорию неработающих попали те приложения, которые используют интерфейс v4l'''1''', а не v4l2. Эта "поломка" выражается в отображении шума вместо картинки с веб-камеры. Пример такого шума приведен на рисунке:
== Самое главное ==
Проверьте права на {{path|/dev/video*}} и убедитесь, что у нужных пользователей они есть (например, посредством группы <tt>video</tt>):
ls -l /dev/video*
id | grep --color video


[[Изображение:skype-settings.png|250px]]
Чтобы посмотреть, в каких группах состоит конкретный пользователь, существует команда:
groups [username]


Для добавления пользователя в группу video воспользуйтесь следующей командой (команда дается от root):
gpasswd -a [username] video
Прим.: вместо [username] необходимо ввести имя пользователя так, как он назван в вашей системе.
Пример строчки {{path|/etc/group}} для двух пользователей (действует после повторного входа в систему):
video:x:118:vanya,masha
== Введение ==
Обладатели веб-камер с некоторых пор могли заметить, что их устройства перестали работать в некоторых программах, таких как [[FAQ#Как поставить Skype|Skype]]. В категорию неработающих попали те приложения, которые используют интерфейс v4l'''1''', а не v4l2. Эта "поломка" выражается в отображении шума вместо картинки с веб-камеры. Пример такого шума приведен на рисунке:
<center>[[Изображение:skype-settings.png]]</center>
== Описание проблемы ==
Являясь обладателем веб-камеры (ID 046d:092f Logitech, Inc. QuickCam Express Plus), автор тоже столкнулся с описываемой проблемой. В результате поиска решения [http://www.opennet.ru/openforum/vsluhforumID3/50136.html#5 выяснилось], что ''начиная с ядра версии 2.6.27'' драйверы веб-камер стали включать в ядро. Включить включили, но не полностью. Та часть драйверов, которая отвечает за преобразование форматов представления изображений с каждой камеры к одному общему формату, была вынесена в отдельную библиотеку ''libv4l''. Таким образом, программы, использующие интерфейс ''v4l1'', перестали работать должным образом.
Являясь обладателем веб-камеры (ID 046d:092f Logitech, Inc. QuickCam Express Plus), автор тоже столкнулся с описываемой проблемой. В результате поиска решения [http://www.opennet.ru/openforum/vsluhforumID3/50136.html#5 выяснилось], что ''начиная с ядра версии 2.6.27'' драйверы веб-камер стали включать в ядро. Включить включили, но не полностью. Та часть драйверов, которая отвечает за преобразование форматов представления изображений с каждой камеры к одному общему формату, была вынесена в отдельную библиотеку ''libv4l''. Таким образом, программы, использующие интерфейс ''v4l1'', перестали работать должным образом.


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


<code>rpm -qa | grep libv4l</code>
<code>
$ rpm -qa libv4l
</code>
 
Если библиотека установлена, то получим название установленного пакета (на момент написания данной заметки это libv4l-0.5.6-alt1). Отсутствие какого-либо вывода свидетельствует о необходимости инсталляции библиотеки. Тут же в терминале получаем права суперпользователя (root) набрав команду "su -" (без кавычек) и введя соответствующий пароль. Далее производится установка библиотеки:
 
<code>
$ su -
Password:
# apt-get install libv4l
</code>
 
Далее выполняем команду:
 
<code>
# echo "export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so">>/etc/bashrc
</code>


Если библиотека установлена, то получим название установленного пакета (на момент написания данной заметки это libv4l-0.5.6-alt1). Отсутствие же какого-либо вывода свидетельствует о необходимости инсталляции библиотеки. Тут же в терминале получаем права суперпользователя (root) набрав команду "su -" (без кавычек) и введя соответствующий пароль. Далее производится установка библиотеки командой
результатом которой будет добавление в конец файла ''/etc/bashrc'' строки ''export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so'', и это будет действовать для всех запускаемых из пользовательской командной оболочки программ. В такой глобальной настройке может не быть смысла; вместо этого можно просто именно таким образом запускать каждую конкретную программу, например (в пользовательской командной оболочке):


<code>apt-get install libv4l</code>
<code>
$ LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
</code>


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


<code>echo "export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so">>/etc/bashrc</code>
<code>
# apt-get install v4l2ucp
</code>


Результатом последней команды будет появление в конце файла ''/etc/bashrc'' строки ''export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so''
Запускается программа командой


Выполнив эти несложные операции и перезагрузив компьютер, мы получаем нормально работающие с веб-камерой Skype и другие приложения, использующие v4l1.
<code>
$ v4l2ucp /dev/videoX
</code>


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


<code>apt-get install v4l2ucp</code>
<code>
# ln -s /dev/video0 /dev/video
</code>


Запускается программа командой ''v4l2ucp /dev/video'''X''''', где '''''Х''''' - номер устройства, обычно - 0. Если Вы не планируете использовать более одной веб-камеры, то можно создать символическую ссылку командой (опять же в терминале, получив права суперпользователя)
Теперь программа запускается без параметров:


<code>ln -s /dev/video0 /dev/video</code>
<code>
$ v4l2ucp
</code>


Теперь описываемая программа запускается без параметров: ''v4l2ucp''.
[[Категория:Использование оборудования]]
[[Категория:Использование оборудования]]
{{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