v4l2非常简单的例子

时间:2010-10-24 17:26:54

标签: c++ c linux v4l2 v4l

我正在寻找一个简单示例,用于使用V4L2在Linux中进行摄像头访问。 哪里可以找到它?尽可能简单。

谢谢,

3 个答案:

答案 0 :(得分:21)

在此尝试uvccapture代码 - > http://staticwave.ca/source/uvccapture/ 它是一个非常小但非常具体的示例,它利用了所有V4l2概念(开放,设置格式,分配内存,请求缓冲区,Dqbuffer和查询缓冲区 - 所有ioclts内容)。

uvcgrab ()函数是使用Dqbuffer和Query-buffer查找的函数。

ioctl (vd->fd, VIDIOC_DQBUF, &vd->buf);

ioctl (vd->fd, VIDIOC_QBUF, &vd->buf)

在学习它的同时,您可以继续在link中查找ioctl定义,这将有助于您理解。

答案 1 :(得分:4)

我建议也尝试使用v4l-utils。

http://linuxtv.org/downloads/v4l-utils/

它对v4l设备有一些易于使用的API调用,并且源中有一个基于qt的示例,用于为视频设备构建自定义界面。

答案 2 :(得分:3)

在API规范中,有一个example,也可以下载为C file