LINUX.ORG.RU

Выбор разрешения видеокамеры

 , , ,


0

3

Имею несколько USB-камер, везде указано какое-нибудь большое разрешение. Все они отдают только 640x480.
Сейчас пришла мне ещё одна камера. У неё указано максимальное разрешение 720x520 и минимальное 320x240. Отдаёт только 640x480. Думаю, в video4linux можно как-то установить разрешение. Но как?

★★★★★

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

Выбор разрешения осуществляется в программе, которая работает с камерой, а не в общесистемных настройках.

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

А разве не для этого нужен v4l2-ctl?

CYB3R ★★★★★
() автор топика
Ответ на: комментарий от sdio
Driver Info (not using libv4l2):
	Driver name   : uvcvideo
	Card type     : USB Camera
	Bus info      : usb-0000:00:14.0-2
	Driver version: 3.8.13
	Capabilities  : 0x84000001
		Video Capture
		Streaming
		Device Capabilities
	Device Caps   : 0x04000001
		Video Capture
		Streaming
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
	Width/Height  : 640/480
	Pixel Format  : 'YUYV'
	Field         : None
	Bytes per Line: 1280
	Size Image    : 614400
	Colorspace    : SRGB
Crop Capability Video Capture:
	Bounds      : Left 0, Top 0, Width 640, Height 480
	Default     : Left 0, Top 0, Width 640, Height 480
	Pixel Aspect: 1/1
Streaming Parameters Video Capture:
	Capabilities     : timeperframe
	Frames per second: 30.000 (30/1)
	Read buffers     : 0
                     brightness (int)    : min=-127 max=127 step=1 default=0 value=0
                       contrast (int)    : min=0 max=64 step=1 default=32 value=32
                     saturation (int)    : min=0 max=100 step=1 default=50 value=50
                            hue (int)    : min=-180 max=180 step=1 default=0 value=0
 white_balance_temperature_auto (bool)   : default=1 value=1
                          gamma (int)    : min=100 max=500 step=1 default=220 value=220
                           gain (int)    : min=0 max=100 step=1 default=0 value=0
           power_line_frequency (menu)   : min=0 max=2 default=1 value=1
      white_balance_temperature (int)    : min=2800 max=6500 step=10 default=4650 value=4650 flags=inactive
                      sharpness (int)    : min=0 max=8 step=1 default=4 value=4
         backlight_compensation (int)    : min=0 max=1 step=1 default=0 value=0
                  exposure_auto (menu)   : min=0 max=3 default=3 value=3
              exposure_absolute (int)    : min=50 max=10000 step=1 default=166 value=166 flags=inactive
CYB3R ★★★★★
() автор топика

У меня тоже mplayer по умолчанию 640х480 показывает, а вот если явно укажешь нужный размер, отдает "родное" разрешение. v4l2ctl нужно дергать, если тебе какие-то доп. настройки захочется поменять (скажем, отрубить автоэкспозицию или изменить формат потока).

Anon
()

В ~/.bashrc добавь

alias recwebcam='ffmpeg -b:v 1000k -f video4linux2 -s 720x520 -i /dev/video0 -sameq -f alsa -i hw:0,0 -f avi '
потом:
recwebcam my_record.mkv
Если сжатие на лету не потянет, придется писать raw.

Посмотреть:

mplayer tv:// -tv driver=v4l:width=720:height=520
возможно, еще какие-то опции надо будет добавить.

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

А можно ли каким-нибудь образом узнать, действительно ли камера отдаёт 720x520 или изображение просто растягивается v4l?

CYB3R ★★★★★
() автор топика

У меня камера sn9c20x-совместимая, но с максимальным разрешением 1280x960. Это разрешение удалось поднять только в винде.Модуль ядра только 160x120,320x240 и 640x480 поддерживает. Пробовал разные контроллирующие байты (указывающие режим) прописывать в коде модуля, но бесполезно.

mittorn ★★★★★
()
Ответ на: комментарий от CYB3R

Как вариант - поставить cheese, он показывает список доступных разрешений. И иногда может помочь попытка добавить режим в исходниках.

mittorn ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.