问题
I'm looking for a simple example for camera access in Linux using V4L2. Where I can find it? As simple, as possible.
Thanks,
回答1:
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.
回答2:
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.
回答3:
In the API specification, there is an example, also downloadable as a C file
来源:https://stackoverflow.com/questions/4009439/v4l2-very-simple-example