24

我正在寻找一个使用 V4L2 在 Linux 中访问相机的简单示例。我在哪里可以找到它?尽可能简单。

谢谢,

4

3 回答 3

23

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

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

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

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

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

于 2012-05-17T18:37:37.300 回答
6

在 API 规范中,有一个示例,也可以作为C 文件下载

于 2010-10-24T17:58:30.037 回答
4

我建议也尝试一下 v4l-utils。

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

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

于 2012-12-04T10:43:19.477 回答