Проверить камеру для linux

How to check available webcams from the command line?

Is there a terminal command that lists all the webcams connected to my computer including the native one? Maybe using the ffmpeg package?

3 Answers 3

v4l2-ctl —list-devices

sudo apt-get install v4l-utils v4l2-ctl --list-devices 

Sample output with a single camera:

Integrated Camera (usb-0000:00:1a.0-1.6): /dev/video0 

video1 metadata device

On Ubuntu 19.10 Lenovo Thinkpad P51 however, it lists two such devices, video0 and video1 , but I only have one camera, and can only see images from video0 with ffplay . This has been asked at:

What happens is that /dev/video1 contains some kind of video metadata only and not the images as can been seen from:

sudo v4l2-ctl --device=/dev/video0 --all sudo v4l2-ctl --device=/dev/video1 --all 
 Device Caps : 0x04200001 Video Capture Device Caps : 0x04a00000 Metadata Capture 

How to see the camera image live

sudo apt install ffmpeg ffplay /dev/video0 

enter image description here

Another good one that shows only camera and nothing else:

sudo apt-get install guvcview guvcview 

Take a single picture from the command line

ffmpeg -f v4l2 -video_size 1280x720 -i /dev/video0 -frames 1 out.jpg 

Record a video from the command line

Parameters chosen based on «How to get camera parameters like resolution» below:

ffmpeg -f v4l2 -framerate 30 -video_size 1280x720 -input_format mjpeg -i /dev/video0 -c copy out.mkv 
Stream #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 1280x720, 30 fps, 30 tbr, 1k tbn, 1k tbc (default) 

If you choose wrong parameters, the resolution might be slow. The camera already outputs a specific encoded format, and the simplest way to record is to just copy that format as above:

TODO If I replace -c copy out.mkv with out.ogv to try and record directly to an open format (unlike MJPEG), I got a low resolution video.

Читайте также:  Обновление драйверов нвидиа линукс

Interactive image/video capture with preview

Until I learn how to run ffplay preview on one shell and capture at the same time from another shell with ffmpeg (they fight over the video device), I’ll have to lower myself to this amazing GUI program:

enter image description here

Read camera data from C/C++

A concrete C++ example that processes images from the camera on the GPU with OpenGL and shows it live: https://stackoverflow.com/questions/13693946/image-processing-with-glsl-shaders/40641014#40641014

How to get camera parameters like resolution

produces some good information:

