UVC デバイスの映像を任意の解像度と FPS で見る方法
macOS の場合
ffplay(ffmpeg に入っている映像ビューアー)を使う。
利用可能なモードを確認
ffmpeg -hide_banner -f avfoundation -i "0:" でサポートされている解像度と FPS の組み合わせを表示する。
-hide_banner ffmpeg 特有のよくわかんない冒頭の stdout が消える
-f avfoundation 入力フォーマット。ここでは macOS の AVFoundation を選択
-i "0:" 入力デバイス。モード一覧で察する。
code:list mode
$ ffmpeg -hide_banner -f avfoundation -i "0:"
2025-01-10 17:25:03.919 ffmpeg44969:11744519 WARNING: Add NSCameraUseContinuityCameraDeviceType to your Info.plist to use AVCaptureDeviceTypeContinuityCamera.
avfoundation @ 0x13d7048d0 Selected framerate (29.970030) is not supported by the device.
avfoundation @ 0x13d7048d0 Supported modes:
avfoundation @ 0x13d7048d0 640x480@30.000030 30.000030fps
avfoundation @ 0x13d7048d0 640x480@25.000000 25.000000fps
avfoundation @ 0x13d7048d0 640x480@20.000000 20.000000fps
avfoundation @ 0x13d7048d0 640x480@15.000015 15.000015fps
avfoundation @ 0x13d7048d0 640x480@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 640x480@5.000000 5.000000fps
avfoundation @ 0x13d7048d0 640x480@30.000030 30.000030fps
avfoundation @ 0x13d7048d0 640x480@25.000000 25.000000fps
avfoundation @ 0x13d7048d0 640x480@20.000000 20.000000fps
avfoundation @ 0x13d7048d0 640x480@15.000015 15.000015fps
avfoundation @ 0x13d7048d0 640x480@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 640x480@5.000000 5.000000fps
avfoundation @ 0x13d7048d0 800x600@30.000030 30.000030fps
avfoundation @ 0x13d7048d0 800x600@25.000000 25.000000fps
avfoundation @ 0x13d7048d0 800x600@20.000000 20.000000fps
avfoundation @ 0x13d7048d0 800x600@15.000015 15.000015fps
avfoundation @ 0x13d7048d0 800x600@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 800x600@5.000000 5.000000fps
avfoundation @ 0x13d7048d0 800x600@20.000000 20.000000fps
avfoundation @ 0x13d7048d0 1280x720@30.000030 30.000030fps
avfoundation @ 0x13d7048d0 1280x720@25.000000 25.000000fps
avfoundation @ 0x13d7048d0 1280x720@20.000000 20.000000fps
avfoundation @ 0x13d7048d0 1280x720@15.000015 15.000015fps
avfoundation @ 0x13d7048d0 1280x720@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 1280x720@5.000000 5.000000fps
avfoundation @ 0x13d7048d0 1280x720@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 1280x960@30.000030 30.000030fps
avfoundation @ 0x13d7048d0 1280x960@25.000000 25.000000fps
avfoundation @ 0x13d7048d0 1280x960@20.000000 20.000000fps
avfoundation @ 0x13d7048d0 1280x960@15.000015 15.000015fps
avfoundation @ 0x13d7048d0 1280x960@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 1280x960@5.000000 5.000000fps
Last message repeated 1 times
avfoundation @ 0x13d7048d0 1600x1200@30.000030 30.000030fps
avfoundation @ 0x13d7048d0 1600x1200@25.000000 25.000000fps
avfoundation @ 0x13d7048d0 1600x1200@20.000000 20.000000fps
avfoundation @ 0x13d7048d0 1600x1200@15.000015 15.000015fps
avfoundation @ 0x13d7048d0 1600x1200@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 1600x1200@5.000000 5.000000fps
Last message repeated 1 times
avfoundation @ 0x13d7048d0 1920x1080@30.000030 30.000030fps
avfoundation @ 0x13d7048d0 1920x1080@25.000000 25.000000fps
avfoundation @ 0x13d7048d0 1920x1080@20.000000 20.000000fps
avfoundation @ 0x13d7048d0 1920x1080@15.000015 15.000015fps
avfoundation @ 0x13d7048d0 1920x1080@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 1920x1080@5.000000 5.000000fps
Last message repeated 1 times
avfoundation @ 0x13d7048d0 2048x1536@30.000030 30.000030fps
avfoundation @ 0x13d7048d0 2048x1536@25.000000 25.000000fps
avfoundation @ 0x13d7048d0 2048x1536@20.000000 20.000000fps
avfoundation @ 0x13d7048d0 2048x1536@15.000015 15.000015fps
avfoundation @ 0x13d7048d0 2048x1536@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 2048x1536@5.000000 5.000000fps
avfoundation @ 0x13d7048d0 2048x1536@3.000000 3.000000fps
avfoundation @ 0x13d7048d0 2592x1944@30.000030 30.000030fps
avfoundation @ 0x13d7048d0 2592x1944@25.000000 25.000000fps
avfoundation @ 0x13d7048d0 2592x1944@20.000000 20.000000fps
avfoundation @ 0x13d7048d0 2592x1944@15.000015 15.000015fps
avfoundation @ 0x13d7048d0 2592x1944@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 2592x1944@5.000000 5.000000fps
avfoundation @ 0x13d7048d0 2592x1944@1.000000 1.000000fps
avfoundation @ 0x13d7048d0 3264x2448@15.000015 15.000015fps
avfoundation @ 0x13d7048d0 3264x2448@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 3264x2448@5.000000 5.000000fps
avfoundation @ 0x13d7048d0 3264x2448@1.000000 1.000000fps
avfoundation @ 0x13d7048d0 3840x2160@30.000030 30.000030fps
avfoundation @ 0x13d7048d0 3840x2160@25.000000 25.000000fps
avfoundation @ 0x13d7048d0 3840x2160@20.000000 20.000000fps
avfoundation @ 0x13d7048d0 3840x2160@15.000015 15.000015fps
avfoundation @ 0x13d7048d0 3840x2160@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 3840x2160@5.000000 5.000000fps
avfoundation @ 0x13d7048d0 3840x2160@1.000000 1.000000fps
avfoundation @ 0x13d7048d0 3840x2880@15.000015 15.000015fps
avfoundation @ 0x13d7048d0 3840x2880@10.000000 10.000000fps
avfoundation @ 0x13d7048d0 3840x2880@5.000000 5.000000fps
avfoundation @ 0x13d7048d0 3840x2880@1.000000 1.000000fps
in#0 @ 0x600001cc4900 Error opening input: Input/output error
Error opening input file 0:.
Error opening input files: Input/output error
映像を見る
ffplay -f avfoundation -video_size 3840x2880 -framerate 1 -i "0:"
-video_size 3840x2880 映像の解像度。一覧から選んで入力する
-framerate 1 映像の FPS。一覧から選んで入力する
Linux の場合
v4l2-ctl を使う。
code:v4l2-ctl
$ v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
0: 'MJPG' (Motion-JPEG, compressed)
Size: Discrete 640x480
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 320x240
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 424x240
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 480x360
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 640x360
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 800x448
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 848x480
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 800x600
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 960x540
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1280x720
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1280x960
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1600x1200
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 2048x1536
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 2592x1944
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 3840x2160
Interval: Discrete 0.033s (30.000 fps)
1: 'YUYV' (YUYV 4:2:2)
Size: Discrete 640x480
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 320x240
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 424x240
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 480x360
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 640x360
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 800x448
Interval: Discrete 0.050s (20.000 fps)
Size: Discrete 848x480
Interval: Discrete 0.050s (20.000 fps)
Size: Discrete 800x600
Interval: Discrete 0.050s (20.000 fps)
参考
ffmpeg でUSBカメラの映像を録画しつつ ffplay でモニターする #ffmpeg - Qiita
ffmpeg チートシート(macOS版) #macOS - Qiita
https://scrapbox.io/files/6780da4850842608c1c14f5b.png