Linux подключение видеокамеры usb

Настройка Веб-камеры в Линукс

За последние несколько лет стоимость функциональности операционной системы Linux не сократилась, а даже выросла. Хорошая аппаратная поддержка — одна из последних вещей, которых Linux не хватает по сравнению с другими операционными системами. На самом деле это не ошибка сообщества Linux. Производители оборудования виноваты в том, что они не поддерживают свое собственное оборудование в операционных системах, отличных от проприетарных.

Разработчики сообщества Linux на самом деле делают чудеса с поддержкой аппаратного обеспечения, и я благодарю их за проделанную большую работу. Поддержка веб-камеры была когда-то скрытой в списке оборудования, поддерживаемого Linux. Но сегодня у нас есть видеозахват Video4Linux, поддерживаемый драйверами веб-камеры UVC и GSPCA, и большинство веб-камер успешно работают на наших Linux-ПК.

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

Позвольте мне представить приложения, которые я использую на своем компьютере Ubuntu с помощью Logitech E3500, Logitech E2500 и многих других веб-камер без названия, чтобы настроить их видео и другие настройки.

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

Как вы поняли, в этой статье мы поговорим про настройку веб-камеры в дистрибутивах Linux. Настройка Веб-камеры в Linux является очень простой и сейчас мы расскажем вам как это сделать, самым простым способом. Если у вас возникнут какие-то вопросы — пишите их в форме для комментариев. Мы обязательно подскажем вам, что и как нужно сделать еще более детально.

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

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

Также стоит отметить, что драйвера этих программ поддерживают таких производителей как:

  • Samsung
  • Genius
  • Sony
  • Tevion
  • Trust
  • MediaForte
  • Micro Innovations
  • Hercules
  • Jenoptik
  • Typhoon
  • а также огромное количество других производителей.

Gtk-v4l не находится в репозиториях Ubuntu 17.10, поэтому вы должны добавить свой репозиторий в список источников. Вот команды для этого:

Второе приложение, которое я использую, называется Guvcview, и это что-то вроде Gtk-v4l plus Cheese. Вы можете управлять своими веб-камерами, записывать снимки, видео и многое другое. Guvcview, как Gtk-v4l, не находится в репозитории Ubuntu 17.10, поэтому вы должны сначала добавить его репозиторий для его установки:

Читайте также:  Linux графический редактор paint

На скриншоте выше вы можете увидеть пользовательский интерфейс Guvcview.

Я думаю, что эти два приложения — это средний пользователь, который должен контролировать свои веб-камеры в операционной системе Ubuntu Linux, вы согласны? если вы не являетесь средним пользователем и хотите управлять веб-камерой с помощью CLI с терминала, вы можете найти больше информации на нашем сайте.

Выводы

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

Если статья была для вас интересной, то поделитесь ссылкой на нее в своих социальных сетях. Это очень поможет в развитии нашего сообщества.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Как смонтировать 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).

