Главная >> Инструкции >> Настройка веб-камеры Linux

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

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

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


Содержание статьи

Выбор веб-камеры для 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. Но для некоторых есть сторонние драйвера, так что еще есть шанс заставить все это работать. Сначала посмотрим что скажет система о состоянии драйверов нашей веб камеры:

hwinfo --usb

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, он готов к использованию и осталось его только загрузить командой:

modprobe 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 320x240 -i /dev/video0 out.mpg

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

vlc

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

vlc1

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

vlc2

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

vlc3

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

vlc4

В набор программ 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 352x240 -r 24 -o movie.avi -f mjpeg -F stereo

Выводы

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

Pеклама
Посмотреть детали

Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали

17 комментариев к “Настройка веб-камеры Linux”

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

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

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

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

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

    Ответить
  6. evgen@evgen-System-Product-Name:~$ 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:
    как это почнить?

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

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

    Терминал:
    user@user:~$ lsusb
    Bus 004 Device 002: ID 1871:0141 Aveo Technology Corp.

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

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

    Ответить
  9. Не помогло
    Камера 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/$

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

    Ответить
  11. mjpg_streamer
    Трансляция видео с web камеры в локальную сеть:
    /usr/bin/mjpg_streamer -i "input_uvc.so -yuv" -o "output_http.so -p 8090"
    (опция "-yuv" нужна если камера не поддерживает MJPEG)
    В браузере клиента открыть адресс: :8090/?action=stream
    Пример: http://10.0.0.100:8090/?action=stream

    Ответить

Оставьте комментарий