LINUX.ORG.RU

usb камера видна в Скайпе, но не определяется в самой Ubuntu

 ,


0

2

Добрый день, уважаемые коллеги. Проблема как получить /dev/video для камеры (ХRide ULTRA 4K (AC-9001W)) при подключении через usb в ubuntu (14.04). В скайпе, в комбо боксе устройств повляется при подключении камеры и выборе на ней «пк камера» строка /dev/video0 и камера передает видео. Но мне нужна камера не из скайпа, а для доступа из моего приложения через /dev/video0. Т.е. судя по всему камера UVC совместимая, но ubuntu ее определить не может, а Скайп каким-то образом может. Прочитал, что Скайп использует v4l, а ядро v4l2 интерфейс. Могу еще добавить, что при запущенной камере из Скайпа в терминале ubuntu видит ее как uvcvideo android device. Из lsusb могу дать Device ID 1f3a:100e поиск по нему ничего не дал, увы.

судя по всему камера UVC совместимая, но ubuntu ее определить не может

Если убунта даёт скайпу пользоваться камерой - значит убунта её определила.

rezedent12 ☆☆☆
()

Прочитал, что Скайп использует v4l, а ядро v4l2 интерфейс.

Как же скайп тогда взаимодействует с камерой? Ядро предоставляет доступ приложениям к железной камере по v4l2/v4l интерфейсу. Совместимости v4l2/v4l, насколько я помню, нет.

Проверь uvcdynctrl свой /dev/video0. Или v4l-tools/v4l2-tools

Вывод вот этого сюда

$ grep V4L /boot/config-$(uname -r) | grep -v ^#

panzerito
()

а для доступа из моего приложения

Что делает «твое приложение» при подключении к /dev/video0? что пришет в консоль?

panzerito
()
Ответ на: комментарий от panzerito

Проблема в том, что /dev/video0 создаётся и виден пока запущен Скайп. Если в это время запустить приложение, которое пытается через /dev/video0 открыть камеру, то библиотека gstreamera даёт сообщение об ошибке типа device is busy. То есть ссылка на девайс камеры /dev/video создаётся Скайпом на время его работы. Судя по всему можно пытаться создать /dev/video0 из своего приложения по аналогии со Скайпом, но возможно есть способ как поднять его при включении самой камеры.

conor63
() автор топика
Ответ на: комментарий от panzerito

Возможно, Скайп через апи v4l/v4l2 динамически создаёт ссылку на устройство при запуске. То есть до запуска Скайпа /dev/video0 отсутствует в системе и после завершения Скайпа тоже

conor63
() автор топика
Ответ на: комментарий от panzerito

Сейчас уже не могу, завтра обязательно посмотрю и напишу. Но ещё раз обращаю внимание, что проблема в том, что не удаётся средствами Linux сгенерировать /dev/videoX а Скайп каким-то образом это делает легко. Более того, открыл в поведении камеры странность. Когда после включения через USB выбираешь в ней режим «пк камера», то камера включается в этот режим и в окне терминала ls /dev/video* выдаёт /dev/video0 я даже успевают запустить своё приложение и получить параметры видеопотока. Но камера сама выходит из режима, на её мониторе появляется меню и все возвращается к началу. Просто хотелось бы получить программно доступ к видеопотку без необходимости разбираться с uvclib и v4l api

conor63
() автор топика
Ответ на: комментарий от panzerito

Спасибо за крайний ответ, но непонятно причём тут ls ... В системе нет такого файла,будет сообщение file doesn't exist Относительно mknod, самому как-то сгенерировать файл устройства камеры?

conor63
() автор топика
Ответ на: комментарий от conor63

В системе нет такого файла

Так сделай это, когда skype запущен. Лел. Или прочитай /usr/src/linux/Documentation/devices.txt

Относительно mknod, самому как-то сгенерировать файл устройства камеры?

Да. Потом настроишь udev

panzerito
()
Последнее исправление: panzerito (всего исправлений: 1)
Ответ на: комментарий от panzerito

Hello Conor63, could you manage to use your camera with Linux? I have exactly the same problem with the same 1f3a:100e device.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.