c++ - v4l2 ejemplo muy simple
Estoy buscando un ejemplo simple para el acceso a la cámara en Linux usando V4L2. ¿Donde puedo encontrarlo? Lo más sencillo posible.
Gracias,
Pruebe el código uvccapture aquí -> http://staticwave.ca/source/uvccapture/ Es un ejemplo muy pequeño pero muy concreto que hace uso de todos los conceptos de V4l2 (abrir, configurar formato, asignar memoria, Request Buffer, Dqbuffer and Query -buffer - todos los intems de ioclts).
La función uvcgrab () es la que hay que buscar y que utiliza Dqbuffer y Query-buffer.
ioctl (vd->fd, VIDIOC_DQBUF, &vd->buf);
ioctl (vd->fd, VIDIOC_QBUF, &vd->buf)
Mientras lo estudia, puede seguir buscando la definición de ioctl en este link lo que facilitará su comprensión.
Yo también aconsejaría probar v4l-utils.
http://linuxtv.org/downloads/v4l-utils/
Tiene algunas llamadas de API fáciles de usar a dispositivos v4l y hay un ejemplo basado en qt en la fuente para crear una interfaz personalizada para dispositivos de video.