Linux нет usb камеры

Работа с usb видеокамерой в Linux. Часть 1

По популярности видеокамера, сегодня, стоит в одном ряду с микрофоном и наушниками. Она используется в различных направлениях, таких как распознавание объектов, дополненная реальность, видеоконференции и множество других. Но что же скрыто под капотом этих сложнейших программ? Как мы получаем картинку с видеокамеры? Этот цикл статей позволит взглянуть на простоту работы с видеокамерой на низком уровне, обработку полученного изображения.

Для начала, немного информации о работе с устройствами в системе Linux. Устройства в nix системах представляют собой файл. С некоторыми файлами-устройств мы можем работать как с обычными файлами. Например:

эта команда выведет на экран весь диск sda.

Есть устройства с которыми нельзя работать напрямую, к ним относится видеокамера.При попытке это сделать мы получим такую реакцию системы:

*Где /dev/video0 это файл-устройство найшей видеокамеры.

Для работы с ней нам понадобится системная функция ioctl детальнее о ней можно ознакомится [1]. Попробуем это применить. Вот код позволяющий считать информации с устройства (альтернатива команде cat для видеоустройств):

В первых строках кода считываются параметры с которой запущено приложение. Если параметров нету то device_name принимает стандартоне значение «/dev/video0».

В блоке «Open Device» происходит открытие устройства системной функцией open (нужно подключить header fcntl.h). Обязательный параметр O_RDWR отвечает за открытие устройства считывания/записи. Если при подключении возникла ошибка, то функция open вернет -1.

Блок «Read Params From Device» — это сердце нашей маленькой программы. Для его использования надо подключить билиотеку возможно прийдется её установить, у каждого дистрибутива свой пакет под эту библиотеку
Системная функция ioctl имеет три параметра:
file_device — дескриптор нашего устройства
VIDIOC_QUERYCAP — функция ядра, которую применяем для нашего устройства.
device_params — область памяти куда будет сброшен результат функции «VIDIOC_QUERYCAP».

device_params это структура состоящая из таких полей:

если возникла ошибка ioctl вернет -1

Блок «Close Device» закрывает дескриптор устройства.

Посмотрим программу в действии.

устройство не определилось ядром либо не подключено уборщица опять ненужные провода дергала.
Подключаем и заново запуск. Получаем такую информацию:

поле capabilities и device capabilities можно расшифровать благодаря константам из файла videodev2.h:

На этом вводная статья заканчивается. В следующих обзорах будут затронуты, такие темы как memory-mapping, виодеформаты изображения, настройка камеры, вывод изображения в текстуру, работа с несколькими камерами.

Источник

Не работает встроенная камера на ноутбуке

Установлена Ubuntu 19.04, cheese пишет «Устройства не найдены», вывод lsusb

При просмотре hwinfo —usb заметил, что камера использует драйвер snd-usb-audio вместо uvcvideo. Файл /dev/video0 отсутствует. Как заставить её работать?

В биосе она же включена? И отредактируй свой пост к более «читабельному» виду.

При просмотре hwinfo —usb заметил, что камера использует драйвер snd-usb-audio вместо uvcvideo.

Нам покажешь? lsusb что видит?

так я и вставил lsusb в

, а он как-то неверно отображается, сейчас что-нибудь попробую сделать

если что, вместо пробела там тег cut xD

Вывод hwinfo –usb

02: USB 00.3: 0000 Unclassified device
[Created at usb.122] Unique ID: KoeX.QK808Gxuhf6 Parent ID: k4bc.ZEYWNM3UrzF SysFS ID: /devices/pci0000:00/0000:00:15.0/usb1/1-8/1-8:1.3 SysFS BusID: 1-8:1.3 Hardware Class: unknown Model: «Brain Actuated USB 2.0 PC Camera» Hotplug: USB Vendor: usb 0x1234 «Brain Actuated Technologies» Device: usb 0x5678 «USB 2.0 PC Camera» Revision: «10.01» Driver: «snd-usb-audio» Driver Modules: «snd_usb_audio» Speed: 480 Mbps Module Alias: «usb:v1234p5678d1001dcEFdsc02dp01ic01isc02ip00in03» Driver Info #0: Driver Status: usbtouchscreen is active Driver Activation Cmd: «modprobe usbtouchscreen» Config Status: cfg=new, avail=yes, need=no, active=unknown Attached to: #6 (Hub)

