On Sat, Dec 14, 2024 at 04:38:49PM +0000, Laurence Tratt wrote:
> I tried an Elgato HD60 S+ capture card after the recent uvideo changes,
> but it doesn't seem to work -- even though a brief glance suggests
> uvideo should support it.
>
> The first thing that's a bit odd is that mjpeg isn't listed as being
> supported, even though the device supports it. `raw` is shown as
> supported, though with an unsupported pixel:
>
> $ ffplay -f v4l2 -list_formats all -i /dev/video0
> ...
> [video4linux2,v4l2 @ 0x410d675800] Raw : nv12 :
> NV12 : 3840x2160
> [video4linux2,v4l2 @ 0x410d675800] Raw : nv12 :
> NV12 : 3840x2160
> [video4linux2,v4l2 @ 0x410d675800] Raw : Unsupported : Unknown UC
> Format : 3840x2160
> [video4linux2,v4l2 @ 0x410d675800] Raw : nv12 :
> NV12 : 3840x2160
> /dev/video0: Immediate exit requested
>
> However, even `raw` doesn't seem to work, with ffmpeg stalling for about
> 10 seconds and then spitting out a couple of `ioctl` errors before
> giving up:
>
> $ ffmpeg -f v4l2 -i /dev/video0 -video_size 3840x2160 -input_format
> rawvideo -c:v copy out.nut
> ...
> [video4linux2,v4l2 @ 0x5d3cf962c00] ioctl(VIDIOC_DQBUF): Invalid argument
> Input #0, video4linux2,v4l2, from '/dev/video0':
> Duration: N/A, bitrate: 2388791 kb/s
> Stream #0:0: Video: rawvideo (NV12 / 0x3231564E), nv12, 3840x2160,
> 2388791 kb/s, 24 fps, 24 tbr, 1000k tbn
> Output #0, nut, to 'out.nut':
> Metadata:
> encoder : Lavf60.16.100
> Stream #0:0: Video: rawvideo (NV12 / 0x3231564E), nv12, 3840x2160,
> q=2-31, 2388791 kb/s, 24 fps, 24 tbr, 1000k tbn
> Stream mapping:
> Stream #0:0 -> #0:0 (copy)
> Press [q] to stop, [?] for help
> [video4linux2,v4l2 @ 0x5d3cf962c00] ioctl(VIDIOC_DQBUF): Invalid argument
> [in#0/video4linux2,v4l2 @ 0x5d3cf93b800] Error during demuxing: Invalid
> argument
> [in#0/video4linux2,v4l2 @ 0x5d3cf93b800] Error retrieving a packet from
> demuxer: Invalid argument
> [out#0/nut @ 0x5d3cf94f800] video:0kB audio:0kB subtitle:0kB other
> streams:0kB global headers:0kB muxing overhead: unknown
> [out#0/nut @ 0x5d3cf94f800] Output file is empty, nothing was encoded
> size= 0kB time=N/A bitrate=N/A speed=N/A
Same ffmeg ouput on my ThinkPad X13 Gen 3; it's always been this way, the webcam
never worked for me.
[video4linux2,v4l2 @ 0x7ac6322c000] ioctl(VIDIOC_DQBUF): Invalid argument
Although the format list looks better:
[video4linux2,v4l2 @ 0xa5f72436800] Compressed: mjpeg :
MJPEG : 1920x1080 320x180 320x240 352x288 424x240 640x360 640x480 848x480
960x540 1280x720
[video4linux2,v4l2 @ 0xa5f72436800] Raw : yuyv422 :
YUYV : 640x480 320x180 320x240 352x288 424x240 640x360 848x480 960x540 1280x720
1920x1080
dmesg:
OpenBSD 7.6-current (GENERIC.MP) #479: Fri Dec 13 23:10:38 MST 2024
<...>
uvideo0 at uhub1 port 4 configuration 1 interface 0 " Integrated Camera" rev
2.01/10.22 addr 4
video0 at uvideo0
usbdev:
addr 04: 174f:1812 , Integrated Camera
high speed, power 500 mA, config 1, rev 10.22, iSerial 0001
driver: uvideo0
driver: uvideo1
driver: ugen0
video(1):
video: ioctl VIDIOC_DQBUF: Invalid argument
--
Antoine