- Настройка Веб-камеры в Линукс
- Настройка Веб-камеры в Linux
- Работа с веб-камерой в Linux
- Выводы
- Как смонтировать USB-камеру в Ubuntu — Вокруг-Дом — 2021
- Table of Contents:
- Шаг 1
- Шаг 2
- Шаг 3
- Как смонтировать SD-карту как жесткий диск
- Как смонтировать SD-карту в Linux
- Как смонтировать физические USB-устройства в Virtualbox VM
- Install USB Camera or Webcam on Linux — Ubuntu (Октябрь 2021).
- Захват видео с USB камер на устройствах под управлением Linux
- Предыстория
- Ограничения
- HW и SW
- Предварительный анализ
- В поисках новых приключений
- Uvc2http
- Неожиданная проблема
- Другие проблемы и нюансы использования
- Результаты
- Использование
- Что дальше
Настройка Веб-камеры в Линукс
За последние несколько лет стоимость функциональности операционной системы 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, поэтому вы должны сначала добавить его репозиторий для его установки:
На скриншоте выше вы можете увидеть пользовательский интерфейс 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).
Источник
Захват видео с USB камер на устройствах под управлением Linux
Предыстория
- Видео в разрешении FullHD (1920Х1080) или HD (1280х720) и нормальная частота кадров (чтобы можно было играть).
- Игрушку я планировал отдать детям, поэтому нужен был автостарт и поддержка подключения/отключения камеры.
В общем хотелось что-то вроде этого:
Ограничения
Я не собирался искать решение, которое работает всегда и везде. Следующие ограничения меня вполне устраивали:
- Хороший WiFi сигнал.
- Ограниченное число подключений, приоритет отдавался случаю, когда есть всего один клиент.
- Камера поддерживает режим 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+ кадров/сек. Ура.
Другие проблемы и нюансы использования
Результаты
Ниже табличка с результатами сравнения 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, то надо сделать дополнительные шаги:
- Скопировать содержимое директории OpenWrt-15.05 в корень репозитория OpenWRT. Эти файлы только для OpenWRT 15.05. Они описывают новый пакет для OpenWRT и патч для драйвера UVC.
- Если ваша камера также возвращает завышенный размер необходимого буфера, то надо добавить использование quirk UVC_QUIRK_COMPRESSION_RATE для вашей камеры в файле uvc_driver.c. Для этого надо сделать собственный патч для драйвера UVC. Как это сделать, описано здесь wiki.openwrt.org/doc/devel/patches. Вам необходимо добавить описание вашей камеры в массив uvc_ids. В качестве примера можно посмотреть на описание моей камеры:
Что дальше
Решение состоит из двух частей: патч драйвера и другой алгоритм стримминга. Патч драйвера можно было бы включить в новую версию ядра линукса, но это спорное решение, так как оно основано на предположении о минимальном коэффициенте сжатия. Утилита же, на мой взгляд, хорошо подходит для использования на слабых системах (игрушках, домашних системах видеонаблюдения), и ее можно немного улучшить, добавив возможность задавать настройки камеры через параметры.
Алгоритм стримминга можно улучшить так как есть запас по загрузке CPU и по ширине канала (я легко получал с роутера 50+ MBit подключая десяток клиентов). Также можно добавить поддержку звука.
Источник