Читайте также:  Векторная графика для linux
  • Install USB Camera or Webcam on Linux — Ubuntu (Октябрь 2021).

    Источник

    Захват видео с USB камер на устройствах под управлением Linux

    Предыстория

    1. Видео в разрешении FullHD (1920Х1080) или HD (1280х720) и нормальная частота кадров (чтобы можно было играть).
    2. Игрушку я планировал отдать детям, поэтому нужен был автостарт и поддержка подключения/отключения камеры.

    В общем хотелось что-то вроде этого:

    Ограничения

    Я не собирался искать решение, которое работает всегда и везде. Следующие ограничения меня вполне устраивали:

    1. Хороший WiFi сигнал.
    2. Ограниченное число подключений, приоритет отдавался случаю, когда есть всего один клиент.
    3. Камера поддерживает режим MJPG.

    HW и SW

    Предварительный анализ

    Код UVC драйвера оказался готов к добавлению различного рода “специальных” решений, и я легко нашел место, где надо скорректировать размер буфера (функция uvc_fixup_video_ctrl()). Более того, драйвер поддерживает набор quirks, которые позволяют поддерживать камеры с разного рода отклонениями от стандарта UVC. В общем, разработчики драйвера сделали лучшее, что возможно для поддержки зоопарка камер.

    Добавив коррекцию размера буфера, я получил стабильную работу в режиме 1280х720 и даже в режиме 1920х1080. Ура! Половина задачи решена!

    В поисках новых приключений

    Немного порадовавшись первой удаче, я вспомнил, что mjpg-streamer далек от совершенства. Наверняка можно сделать что-то простое, не такое универсальное как mjpg-streamer, но более подходящее для моих условий. Так я решил сделать uvc2http.

    В mjpg-streamer мне не понравилось использование нескольких потоков и копирование буферов. Это определило архитектуру решения: 1 поток и никакого копирования. Используя non-blocking IO, это делается достаточно просто: захватываем кадр и без копирования отсылаем его клиенту. Есть небольшая проблема: пока мы отсылаем данные из буфера, мы не можем вернуть буфер обратно в очередь. А пока буфер не в очереди, драйвер не может положить в него новый кадр. Но если размер очереди > 1, то это становится возможным. Число буферов определяет максимальное количество подключений, которое можно гарантированно обслуживать. Т.е., если я хочу гарантированно поддерживать 1 клиента, то 3-х буферов достаточно (в один буфер пишет драйвер, из второго отсылаем данные, третий в запасе, чтобы избежать конкуренции с драйвером за буфер при попытке получить новый кадр).

    Uvc2http

    Uvc2http состоит из двух компонентов: UvcGrabber и HttpStreamer. Первый отвечает за получение буферов (кадров) из очереди и возврат их обратно в очередь. Второй отвечает за обслуживание клиентов по HTTP. Есть еще немного кода, который связывает эти компоненты. Подробности можно посмотреть в исходниках.

    Неожиданная проблема

    Все было замечательно: приложение работало и в разрешении 1280х720 выдавало 20+ кадров/сек. Я делал косметические изменения в коде. После очередной порции изменений я замерил частоту кадров. Результат был удручающий — меньше 15 кадров. Я бросился искать, что же привело к деградации. Я потратил, наверное, 2 часа в течение которых частота уменьшалась с каждым замером до значения 7 кадров/сек. В голову лезли разные мысли о деградации из-за долгой работы роутера, из-за его перегрева. Это было что-то непонятное. В какой-то момент я отключил стримминг и увидел, что просто один захват (без стримминга) давал те же 7 кадров. Я даже начал подозревать проблемы с камерой. В общем какая-то чушь. Дело было вечером и камера, повернутая в окно, показывала что-то серое. Дабы сменить мрачное изображение я повернул камеру внутрь комнаты. И, о чудо! Частота кадров увеличилась до 15 и я все понял. Камера автоматически подстраивала время экспозиции и в какой-то момент это время стало больше длительности кадра при заданной частоте. За эти два часа случилось следующее: сначала плавно темнело (это был вечер), а потом я повернул камеру внутрь освещенной комнаты. Направив камеру на люстру я получил 20+ кадров/сек. Ура.

    Читайте также:  Synology drive download windows

    Другие проблемы и нюансы использования

    Результаты

    Ниже табличка с результатами сравнения mjpg-streamer и uvc2http. Если коротко — есть значительный выигрыш в потреблении памяти и небольшой выигрыш в частоте кадров и загрузке CPU.

    1280×720 1920×1080
    VSZ, KB, 1 client VSZ, KB, 2 clients CPU, %, 1 client CPU, %, 2 clients FPS, f/s, 1 client FPS, f/s, 2 clients VSZ, KB, 1 client VSZ, KB, 2 clients CPU, %, 1 client CPU, %, 2 clients FPS, f/s, 1 client FPS, f/s, 2 clients
    Mjpg-streamer 16860 19040 26 43 17.6 15 25456 25812 28 50 13.8 10
    uvc2http 3960 3960 26 43 22 19.6 7576 7576 28 43 15.5 12.2

    Ну и конечно же видео, которое я сделал вместе с детьми:

    Фото получившегося танка (получилось что-то вроде цыганской телеги):

    Использование

    Исходники находятся здесь. Для использования на PC Linux надо всего лишь собрать (при условии что вы не хотите патчить драйвер UVC). Утилита собирается с помощью CMake стандартным способом. Если же надо использовать в OpenWRT, то надо сделать дополнительные шаги:

    1. Скопировать содержимое директории OpenWrt-15.05 в корень репозитория OpenWRT. Эти файлы только для OpenWRT 15.05. Они описывают новый пакет для OpenWRT и патч для драйвера UVC.
    2. Если ваша камера также возвращает завышенный размер необходимого буфера, то надо добавить использование quirk UVC_QUIRK_COMPRESSION_RATE для вашей камеры в файле uvc_driver.c. Для этого надо сделать собственный патч для драйвера UVC. Как это сделать, описано здесь wiki.openwrt.org/doc/devel/patches. Вам необходимо добавить описание вашей камеры в массив uvc_ids. В качестве примера можно посмотреть на описание моей камеры:
  • Настроить сборку OpenWRT стандартный методом (http://wiki.openwrt.org/doc/howto/build). При настройке необходимо выбрать пакет uvc2http в меню Multimedia.
  • Собрать пакет uvc2http или полный образ (обязательно если вам необходим патч драйвера) для вашей целевой платформы. Если установить утилиту как пакет, то она будет запускаться при старте.
  • Установить пакет на устройство/обновить систему
  • Что дальше

    Решение состоит из двух частей: патч драйвера и другой алгоритм стримминга. Патч драйвера можно было бы включить в новую версию ядра линукса, но это спорное решение, так как оно основано на предположении о минимальном коэффициенте сжатия. Утилита же, на мой взгляд, хорошо подходит для использования на слабых системах (игрушках, домашних системах видеонаблюдения), и ее можно немного улучшить, добавив возможность задавать настройки камеры через параметры.

    Алгоритм стримминга можно улучшить так как есть запас по загрузке CPU и по ширине канала (я легко получал с роутера 50+ MBit подключая десяток клиентов). Также можно добавить поддержку звука.

    Источник

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