Linux查看相机支持帧率和格式

发布于:2025-09-06 ⋅ 阅读:(19) ⋅ 点赞:(0)

在 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_FMT
    Index       : 0
    Type        : Video Capture
    Pixel Format: 'MJPG' (Motion-JPEG)
    Name        : Motion-JPEG
        Size: Discrete 1280x720
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
            Interval: Discrete 0.050s (20.000 fps)
        Size: Discrete 640x480
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.040s (25.000 fps)
    Index       : 1
    Pixel Format: 'YUYV' (YUYV 4:2:2)
    Name        : YUYV 4:2:2
        Size: Discrete 1280x720
            Interval: Discrete 0.033s (30.000 fps)
        Size: Discrete 640x480
            Interval: Discrete 0.033s (30.000 fps)

关键信息:

  1. Pixel Format:支持的视频格式(如 MJPG、YUYV、NV12 等)。

  2. Size:分辨率(如 1280x720、640x480)。

  3. 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

网站公告

今日签到

点亮在社区的每一天
去签到