ioctl: VIDIOC_ENUM_FMT Type: Video Capture [0]: 'YUYV' (YUYV 4:2:2) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 320x180 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 320x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 352x288 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 424x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 640x360 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 848x480 Interval: Discrete 0.050s (20.000 fps) Size: Discrete 960x540 Interval: Discrete 0.067s (15.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.100s (10.000 fps) [1]: 'MJPG' (Motion-JPEG, compressed) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 320x180 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 320x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 352x288 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 424x240 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 640x360 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 848x480 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 960x540 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.067s (15.000 fps) 

How to get the corresponding ffmpeg encodings

Читайте также:  Astra linux базовая настройка

v4l2-ctl —list-formats-ext gives the Linux kernel name of things, e.g . YUYV 4:2:2 . But to do stuff with ffmpeg , you need to know the ffmpeg nama sometimes. You can do it like this:

ffmpeg -f v4l2 -list_formats all -i /dev/video0 
[video4linux2,v4l2 @ 0x555ba7267240] Raw : yuyv422 : YUYV 4:2:2 : 640x480 320x180 320x240 352x288 424x240 640x360 848x480 960x540 1280x720 [video4linux2,v4l2 @ 0x555ba7267240] Compressed: mjpeg : Motion-JPEG : 640x480 320x180 320x240 352x288 424x240 640x360 848x480 960x540 1280x720 

This for example told us that the ffmpeg name for YUYV 4:2:2 is yuyv422 .

Just having some fun at this point

python -m pip install -U yolov5==7.0.9 yolov5 detect --source 0 

Источник

Как протестировать веб-камеру на Ubuntu 22.04 Jammy Jellyfish

Цель этого руководства — показать читателю быстрый способ тестирования веб-камеры на Убунту 22.04 Джемми Медуза. Обычно вы можете подключить веб-камеру и получить к ней мгновенный доступ. Если у вас есть встроенная камера, она также должна работать без дополнительной настройки.

В этом уроке вы узнаете:

  • Как установить приложение Сыр
  • Как проверить веб-камеру

Как протестировать веб-камеру на Ubuntu 22.04 Jammy Jellyfish

Требования к программному обеспечению и соглашения командной строки Linux
Категория Требования, соглашения или используемая версия программного обеспечения
Система Ubuntu 22.04 Джемми Медуза
Программное обеспечение Сыр
Другой Привилегированный доступ к вашей системе Linux как root или через судо команда.
Соглашения # — требует данного линукс команды выполняться с привилегиями root либо непосредственно от имени пользователя root, либо с помощью судо команда
$ — требует данного линукс команды выполняться как обычный непривилегированный пользователь.

Как протестировать веб-камеру на Ubuntu 22.04 пошаговая инструкция

$ dmesg | grep -i "Камера" [ 6.656705] uvcvideo 1-1:1.0: Тип объекта для объекта Камера 1 не был инициализирован! [ 6.656744] ввод: UVC-камера (046d: 0990) как /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/input/input13.

Отсюда вы должны увидеть некоторые подсказки, была ли веб-камера подключена и распознана системой Ubuntu 22.04. Другие команды, которые вы можете использовать для отображения доступных веб-камер в вашей системе:

$ ls -ltrh /dev/video* crw-rw+ 1 корневое видео 81, 1 января, 16, 09:27 /dev/video1. crw-rw+ 1 корневое видео 81, 0 16 января 09:27 /dev/video0.
$ v4l2-ctl --список-устройств. Камера UVC (046d: 0990) (usb-0000:00:14.0-1): /dev/video0 /dev/video1.
$ v4l2-ctl -d /dev/video0 --list-ctrls.
$ sudo подходящее обновление. $ sudo apt установить сыр.

Заключительные мысли

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

Читайте также:  Linux файл конфигурации wifi

Подпишитесь на новостную рассылку Linux Career Newsletter, чтобы получать последние новости, информацию о вакансиях, советы по карьере и рекомендации по настройке.

LinuxConfig ищет технического писателя (писателей), ориентированного на технологии GNU/Linux и FLOSS. В ваших статьях будут представлены различные руководства по настройке GNU/Linux и технологии FLOSS, используемые в сочетании с операционной системой GNU/Linux.

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

Как отключить всплывающее окно связки ключей в Ubuntu

Как отключить всплывающее окно связки ключей в Ubuntu

Брелок Ubuntu — это функция, которая собирает все ваши пароли в безопасном приложении (gnome-keyring) и будет использовать эти сохраненные пароли для автоматического входа в различные службы. Все ваши сохраненные пароли внутри связки ключей защище.

Как включить и отключить SSH для пользователя в Linux

Как включить и отключить SSH для пользователя в Linux

После установки SSH на вашем Linux-система, один из наиболее важных способов обеспечения безопасности — убедиться, что служба включена только для определенных учетных записей. Если у вас есть одна или несколько учетных записей, которым не требуетс.

Как установить Battle.net на рабочий стол Ubuntu 22.04 Linux

Как установить Battle.net на рабочий стол Ubuntu 22.04 Linux

Blizzard выпускает несколько чрезвычайно популярных игр для ПК, и их приложение Battle.net позволяет геймерам устанавливать эти игры на свои системы и поддерживать их в актуальном состоянии. Единственная проблема заключается в том, что Blizzard пр.

Источник

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