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

Reply via email to