Linux中V4L2使用

Video for Linuxtwo(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是linux操作系统下用于采集图片、视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。在远程会议、可视电话、视频监控系统和嵌入式多媒体终端中都有广泛的应用。

1. 命令

查看所有参数

bash 复制代码
v4l2-ctl -d  /dev/video0 --all

查看所有的摄像头

bash 复制代码
ls  /dev/video*

查看不同参数的具体意思

bash 复制代码
v4l2-ctl help

2. 代码库

2.1. 设备的打开和关闭

cpp 复制代码
#include <fcntl.h>

int open(const char *device_name, int flags);

#include <unistd.h>

int clo se(int fd);

2.2. 查询设备属性

相关函数:

cpp 复制代码
int ioctl(int fd, int request, struct v4l2_capability *argp);

相关结构体:

cpp 复制代码
struct v4l2_capability
{
	u8 driver[16]; // 驱动名字
	u8 card[32]; // 设备名字
	u8 bus_info[32]; // 设备在系统中的位置
	u32 version; // 驱动版本号
	u32 capabilities; // 设备支持的操作
	u32 reserved[4]; // 保留字段
};

参考文献

https://www.cnblogs.com/emouse/archive/2013/03/04/2943243.html]

和菜鸟一起学linux之V4L2摄像头应用流程_东月之神-CSDN博客

Linux V4L2之camera - Vedic - 博客园

ubuntu下查看USB摄像头参数_jxdong-CSDN博客_ubuntu 查看摄像头参数

相关推荐
无聊的小坏坏8 分钟前
从零开始:C++ TCP 服务器实战教程
服务器·c++·tcp/ip
行思理24 分钟前
docker新手教程
运维·docker·容器
乐十九1 小时前
IIC总线原理详解
linux
TG_yunshuguoji2 小时前
亚马逊云渠道商:本地SSD缓存如何保障数据安全?
运维·服务器·安全·云计算·aws
mi20062 小时前
银河麒麟v10 sp1更改data目录挂载
linux·运维
tft36402 小时前
An attempt was made to access a socket in a way forbidden by its access
服务器·网络·tcp/ip
tan180°2 小时前
Linux网络HTTP(下)(9)
linux·网络·http
半路_出家ren3 小时前
设计一个学生管理系统的数据库
linux·数据库·sql·mysql·网络安全·数据库管理员
着迷不白3 小时前
华为堡垒机
linux·运维·服务器·centos
飘忽不定的bug3 小时前
Atlas 200I AI加速模块-修改和打包文件系统
linux·ascend310b