【V4L2采集视频】

v4l2的编程接口

摄像头打开的方式:open、close、ioctl

视频格式YUYV4:2:2

视频宽高

视频帧率fp

1.打开设备

2.配置(获取支持的格式)

3.设置设备采集格式

4.申请内核空间缓冲区队列(从用户层拿缓冲区)

5.把内核缓冲区队列映射到用户空间

6.开始采集视频(往缓存区里填数据)

7.读数据(上锁)

8.读数据(解锁)

9.结束采集

10.释放空间

11.关闭设备

第一步:打开设备

2.获取摄像头支持的格式

像素格式结构体:

摄像头采集格式:

判断获取是否成功:

4.申请缓冲区队列

一个命令对应结构体

查看结构体,进行配置

设置type

设置申请空间

5.空间映射

相关的命令

配置ioctl,设置结构体

循环查询4个空间,进行映射

先配置结构体,进行初始化:

映射的地址:

映射完,就能从用户空间拿地址,提高速度

6.开始采集数据(往队列中写数据)

DQBUF设置限定,QBUF解除限定

int整型数

从队列中提取一帧数据(先查那个有数据)

查看结构体

获取一张图片

停止采集

6.释放映射

函数:

7.视频显示

显示图片在虚拟led:

ctrl+alt+F

视频流采集

黑白电视丢掉uv

yuv:不同的格式,不同的压缩

眼睛对颜色偏差不明感,颜色可以通过下一帧色彩补充

YUYV:一个像素必须三个字节,传输的时候丢掉有个

取出八个像素

结构转换

相关推荐
橙橙笔记12 小时前
QT的学习第四部分
linux·qt·学习·音视频
AI视频工具指南1 天前
用 AI 能做哪些视频?按想交付的作品选做法
人工智能·aigc·音视频
希和20271 天前
免费AI视频生成工具汇总(国内优先,适合做漫剧、短视频,Obsidian笔记版)
人工智能·笔记·音视频
謓泽2 天前
【插件】用写网页的方式做视频?HyperFrames 让我重新理解了“做视频“这件事!
gpt·ai·大模型·音视频·媒体·claude·视频
无忧_wy2 天前
MoneyPrinterTurbo 自动化视频生成实战指南
运维·人工智能·自动化·音视频
联犀3 天前
联犀 Go SIMD 实战:视频转码从 16.5ms 到 5.46ms
开发语言·golang·音视频
9527华安3 天前
FPGA纯verilog实现DP视频接口,支持2K60帧分辨率,提供3套工程源码和技术支持
fpga开发·音视频·dp
MetaEnchanter3 天前
视频章节怎么整理:填好时间点,导出前检查这几处
音视频
小豆庄3 天前
测试视频里的人脸车牌敏感信息自动化脱敏方案
计算机视觉·目标跟踪·ffmpeg·音视频·边缘计算·视频·敏捷流程