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 крутил, это как наложение эффекта «резкость» в Фотошопе, это не то.

★★★★★

Последнее исправление: ZenitharChampion (всего исправлений: 5)

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

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

О, а вот это интересно! Сейчас слажу туда и покручу.

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

Подкрутил, работает! Один вопрос решён. Спасибо!

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

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

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

anonymous
()

По п.1:

  • обновить VLC до актуальной версии.
  • alsamixer выбор устройства по F6, а не по F5
  • cat /proc/asound/cards
anonymous
()
Ответ на: комментарий от anonymous

Спасибо за совет. Начну с того, что пересоберу уже имеющуюся у меня версию с поддержкой PulseAudio. Странно что с её поддержкой не было собрано изначально в Packman.

ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от 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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.