v4l2 very simple example [closed]
开发者_运维问答
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this questionI'm looking for a simple example for camera access in Linux using V4L2. Where I can find it? As simple, as possible.
Thanks,
Try the uvccapture code here -> http://staticwave.ca/source/uvccapture/ It is very small yet very concrete example which makes use of all the V4l2 concepts (open,set format, allocate memory, Request Buffer, Dqbuffer and Query-buffer - all intems of ioclts).
uvcgrab() function is the one to look for which makes use of Dqbuffer and Query-buffer.
ioctl (vd->fd, VIDIOC_DQBUF, &vd->buf);
ioctl (vd->fd, VIDIOC_QBUF, &vd->buf)
While Studying it you can keep looking for the ioctl definition in this link which will ease your understanding.
In the API specification, there is an example, also downloadable as a C file
I would advice also trying out v4l-utils.
http://linuxtv.org/downloads/v4l-utils/
It has some easy to use API calls to v4l devices and there is a qt based example in the source to build a custom interface for video devices.
精彩评论