cut только для новостей (все новички думают иначе 🙂 Используй [code][/code] и покажи lsusb -t . Вопрос про биос в силе.

Спасибо за информацию! 🙂 Камера работает в Windows 10, поэтому, думаю, включена. Вывод lsusb -t

интересная* и не стандартная* у тебя камера. это куда такие встраивают?

По теме попробуй просто загрузить модуль uvcvideo

дело пахнет керсином модификацией и пересборкой модуля — нет идентификатора в модуле и он не загружается для этого интерфейса

sudo lsmod | grep uvcvideo:

Всмысле модуль загружен, а ноут то Jumper x4 😀

модуль загружен, но про камеру он ничего не знает — поэтому игнорирует

посмотрите выводы dmesg и syslog — вполне может быть, что камера заработает с помощью какого-нибудь quirks (тут уже проще погуглить, чем самому их сидеть перебирать, мне лично в своё время помог 0x2)

да, syslog пишет, что эта камера — тачскрин 😀

а попробуй один раз загрузиться, передав грабу параметр module_blacklist=usbtouchscreen
возможно, в dmesg/syslog что-нибудь более полезное попадёт (ну и lsusb чуток измениться должен)

Если добавить usbtouchscreen в чёрный список, то камера работает в cheese!

новые сообщения в dmesg

Всё решилось? Если да, покажи lsusb -t при работающей камере — интересно же.

Правда, в VLC пишет, что при открытии камеры в доступе отказано, но, думаю, я не буду им так пользоваться

в VLC пишет, что при открытии камеры в доступе отказано

Это точно должно быть решаемо. При открытии в vlc другие программы камерой не пользуются? Команда lsof /dev/video* перед запуском vlc что-то возвращает? Как вариант запустить vlc через терминал и смотреть на что он там жалуется при попытке открыть камеру.

Читайте также:  Linux установка дополнительно windows

Хотя я сейчас совсем не понимаю как она подхватилась uvcvideo (возможно ответ есть в выводе команды hwihfo —usb или в dmesg). Она может и сейчас «путать» — два интерфейса камеры управляются uvcvideo и по идее в системе есть /dev/video0 и /dev/video1. При этом именно камерой скорее всего является один из них. Кажется, я уже видел такое — и vlc не мог сам в этом разобраться.

vlc нужно запускать так
vlc v4l2:///dev/video0
или так
vlc v4l2:///dev/video1
то есть всё зависит того, на каком устройстве находится/активна камера

Источник

Как смонтировать USB-камеру в Ubuntu — Вокруг-Дом — 2021

Table of Contents:

Ubuntu является одним из наиболее широко используемых дистрибутивов Linux для десктопов, и с годами его использование стало значительно проще. Ubuntu включает в себя UVC Linux Driver, который является универсальным драйвером для удаленных видеоустройств. Теперь UVC является стандартным драйвером для веб-камер USB в большинстве дистрибутивов Linux и входит в состав установочного пакета дистрибутива Ubuntu по умолчанию с конца 2007 года. На данный момент UVC является зрелой частью Ubuntu, и большинство веб-камер должны «просто работать». «. Тестирование веб-камеры, чтобы увидеть, работает ли она, требует приложения, отображающего канал камеры. Для Ubuntu это приложение называется Cheese.

Крепление веб-камеры в Ubuntu теперь в значительной степени подключено и используется для воспроизведения: klaikungwon / iStock / Getty Images

Шаг 1

Подключите веб-камеру к свободному порту USB, если вы этого еще не сделали. Очень вероятно, что Ubuntu автоматически установит USB-камеру, если она была сделана после 2006 года или около того.

Шаг 2

Нажмите на значок «Центр программного обеспечения»; это выводит список доступных устанавливаемых пакетов для вашего дистрибутива Ubuntu. Прокрутите, пока не найдете «Сыр». Нажмите на значок «Установить», и он установится автоматически. Если кнопка неактивна, на вашем компьютере уже установлен Cheese.

Шаг 3

Нажмите на вкладку «Приложения» на панели управления, прокрутите вниз до выбора «Звук и видео» и выберите «Сыр». Если ваша веб-камера подключена правильно, вы увидите изображение, отображающее то, что видит веб-камера. Если ваша веб-камера не работает должным образом, Ubuntu предоставляет документацию для устранения неполадок (ссылка в разделе Ресурсы).

Как смонтировать SD-карту как жесткий диск

Карта Secure Digital (SD) для всех практических целей является жестким диском. Единственное различие между ним и жесткими дисками, обычно используемыми с компьютерами, состоит в том, что SD-карта

Как смонтировать SD-карту в Linux

SD-карта — это небольшой накопитель, используемый с камерами, мобильными телефонами и другими портативными устройствами. Они считываются компьютером с использованием внутреннего или внешнего устройства чтения карт. Немного.

Как смонтировать физические USB-устройства в Virtualbox VM

Многие пользователи сталкиваются с проблемами при подключении физических носителей к своим виртуальным машинам через USB. Это руководство покажет вам самый простой способ заставить его работать.

Install USB Camera or Webcam on Linux — Ubuntu (Октябрь 2021).

  • Install USB Camera or Webcam on Linux — Ubuntu (Октябрь 2021).

    Источник

    Web камера в Linux — как проверить?

    В отличии от современных планшетов, в которые web-камера, как правило, встроена и такое у планшетов является нормой, на стационарном компьютере web камеры нет, да и на ноутбуках они не всегда есть.

    Поэтому по умолчанию во многих версиях Linux не установлен изначально софт для работы с web-камерой. Но эта проблема легко решается, Web камера в Linux может работать на УРА.

    Существует USB-стандарт UVC (USB Video Class), определяющий потоковое видео и делающий применение Web-камер столь же простым как использование носителей флеш-USB и жестких дисков, позволяя одному драйверу работать с разными Web-камерами.

    Таким образом в Ubuntu автоматически функционирует большинство Web-камер (если только не все).

    Быстрый способ убедиться в работоспособности вашей Web-камеры — установить и запустить программу Cheese, выбрав в меню команды Приложения | Стандартные | Терминал (Applications | Accessories | Terminal) и введя строки:

    После запуска программа будет выглядеть так:

    Команда в первой строке установит программу (и запросит у вас ваш пароль в Ubuntu), а вторая (которую вы должны выполнить, когда завершится установка) запустит программу для Web-камеры и выведет на экран окно, подобное показан.

    Когда вы убедитесь, что ваша Web-камера работает, можно закрыть программу Cheese, но имеет смысл сохранить ее на вашем компьютере, потому что это отличная утилита для записи видео и получения фотографий.

    Программа проста в установке и с ней легко разобраться. Но если у вас не что-то не получится, то пишите в комментариях, помогу чем могу!

    Установка USB камеры в Linux Ubuntu

    Источник

    Настройка веб-камеры Linux

    Сейчас все ноутбуки поставляются со встроенным средством связи — веб-камерой. Это очень удобно. С помощью web-камеры Linux вы можете общаться с друзьями через интернет, делать фото или даже записывать видео с ноутбука. Но только есть одно но.

    Не для всех моделей веб-камер есть драйвера в ядре Linux. Веб-камеры подобно сетевым wifi адаптерам еще не полностью поддерживаются этой операционной системой. Но тем не менее многие работают и даже очень хорошо. В этой инструкции мы рассмотрим как выбрать веб-камеру для Linux, а также поговорим о том как с ней работать и настраивать.

    Читайте также:  Не поддерживает установку mac os

    Выбор веб-камеры для Linux

    Одно дело если ваша веб-камера встроена в ноутбук и вы ничего уже не можете поменять, но другое, если вы покупаете ее сами. В таком случае к выбору web-камеры linux нужно подойти серьезно. Несмотря на то, что сейчас все больше и больше оборудования поддерживается ядром Linux, и достаточно хорошо поддерживаются многие камеры, важно обезопасить себя от проблем.

    В Linux, для подключения веб-камер чаще всего используется драйвер v4l, он по умолчанию включен в ядро. Если ваша веб камера linux будет совместима с этим драйвером, скорее всего, с ней проблем не будет. Посмотреть список совместимых устройств можно на сайте Ubuntu. Если кратко, то — вот основные производители:

    • A4 Tech
    • Creative
    • Genius
    • Hercules
    • Jenoptik
    • Logitech
    • MediaForte
    • Micro Innovations
    • Microsoft
    • Mustek
    • Philips
    • Samsung
    • Sanyo
    • Sony
    • Tevion
    • Trust
    • Typhoon

    Конечно, есть и другие производители, и другие драйвера, но с этим драйвером есть большая вероятность того что все будет работать из коробки. v4l использует другие драйвера для работы с оборудованием от различных производителей, но драйвера для всех веб камер, поддерживаемых v4l уже встроены в ядро.

    Настройка веб-камеры в Linux

    Если веб камера linux совместима с вашей системой, то она автоматически определится и будет работать. Давайте посмотрим определилась ли веб-камера в вашей системе:

    sudo ls -l /dev/ | grep video

    crw-rw—-+ 1 root video 81, 0 май 31 04:14 video0

    Устройство video0 и есть ваша webcam linux, если все в порядке, вы можете с ней работать. Но что же делать если камеры нет? Не все камеры поддерживаются по умолчанию ядром и драйвером v4l. Но для некоторых есть сторонние драйвера, так что еще есть шанс заставить все это работать. Сначала посмотрим что скажет система о состоянии драйверов нашей веб камеры:

    Module Alias: «usb:v046Dp08DAd0100dc00dsc00dp00ic01isc02ip00»
    Driver Info #0:
    Driver Status: gspca_zc3xx is active
    Driver Activation Cmd: «modprobe gspca_zc3xx»
    Config Status: cfg=new, avail=yes, need=no, active=unknown
    Attached to: #8 (Hub)

    В этом примере программа сообщает что нужно использовать драйвер gspca_zc3xx, он готов к использованию и осталось его только загрузить командой:

    Теперь еще раз проверьте есть ли устройство видео в каталоге /dev/.

    Обычно система в этом сообщении должна сказать какой драйвер нужен, а уже с помощью интернета вы сможете найти как его установить в своей системе. Если предыдущий драйвер не работает или у вас другая веб-камера можно попробовать также драйвер uvcvideo:

    sudo modprobe uvcvideo

    Не во всех дистрибутивы по умолчанию выставляются правильные права на доступ к файлу устройства веб-камеры. Добавим разрешение на чтение и запись для всех пользователей в группе video:

    sudo chown root:video /dev/video0

    $ sudo chmod g+rw /dev/video0

    Настройка веб-камеры linux завершена. Теперь давайте рассмотрим как использовать веб-камеру в Linux.

    Работа с веб-камерой в Linux

    Кроме стандартного использования web-камеры linux по назначению для видеозвонков в программе Skype, можно делать еще много вещей, например писать видео или делать фотографии. В Linux существует несколько способов записи видео с помощью веб-камеры.

    Рассмотрим самые распространенные из них. Во-первых, вы можете транслировать вывод веб камеры сразу на экран компьютера или ноутбука просто выполнив команду:

    mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 30

    А с помощью mencoder вы можете сразу писать вывод веб-камеры в avi файл:

    mencoder tv:// -tv driver=v4l2:width=320:height=240:device=/dev/video0 -ovc lavc -o webcam.avi

    Если в вашей системе не установлены эти утилиты, то вы можете использовать даже ffmpeg для записи видео с веб камеры:

    ffmpeg -f video4linux2 -s 320×240 -i /dev/video0 out.mpg

    Вам необязательно использовать для этой задачи консольные утилиты. Записывать видео с различных устройств позволяет и такая программа, как vlc. Запустите программу из главного меню, откройте меню файл, устройство захвата:

    Выберите устройство для записи видеокамера, файл устройства video0:

    Дальше нажмите на стрелочку около кнопки Play и выберите Convert (конвертировать) такое решение необходимо для сохранения данных в файл, если сохранять ничего не нужно, можно сразу нажать Play, чтобы проигрывать видео на экране в реальном времени:

    Здесь осталось только выбрать файл для сохранения в поле конвертировать в файл:

    После того как вы нажмете Старт начнется запись и засветится лампочка на веб-камере:

    В набор программ v4l-tools входит утилита streamer, которая позволяет выполнять различные действия веб-камерой в Linux, записывать фото и видео.

    Возможно, перед началом работы придется установить сам пакет:

    sudo apt-get install v4l-tools

    Теперь можно использовать программу. Для записи одного фрейма выполните:

    streamer -o foobar.ppm

    Следующая команда сохранит 10 фреймов:

    streamer -t 10 -r 2 -o foobar00.jpeg

    А такой командой можно записать видео, длительностью 30 секунд и с расширением 352 х 240 пикселей:

    streamer -t 0:30 -s 352×240 -r 24 -o movie.avi -f mjpeg -F stereo

    Выводы

    Вот и все. В этой статье была кратко рассмотрена настройка веб-камеры Linux. Если у вас остались вопросы, пишите комментарии!

    Оцените статью:

    Об авторе

    Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

    16 комментариев

    можно более конкретнее по настройке драйвера, например перевернутое изображение камеры вернуть в нормальное состояние.

    Читайте также:  Приватные браузеры для windows

    Купил лет 5 назад в Финляндии камеру Microsoft на упаковке коей был, помимо Окон и значок Пингваина по совместимости и кстати, почти на всех камках он присуствовал.
    Завелась из коробки!
    А, вот, до этого была Genius, так танцы с бубном и выкрутасы, чтобы завести её.

    hwinfo —usb Сорри в кедах нет такой команды, а какая нужна?

    Эта нужна, возможно ее нужно установить, в Ubuntu: sudo apt-get install hwinfo

    Доброй ночи.
    А как исправить ситуацию с постоянно работающей веб камерой, индикатор постоянно горит?

    Попросите сотрудников ФСБ больше не следить за вами

    Хорошая статья. Спасибо!
    Есть проблемка. Не совпадает соотношение сторон. То есть выставляю 1280×720 включаю просмотр с камеры и перед ней кладу квадратик. На экране выглядит как прямоугольник. Не подскажете почему так?

    $ sudo apt-get install hwinfo
    [sudo] пароль для user:
    Чтение списков пакетов… Готово
    Построение дерева зависимостей
    Чтение информации о состоянии… Готово
    E: Не удалось найти пакет hwinfo

    Так как же всё таки записывать видео? Лампочка на веб камере не светится, её кожется вообще нет. Камера просто передает изображение на монитор, и всё. Записвыать то — как, как прерывать запись, как сохранять. Ничего не ясно.

    $ lsusb
    Bus 001 Device 003: ID 0ac8:3610 Z-Star Microelectronics Corp.
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    evgen@evgen-System-Product-Name:

    $ lsusb
    Bus 001 Device 004: ID 0ac8:3610 Z-Star Microelectronics Corp.
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    evgen@evgen-System-Product-Name:

    $
    то при включении — камера определяется — работает.
    далее попользовался и она неработает
    Bus 001 Device 003 — Bus 001 Device 004:
    как это почнить?

    Все еще актуален вопрос о перевернутом изображении.
    Как исправить в новом Cкайпе? (Linux Mint 18.2 KDE Версия Скайпа 8.11.76.8)

    Здраствуйте! Возможно ли увеличить fps web камеры, если в настройках программ(V4L2, guvcview и. т.д. и т.п) доступно только: 320×240 fps5, 160×120 fps10?

    $ lsusb
    Bus 004 Device 002: ID 1871:0141 Aveo Technology Corp.

    $uvcdynctrl -f
    Listing available frame formats for device video0:
    Pixel format: YUYV (YUYV 4:2:2; MIME type: video/x-raw-yuv)
    Frame size: 320×240
    Frame rates: 5
    Frame size: 160×120
    Frame rates: 10

    Система: Xubuntu 18.04
    Камера: NEC ic-310

    И где потом искать это отснятое видео?

    Как использовать вэб камеру в качестве микрофона? Пробовал через arecord, пишется пустой файл.

    Не помогло
    Камера Sony A7 , вроде не хлам ) есть софт для винды setup.exе конечно же не сработал =))

    В общем появляется устройство /dev/video1 но никто не может его открыть.
    user@pc1:/media/user/F/Work/$ lsusb
    Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 005 Device 002: ID 276d:1160
    Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 016: ID 1a2c:0e24 China Resource Semico Co., Ltd
    Bus 003 Device 003: ID 10c4:8105 Cygnal Integrated Products, Inc.
    Bus 003 Device 006: ID 1908:2310 GEMBIRD
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
    Bus 001 Device 002: ID 041e:323d Creative Technology, Ltd
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    user@pc1:/media/user/F/Work/$

    Я уже на экспериментировался от души. Выяснил одну зависимость что 2-3-4 вебки не могут висеть на одном usb контроллере, плохо работают с другими устройствами выжирающими контроллер даже временно (просто укладывают вебку в зелёный экран). То есть нужно докупать PCI USB контроллеры. тогда работает. Но это правило работает если с Linux все нормально.
    Иногда Линь вообще ни в какую не желает дружить с вебкой, ругается что кабель ему не тот или неизвестная ошибка и т.п. Заметил эта особенность вылазит если ставить Linux с UNetbootin выбитая дистрибутив из списка. Из образа ISO подготовленного под Windows, таких косяков не было. Даже с вебкой и дровами от iMac 2006 года, всё работало прекрасно.
    Еще есть нюансы с прерываниями, пропускной способностью и реальным количеством свободных прерываний, которые я так понимаю играют основную роль при нормальной работе всех USB устройств.
    В общем лично мне год назад удалось на Ubuntu сделать домашнюю систему видеонаблюдения из 4-х USB Вебок, всё прекрасно работало, до переустановки системы, потом только слёзы (не только с USB но и с btrfs и жесткими дисками)! Имеет ли значение под какой конкретно системой подготавливается установщик OS флешь накопитель. Доказать связь не так просто, даже при наличии нескольких ПК на переустановки и подготовки флешек уходит слишком много времени и сил!!
    А вообще учитывая огромное количество устройств с встроенными вебками, которые можно выковыривать и подпаивать к кабелю USB,проблема довольно актуальная. Поскольку дешевле разобрать парочку ненужных мониторов от ноутбуков или моноблоков, чем покупать IP Камеры + свичи + кабель + питание.

    Источник

  • Оцените статью