前回の記事で"/dev/video0"という名前でデバイスを認識したものの、このvideo0の正体が不明で色々調べていました。
debian系では外部カメラ用ユーティリティライブラリとしてvideo for linux 略してv4lというのがあり
これを使えば中身を確認できるってわけです。
実際のところ
デフォのRasPiなら入っているはずですが、念のため。
$ sudo apt install v4l-utils
早速カメラをみてみましょう。
$ v4l2-ctl --list-devices bcm2835-codec-decode (platform:bcm2835-codec): /dev/video10 /dev/video11 /dev/video12 SIT USB2.0 Camera: SIT USB2.0 C (usb-3f980000.usb-1.3): /dev/video0 /dev/video1
list-formatsで、モジュールが使える様式の情報が出てきます。
$ v4l2-ctl -d /dev/video0 --list-formats ioctl: VIDIOC_ENUM_FMT Type: Video Capture [0]: 'MJPG' (Motion-JPEG, compressed) [1]: 'YUYV' (YUYV 4:2:2)
”ext”をつけると、さらに詳しい情報が。
fps値の目安なんかでるんですね。
$ v4l2-ctl -d /dev/video0 --list-formats-ext ioctl: VIDIOC_ENUM_FMT Type: Video Capture [0]: 'MJPG' (Motion-JPEG, compressed) Size: Discrete 2592x1944 Interval: Discrete 0.067s (15.000 fps) Size: Discrete 1280x960 Interval: Discrete 0.067s (15.000 fps) Size: Discrete 1024x768 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 1600x1200 Interval: Discrete 0.067s (15.000 fps) Size: Discrete 2048x1536 Interval: Discrete 0.067s (15.000 fps) Size: Discrete 800x600 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 1920x1080 Interval: Discrete 0.067s (15.000 fps) [1]: 'YUYV' (YUYV 4:2:2) Size: Discrete 2592x1944 Interval: Discrete 0.500s (2.000 fps) Size: Discrete 1280x960 Interval: Discrete 0.200s (5.000 fps) Size: Discrete 1024x768 Interval: Discrete 0.100s (10.000 fps) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.100s (10.000 fps) Size: Discrete 1600x1200 Interval: Discrete 0.200s (5.000 fps) Size: Discrete 2048x1536 Interval: Discrete 0.500s (2.000 fps) Size: Discrete 800x600 Interval: Discrete 0.050s (20.000 fps) Size: Discrete 1920x1080 Interval: Discrete 0.500s (2.000 fps)