首页
›
Linux内核与驱动
›
003-Linux V4L2摄像头驱动
›
《mmap映射与poll机制实现V4L2帧采集》
VIP10
本课程属于:003-Linux V4L2摄像头驱动
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
mmap映射与poll机制实现V4L2帧采集
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
V4L2概述
V4L2架构 · V4L2在Linux多媒体框架中的位… · V4L2设备节点
V4L2
架构
02
V4L2核心数据结构
struct video_devic… · struct v4l2_device · struct vb2_queue
V4L2
核心数据结构
03
V4L2 ioctl接口
VIDIOC_QUERYCAP · VIDIOC_ENUM_FMT · VIDIOC_S_FMT等关键ioc…
V4L2
ioctl
04
V4L2缓冲区管理
缓冲区类型(单平面/多平面) · 缓冲区状态机
V4L2
缓冲区管理
05
mmap内存映射原理
mmap系统调用 · 物理地址到用户空间的映射 · 页表建立
mmap
内存映射原理
06
V4L2 mmap实现
VIDIOC_REQBUFS · VIDIOC_QUERYBUF · VIDIOC_QBUF
V4L2
mmap
07
用户空间mmap映射
mmap()函数参数详解 · 映射V4L2缓冲区到用户空间
mmap
用户空间
08
V4L2帧采集流程
打开设备->设置格式->请求缓冲区-…
V4L2
帧采集流程
09
poll机制原理
poll/select/epoll系… · 等待队列 · 驱动poll回调
poll
机制原理
10
V4L2 poll实现
v4l2_poll()函数 · POLLIN/POLLOUT事件 · 等待队列唤醒
V4L2
poll
11
用户空间poll使用
poll()函数参数 · 超时设置 · 事件检测
poll
用户空间
12
帧采集循环设计
while循环+poll等待+出队处…
帧采集循环设计
while
13
单缓冲区模式
单缓冲区mmap映射 · 帧采集时序 · 优缺点分析
单缓冲区模式
mmap
14
多缓冲区模式
多缓冲区循环队列 · 流水线并行 · 帧率提升
多缓冲区模式
多缓冲区循环队列
15
缓冲区队列管理
入队顺序 · 出队顺序 · 缓冲区复用策略
缓冲区队列管理
入队顺序
16
帧数据读取
从mmap映射地址读取YUV/RGB… · 数据格式转换
帧数据读取
mmap
17
帧时间戳
V4L2时间戳类型 · 获取帧时间戳 · 时间戳同步
帧时间戳
V4L2
18
错误处理
设备打开失败 · ioctl错误 · 缓冲区溢出
错误处理
设备打开失败
19
性能优化
缓冲区数量选择 · mmap vs userptr vs…
性能优化
缓冲区数量选择
20
多平面格式支持
NV12/YUV420多平面 · V4L2_PIX_FMT_NV12采…
多平面格式支持
NV12/YUV420
21
V4L2控制
VIDIOC_S_CTRL · 亮度/对比度/饱和度调节
V4L2
控制
22
帧率控制
VIDIOC_S_PARM · 帧率设置 · 帧间隔计算
帧率控制
VIDIOC
23
裁剪与缩放
VIDIOC_S_CROP · VIDIOC_S_SELECTION · 缩放因子
裁剪
缩放
24
JPEG编码帧采集
MJPEG格式 · 压缩帧处理 · JPEG解码
JPEG
编码帧采集
25
多路摄像头采集
多设备节点 · 多线程poll · 帧同步
多路摄像头采集
多设备节点
26
中断与轮询模式对比
中断驱动vs轮询 · 实时性分析
轮询模式对比
vs
27
V4L2与FFmpeg集成
V4L2采集->FFmpeg编码->…
V4L2
FFmpeg
28
V4L2与OpenCV集成
V4L2采集->OpenCV处理->…
V4L2
OpenCV
29
调试技巧
v4l2-ctl工具 · strace跟踪ioctl · dmesg内核日志
调试技巧
v4l2-ctl
30
实战项目
USB摄像头实时采集显示程序(C语言…
实战项目
USB
所属VIP或分类
同VIP:ioctl接口设计在V4L2驱动中的安全校验
同VIP:Linux-V4L2摄像头驱动项目实战
同VIP:Linux-V4L2摄像头驱动:丢帧问题排查与延迟调优