목표는 기존 USB 웹캠(장치 0733:0430)에서 비디오를 캡처하는 것입니다. 동영상을 저장하려고 하면 이런 오류가 발생합니다. (저는 ffmpeg와 avconv를 사용해 보았습니다.)
주문하다ffmpeg -f v4l2 -i /dev/video2 -s 160x120 tmp.mkv
[video4linux2,v4l2 @ 0x815280] Time per frame unknown
[video4linux2,v4l2 @ 0x815280] Cannot find a proper format for codec 'none' (id 0), pixel format 'none' (id -1)
Assertion *codec_id != AV_CODEC_ID_NONE failed at /build/buildd/ffmpeg-2.3/libavdevice/v4l2.c:802
몇 년 전에 실행했기 때문에 Linux에서 작동한다는 것을 알고 있습니다. 이제 어떻게 작동하게 만들까요?
아래는 기기에 대한 정보입니다.
장치 dmesg 출력
[53008.270283] usb 2-1.2: new full-speed USB device number 4 using ehci-pci
[53008.363405] usb 2-1.2: New USB device found, idVendor=0733, idProduct=0430
[53008.363416] usb 2-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[53008.779745] gspca_main: v2.14.0 registered
[53008.809496] gspca_main: spca505-2.14.0 probing 0733:0430
[53008.812508] usbcore: registered new interface driver spca505
ffmpeg -list_formats 1 -f v4l2 -i /dev/video2
[video4linux2,v4l2 @ 0xbed5e0] Raw : Unsupported : S505 : 160x120 176x144 320x240 352x288
v4l-정보/dev/video2
### v4l2 device info [/dev/video2] ###
general info
VIDIOC_QUERYCAP
driver : "spca505"
card : "USB Camera (0733:0430)"
bus_info : "usb-0000:00:1d.0-1.2"
version : 3.13.11
capabilities : 0x85000001 [VIDEO_CAPTURE,READWRITE,STREAMING,(null)]
standards
inputs
VIDIOC_ENUMINPUT(0)
index : 0
name : "spca505"
type : CAMERA
audioset : 0
tuner : 0
std : 0x0 []
status : 0x0 []
video capture
VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
index : 0
type : VIDEO_CAPTURE
flags : 0
description : "S505"
pixelformat : 0x35303553 [S505]
VIDIOC_G_FMT(VIDEO_CAPTURE)
type : VIDEO_CAPTURE
fmt.pix.width : 160
fmt.pix.height : 120
fmt.pix.pixelformat : 0x35303553 [S505]
fmt.pix.field : NONE
fmt.pix.bytesperline : 160
fmt.pix.sizeimage : 28800
fmt.pix.colorspace : SRGB
fmt.pix.priv : 0
controls
VIDIOC_QUERYCTRL(BASE+0)
id : 9963776
type : INTEGER
name : "Brightness"
minimum : 0
maximum : 255
step : 1
default_value : 127
flags : 32
답변1
사용하시면 될 것 같아요guvcview. 이것이 제가 기존 웹캠(크리에이티브 모델 CT6840)을 작동하게 만든 방법입니다.
그래도 ffmpeg 및 ffplay에서는 작동하지 않습니다. 누군가가 우리를 도와줄 수 있기를 바랍니다...