Linux查看相机支持帧率和格式
Linux查看相机支持帧率和格式
- 1. 使用 v4l2-ctl 工具
- 1. 安装 v4l-utils
- 2. 查看相机设备
- 2. 使用 ffmpeg 查看相机参数
在 Linux 系统中,要查看相机(如 USB 摄像头或内置摄像头)支持的 帧率(FPS) 和 视频格式(Pixel Format),可以使用以下工具和方法:
1. 使用 v4l2-ctl 工具
v4l2-ctl 是 Video4Linux2 (V4L2) 的实用工具,用于查询和控制视频设备(如摄像头)。
1. 安装 v4l-utils
sudo apt install v4l-utils # Debian/Ubuntu
sudo dnf install v4l-utils # Fedora
sudo pacman -S v4l-utils # Arch Linux
2. 查看相机设备
v4l2-ctl --list-devices
输出示例:
/dev/video0: Integrated Camera (usb-0000:00:14.0-1):/dev/video1/dev/media0
这里 /dev/video0 是相机设备节点。查看支持的视频格式(Pixel Formats)
v4l2-ctl -d /dev/video0 --list-formats-ext
输出示例:
ioctl: VIDIOC_ENUM_FMTIndex : 0Type : Video CapturePixel Format: 'MJPG' (Motion-JPEG)Name : Motion-JPEGSize: Discrete 1280x720Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Size: Discrete 640x480Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Index : 1Pixel Format: 'YUYV' (YUYV 4:2:2)Name : YUYV 4:2:2Size: Discrete 1280x720Interval: Discrete 0.033s (30.000 fps)Size: Discrete 640x480Interval: Discrete 0.033s (30.000 fps)
关键信息:
-
Pixel Format:支持的视频格式(如 MJPG、YUYV、NV12 等)。
-
Size:分辨率(如 1280x720、640x480)。
-
Interval:帧间隔时间(0.033s ≈ 30 FPS)。
2. 使用 ffmpeg 查看相机参数
ffmpeg 也可以列出相机支持的格式和帧率:
ffmpeg -f v4l2 -list_formats all -i /dev/video0
[video4linux2,v4l2 @ 0x55a6a3b8e0] Raw : yuyv422 : YUYV 4:2:2
[video4linux2,v4l2 @ 0x55a6a3b8e0] Compressed: mjpeg : Motion-JPEG
使用工具(如ffplay或cheese)打开每个节点,观察输出内容:
ffplay -f v4l2 /dev/video0
检查内核日志:
dmesg | grep video