-
V4L2视频捕获操作流程及其接口描述
资源介绍
1 打开设备文件 int fd open " dev video0" O RDWR ;
2 取得设备的capability 看看设备具有什么功能 比如是否具有视频输入 或者音频输入输出等 VIDIOC QUERYCAP struct v4l2 capability
3 选择视频输入 一个视频设备可以有多个视频输入 VIDIOC S INPUT struct v4l2 input
4 设置视频的制式和帧格式 制式包括PAL NTSC 帧的格式个包括宽度和高度等
VIDIOC S STD VIDIOC S FMT struct v4l2 std id struct v4l2 format
5 向驱动申请帧缓冲 一般不超过5个 struct v4l2 requestbuffers
6 将申请到的帧缓冲映射到用户空间 这样就可以直接操作采集到的帧了 而不必去复制 mmap
7 将申请到的帧缓冲全部入队列 以便存放采集到的数据 VIDIOC QBUF struct v4l2 buffer
8 开始视频的采集 VIDIOC STREAMON
9 出队列以取得已采集数据的帧缓冲 取得原始采集数据 VIDIOC DQBUF
10 将缓冲重新入队列尾 这样可以循环采集 VIDIOC QBUF
11 停止视频的采集 VIDIOC STREAMOFF
12 关闭视频设备 close fd ;">1 打开设备文件 int fd open " dev video0" O RDWR ;
2 取得设备的capability 看看设备具有什么功能 比如是否具有视频输入 或者音频输入输出等 VIDIOC QUERYCAP struct v4l2 capability
3 选择视频输入 一个视频设备可以有多个视频 [更多]
- 上一篇: linux下v4l2实现图片采集
- 下一篇: V4L2学习笔记及图像视频采集基本流程