v4l2-ctl基本使用方法
v4l2-ctl使用帮助可以参考:https://www.mankier.com/1/v4l2-ctl
1 v4l2-ctl --list-devices
列出所有设备
USB 2.0 Camera: USB Camera (usb-0000:00:14.0-9):/dev/video0/dev/video1
一个USB camera对应两个设备:一个是图像/视频采集,一个是metadata采集。
2 v4l2-ctl --list-formats-ext --device path/to/video_device
列出指定设备的预览支持格式
v4l2-ctl --list-formats-ext --device /dev/video0
ioctl: VIDIOC_ENUM_FMTType: Video Capture[0]: 'MJPG' (Motion-JPEG, compressed)Size: Discrete 2592x1944Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 2560x1440Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Size: Discrete 2048x1536Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 1920x1080Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 1600x1200Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 1280x960Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 1280x720Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 1024x768Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 800x600Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 640x480Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 320x240Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 2592x1944Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)[1]: 'YUYV' (YUYV 4:2:2)Size: Discrete 2592x1944Interval: Discrete 0.200s (5.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 2048x1536Interval: Discrete 0.200s (5.000 fps)Size: Discrete 1920x1080Interval: Discrete 0.200s (5.000 fps)Size: Discrete 1600x1200Interval: Discrete 0.200s (5.000 fps)Size: Discrete 1280x960Interval: Discrete 0.200s (5.000 fps)Size: Discrete 1280x720Interval: Discrete 0.100s (10.000 fps)Size: Discrete 1024x768Interval: Discrete 0.100s (10.000 fps)Size: Discrete 800x600Interval: Discrete 0.050s (20.000 fps)Size: Discrete 640x480Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 320x240Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.050s (20.000 fps)Interval: Discrete 0.067s (15.000 fps)Interval: Discrete 0.100s (10.000 fps)Interval: Discrete 0.200s (5.000 fps)Size: Discrete 2592x1944Interval: Discrete 0.200s (5.000 fps)Interval: Discrete 0.200s (5.000 fps)
v4l2-ctl --list-formats-ext --device /dev/video1
ioctl: VIDIOC_ENUM_FMTType: Video Capture
3 v4l2-ctl --all --device path/to/video_device
获取指定设备的所有信息
v4l2-ctl --all --device /dev/video0
Driver Info:Driver name : uvcvideoCard type : USB 2.0 Camera: USB CameraBus info : usb-0000:00:14.0-9Driver version : 5.11.22Capabilities : 0x84a00001Video CaptureMetadata CaptureStreamingExtended Pix FormatDevice CapabilitiesDevice Caps : 0x04200001Video CaptureStreamingExtended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:Width/Height : 1920/1080Pixel Format : 'MJPG' (Motion-JPEG)Field : NoneBytes per Line : 0Size Image : 4147789Colorspace : DefaultTransfer Function : Default (maps to Rec. 709)YCbCr/HSV Encoding: Default (maps to ITU-R 601)Quantization : Default (maps to Full Range)Flags :
Crop Capability Video Capture:Bounds : Left 0, Top 0, Width 1920, Height 1080Default : Left 0, Top 0, Width 1920, Height 1080Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags:
Streaming Parameters Video Capture:Capabilities : timeperframeFrames per second: 30.000 (30/1)Read buffers : 0brightness 0x00980900 (int) : min=-64 max=64 step=1 default=0 value=0contrast 0x00980901 (int) : min=0 max=64 step=1 default=32 value=32saturation 0x00980902 (int) : min=0 max=128 step=1 default=70 value=70hue 0x00980903 (int) : min=-40 max=40 step=1 default=0 value=0
white_balance_temperature_auto 0x0098090c (bool) : default=1 value=1gamma 0x00980910 (int) : min=72 max=500 step=1 default=100 value=100gain 0x00980913 (int) : min=0 max=100 step=1 default=0 value=0power_line_frequency 0x00980918 (menu) : min=0 max=2 default=1 value=10: Disabled1: 50 Hz2: 60 Hzwhite_balance_temperature 0x0098091a (int) : min=2800 max=6500 step=1 default=4600 value=4600 flags=inactivesharpness 0x0098091b (int) : min=0 max=6 step=1 default=3 value=3backlight_compensation 0x0098091c (int) : min=0 max=2 step=1 default=1 value=1exposure_auto 0x009a0901 (menu) : min=0 max=3 default=3 value=31: Manual Mode3: Aperture Priority Modeexposure_absolute 0x009a0902 (int) : min=1 max=5000 step=1 default=157 value=157 flags=inactive
v4l2-ctl --all --device /dev/video1
Driver Info:Driver name : uvcvideoCard type : USB 2.0 Camera: USB CameraBus info : usb-0000:00:14.0-9Driver version : 5.11.22Capabilities : 0x84a00001Video CaptureMetadata CaptureStreamingExtended Pix FormatDevice CapabilitiesDevice Caps : 0x04a00000Metadata CaptureStreamingExtended Pix Format
Priority: 2
Format Metadata Capture:Sample Format : 'UVCH' (UVC Payload Header Metadata)Buffer Size : 1024
4 v4l2-ctl --device path/to/video_device --set-fmt-video=width=width,height=height,pixelformat=MJPG --stream-mmap --stream-to=path/to/output.jpg --stream-count=1
从特定设备以特定分辨率抓图
v4l2-ctl --device /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=MJPG --stream-mmap --stream-to=./output_1920.jpg --stream-count=1
v4l2-ctl --device /dev/video0 --set-fmt-video=width=2560,height=1440,pixelformat=MJPG --stream-mmap --stream-to=./output_2560.jpg --stream-count=1
v4l2-ctl --device /dev/video0 --set-fmt-video=width=2592,height=1944,pixelformat=MJPG --stream-mmap --stream-to=./output_2592.jpg --stream-count=1
FastStoneImageViewer对比看图,1920x1080先scale到2560*1080。
v4l2-ctl --device /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=YUYV --stream-mmap --stream-to=./output_1920.yuyv --stream-count=1
...
5 v4l2-ctl --device path/to/video_device --set-fmt-video=width=width,height=height,pixelformat=format --stream-mmap --stream-to=path/to/output --stream-count=number_of_frames_to_capture
从特定设备以特定分辨率抓流
v4l2-ctl --device /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=MJPG --stream-mmap --stream-to=./output --stream-count=100
支持264的可以编码为h264看
v4l2-ctl --device /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=H264 --stream-mmap --stream-to=./output --stream-count=100
v4l2-ctl --device /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=MJPG --stream-mmap --stream-to=./output.mjpg --stream-count=300
找到了可以播放mjpg格式的软件:完美解码的PotPlayer
注意:output.mjpg是输出的文件,默认用PotPlayer软件打开
v4l2-ctl --device /dev/video0 --set-fmt-video=width=2560,height=1440,pixelformat=MJPG --stream-mmap --stream-to=./output_2560.mjpg --stream-count=30
v4l2-ctl --device /dev/video0 --set-fmt-video=width=2592,height=1944,pixelformat=MJPG --stream-mmap --stream-to=./output_2592.mjpg --stream-count=300
6 v4l2-ctl --list-ctrls --device /path/to/video_device
列出设备控制值
v4l2-ctl --list-ctrls --device /dev/video0
brightness 0x00980900 (int) : min=-64 max=64 step=1 default=0 value=0contrast 0x00980901 (int) : min=0 max=64 step=1 default=32 value=32saturation 0x00980902 (int) : min=0 max=128 step=1 default=70 value=70hue 0x00980903 (int) : min=-40 max=40 step=1 default=0 value=0
white_balance_temperature_auto 0x0098090c (bool) : default=1 value=1gamma 0x00980910 (int) : min=72 max=500 step=1 default=100 value=100gain 0x00980913 (int) : min=0 max=100 step=1 default=0 value=0power_line_frequency 0x00980918 (menu) : min=0 max=2 default=1 value=1white_balance_temperature 0x0098091a (int) : min=2800 max=6500 step=1 default=4600 value=4600 flags=inactivesharpness 0x0098091b (int) : min=0 max=6 step=1 default=3 value=3backlight_compensation 0x0098091c (int) : min=0 max=2 step=1 default=1 value=1exposure_auto 0x009a0901 (menu) : min=0 max=3 default=3 value=3exposure_absolute 0x009a0902 (int) : min=1 max=5000 step=1 default=157 value=157 flags=inactive
7 v4l2-ctl --stream-mmap --stream-to-host <hostname>
Stream video from /dev/video0 and stream it over the network
8 v4l2-ctl --stream-dmabuf --export-device /dev/video2
Stream video from /dev/video0 using DMABUFs exported from /dev/video2
9 v4l2-ctl --stream-mmap --stream-out-mmap
Stream video from a memory-to-memory device
10 v4l2-ctl -d1 --stream-mmap --out-device /dev/video2 --stream-out-dmabuf
Stream video from a capture video device (/dev/video1) to an output video device (/dev/video2)
v4l2-ctl基本使用方法相关推荐
- HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP错误解决方法
在树莓派上运行在windows上正确的程序, 报错: HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP OpenCV Error: Assertion failed (s ...
- 深入理解Java线程池:ThreadPoolExecutor
线程池介绍 在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理.如果每次请求都新创建一个线程的话实现起来非常简便,但是存在一个问题: 如果并发的请求数量非常多,但每个线 ...
- JDK ThreadPoolExecutor核心原理与实践
作者:vivo互联网服务器团队-Xu Weiteng 一.内容概括 本文内容主要围绕JDK中的ThreadPoolExecutor展开,首先描述了ThreadPoolExecutor的构造流程以及内部 ...
- C++中友元类使用场合
在C++中我们可以將函数定义成类的友元函数,这样在函数中就可以访问类的私有成员.与函数相同,类也可以作为另一个类的友元类,在友元类中可以访问另外一个类的所有成员. 声明友元类的方法很简单,只需在类中写 ...
- 【多线程】ThreadPoolExecutor类源码解析----续(二进制相关运算)
前言 在之前阅读 ThreadPoolExecutor 源码的时候,发现代码里用到了一些二进制相关的位运算之类的代码,看起来有些费劲了,所以现在大概总结了一些笔记,二进制这东西吧,不难,就跟数学一样, ...
- [并发编程] - Executor框架#ThreadPoolExecutor源码解读03
文章目录 Pre execute源码分析 addWorker()解读 Worker解读 Pre [并发编程] - Executor框架#ThreadPoolExecutor源码解读02 说了一堆结论性 ...
- 深入理解 Java 线程池:ThreadPoolExecutor
线程池介绍 在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理.如果每次请求都新创建一个线程的话实现起来非常简便,但是存在一个问题: 如果并发的请求数量非常多,但每个线 ...
- Java并发之线程池ThreadPoolExecutor源码分析学习
线程池学习 以下所有内容以及源码分析都是基于JDK1.8的,请知悉. 我写博客就真的比较没有顺序了,这可能跟我的学习方式有关,我自己也觉得这样挺不好的,但是没办法说服自己去改变,所以也只能这样想到 ...
- 学硕论文选题计算机,计算机硕士论文题目分享
计算机硕士论文要确定题目不是一件容易的事情,下面是小编为大家整理的计算机硕士论文题目,希望对大家有帮助. 计算机硕士论文题目一 1.星连通圈网络和三角塔网络的若干性质研究 2.中职<计算机应用基 ...
- Java线程池ThreadPoolExecutor源码分析
继承关系 Executor接口 public interface Executor {void execute(Runnable command); } ExecutorService接口 publi ...
最新文章
- vim设置行号等一系列配置
- Java 必须掌握的 12 种 Spring 常用注解!
- VMware虚拟机中,RHEL系统下挂载、卸载新硬盘的方法
- Mac 使用SSH远程登录
- Web三大组件的注册——Servlet、Filter、Listener(监听三大作用域: ServletContext、HttpSession、ServletRequest )
- Maven配置之pom.xml(一)
- 智能一代云平台(四十二):关于异常的一些事
- Redis详细下载安装教程
- 程序员微信名昵称_推荐几个高逼格的微信昵称?
- 功率曲线k值_一种基于DTW的改进K-means的日负荷曲线聚类方法技术
- 该死!辛苦制作的PDF文档被人随意传播,甚至还被拿去卖钱?
- xtu1395 字符频度
- macbook pro VK-QF9700网线转换器驱动下载安装与生效
- 虚拟机中Linux系统克隆
- 请教:Java字符串内部的大括号,与方法参数中的...,代表什么意思呢?
- GUET七星瓢虫2022年考核题目ctf部分复现
- 【转】解析IAR的ILINK链接器icf配置文件
- 美丽邂逅——解疑用户体验设计
- Spring Boot 线上项目管理
- python爬虫爬取某宝化妆品信息