2010-10-24 22 views
17

Estoy buscando un simple ejemplo para acceso a la cámara en Linux utilizando V4L2. ¿Dónde puedo encontrarlo? Lo más sencillo posible.v4l2 muy simple ejemplo

Gracias,

Respuesta

2

En la especificación API, hay un example, que también puede descargarse como un C file

+0

Este ejemplo funciona bien para mí, pero es un poco complejo. Encontré este http://credentiality2.blogspot.com/2010/04/v4l2-example.html pero no funciona para mí :(Recibo el error de lectura 22, argumento inválido –

20

Pruebe el código uvccapture aquí ->http://staticwave.ca/source/uvccapture/ Es muy pequeño pero muy concreto ejemplo que hace uso de todos los conceptos de V4l2 (abrir, establecer formato, asignar memoria, Solicitar memoria intermedia, Dqbuffer y Query-buffer - todas las interfaces de los dispositivos).

uvcgrab() función es la que debe buscar que utiliza Dqbuffer y Query-buffer.

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

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

mientras estudiaba le puede seguir buscando la definición en este ioctl link que facilitará su comprensión.

+1

Gracias, lo verifico ! –

3

También recomendaría probar v4l-utils.

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

tiene algunas fácil de usar API de llamadas a dispositivos v4l y hay un ejemplo basado en la fuente qt para construir una interfaz personalizada para dispositivos de vídeo.