LINUX.ORG.RU

Веб-камера и Linux

 , , , ,


0

1

Всем привет. У меня есть веб-камера SVEN IC-305. Я её использую как видеорегистратор: видео с неё идёт в файл, который, при необходимости, будет просмотрен.

 v4l2-ctl --device=/dev/video0 -D
Driver Info (not using libv4l2):
	Driver name   : uvcvideo
	Card type     : USB2.0 Camera
	Bus info      : usb-0000:00:02.1-2
	Driver version: 1.1.0
	Capabilities  : 0x04000001
		Video Capture
		Streaming

Полное инфо

Есть несколько проблем:

  1. Как я понял, на ней есть микрофон. VLC, при помощи которого я осуществляю запись, видит устройства hw0 и hw1, но со второго отказывается записывать звук. Версия VLC 2.2.4, с пульсой не скомпилена. Тыкания в pavucontrol не принесли результата. Я тогда выключил PulseAudio, после чего устройство hw1 пропало вообше (осталось только hw0). Устройство hw1 также недоступно в alsamixer (кнопка F5 для смены звуковой карты не активна), нет его и в YAST → Устройства → Звук, а также его не видно в /dev/snd. Что же это тогда такое? Может это и не вебка вовсе, а какое-нибудь dummy? Если это всё-таки вебка, как можно с неё получить звук через PulseAudio и заставить ALSA её увидеть?
  2. Фокусное расстояние выставляется неправильно, картинка размыта. Нагуглил команду сброса фокусного расстояния для камер Logitech: v4l2-ctl --device=/dev/video0 --set-ctrl=focus_auto=0 Попробовал - не работает. --help к команде выдаёт, что можно вывести список доступных параметров по --list-ctrl, и вот что доступно:
 v4l2-ctl --device=/dev/video0 --list-ctrls
                     brightness (int)    : min=0 max=100 step=1 default=30 value=30
                       contrast (int)    : min=0 max=100 step=1 default=57 value=57
                     saturation (int)    : min=0 max=4 step=1 default=2 value=2
                          gamma (int)    : min=1 max=8 step=1 default=3 value=3
           power_line_frequency (menu)   : min=0 max=2 default=1 value=1
                      sharpness (int)    : min=0 max=100 step=1 default=10 value=10

Как же сделать нормальное фокусное расстояние? И да, sharpness крутил, это как наложение эффекта «резкость» в Фотошопе, это не то.

Чтобы камера могла менять фокусное расстояние, это же нужно чтобы линза могла относительно приёмной матрицы двигаться? Ну или набор линз нужен, который, опять же, механически двигаться должен.
Разве хоть в одной вэб-камере это реализовано - двигатели для автоматического управления фокусным расстоянием?
В моей дешёвой вэб-камере, одной из самых дешёвых, можно пальцами покрутить «объектив» - он на резьбе немного выкручивается и это немного меняет фокусное расстояние (а если корпус вэб-камеры разобрать, тогда возможно в более широких пределах этот «объектив» выкручивать).

PeleWin ()
Ответ на: комментарий от PeleWin

Разве хоть в одной вэб-камере это реализовано - двигатели для автоматического управления фокусным расстоянием?

Полно таких вебок. И достаточно одного двигателя.

anonymous ()
Ответ на: комментарий от ZenitharChampion

Поупражняться — на здоровье. Для справки список либ, с которыми собран vlc в убунту:

        linux-vdso.so.1 (0x00007ffd5c3e8000)
        libvlc.so.5 => /usr/lib/x86_64-linux-gnu/libvlc.so.5 (0x00007fe21f30c000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe21f0ed000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe21eee9000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe21eaf8000)
        libvlccore.so.9 => /usr/lib/x86_64-linux-gnu/libvlccore.so.9 (0x00007fe21e7e8000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe21e44a000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fe21f736000)
        libidn.so.11 => /lib/x86_64-linux-gnu/libidn.so.11 (0x00007fe21e217000)
        libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fe21dfca000)
        libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007fe21dd46000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe21db3e000)
        liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fe21d918000)
        liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007fe21d6fc000)
        libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fe21d3e0000)
        libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fe21d1cb000)

Может я чего-то не замечаю, но в этом списке не видно намёка на pulseaudio. При этом пульса у меня работает. И микрофон вебки тоже.

anonymous ()