linux 使用 v4l 查询、设置摄像头/相机分辨率、帧率
【代码】linux 使用 v4l 查询、设置摄像头/相机分辨率、帧率。
·
查询
查询连接的相机
ll /dev/video*
返回结果如下
/dev/video0 /dev/video1
查询相机支持的分辨率、帧率
# 将 [cam] 替换为具体相机,如 /dev/video0
v4l2-ctl --list-formats-ext -d [cam]
返回结果如下
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'YUYV' (YUYV 4:2:2)
Size: Discrete 640x480
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 352x288
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 320x240
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 176x144
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 160x120
Interval: Discrete 0.033s (30.000 fps)
查询相机当前分辨率
# 将 [cam] 替换为具体相机,如 /dev/video0
v4l2-ctl --get-fmt-video -d [cam]
返回结果如下
Format Video Capture:
Width/Height : 640/480
Pixel Format : 'YUYV' (YUYV 4:2:2)
Field : None
Bytes per Line : 1280
Size Image : 614400
Colorspace : sRGB
Transfer Function : Rec. 709
YCbCr/HSV Encoding: ITU-R 601
Quantization : Default (maps to Limited Range)
Flags :
查询相机当前帧率
# 将 [cam] 替换为具体相机,如 /dev/video0
v4l2-ctl --get-parm -d [cam]
返回结果如下
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 15.000 (15/1)
Read buffers : 0
设置
设置相机分辨率
# 将 [cam] 替换为具体相机,如 /dev/video0
v4l2-ctl --set-fmt-video=width=320,height=240,pixelformat=YUYV -d [cam]
设置相机帧率
# 将 [cam] 替换为具体相机,如 /dev/video0
v4l2-ctl --set-parm=30 -d [cam]
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)