Video4Linux ( V4L para abreviar) es una colección de controladores de dispositivos y una API para admitir la captura de video en tiempo real en sistemas Linux . [ 1 ] Admite cámaras web USB , sintonizadores de TV , cámaras CSI y dispositivos relacionados, estandarizando su salida, de modo que los programadores puedan agregar fácilmente soporte de video a sus aplicaciones.
Video4Linux se encarga de crear nodos de dispositivo V4L2, también conocidos como archivos de dispositivo (/dev/videoX, /dev/vbiX y /dev/radioX), y de rastrear los datos de estos nodos. La creación de los nodos de dispositivo la gestionan los controladores de dispositivo V4L mediante la estructura video_device (v4l2-dev.h), que puede asignarse dinámicamente o integrarse en otra estructura más grande.
Video4Linux recibió su nombre de Video for Windows (que a veces se abrevia como "V4W"), pero técnicamente no está relacionado con él. [ 2 ] [ 3 ]
Si bien Video4Linux solo está disponible para Linux, existe una capa de compatibilidad para FreeBSD llamada Video4BSD. Esta capa permite que muchos programas que dependen de V4L también se compilen y ejecuten en el sistema operativo FreeBSD.
Historia
V4L se introdujo tardíamente en el ciclo de desarrollo 2.1.X del kernel de Linux. Tras ser renombrado retroactivamente a V4L1, se eliminó en el kernel 2.6.38. [ 4 ]
V4L2 es la segunda versión de V4L. Video4Linux2 corrigió algunos errores de diseño y comenzó a aparecer en los kernels 2.5.x. Los controladores Video4Linux2 incluyen un modo de compatibilidad para aplicaciones Video4Linux1, aunque la compatibilidad puede ser incompleta y se recomienda usar dispositivos Video4Linux1 en modo V4L2. El proyecto DVB-Wiki ahora está alojado en el sitio web de LinuxTV . [ 5 ]
Algunos programas admiten V4L2 a través del localizador de recursos multimediav4l2:// .
Soporte de software
Crítica
Video4Linux tiene un proceso de negociación complejo, lo que provocó que no todas las aplicaciones fueran compatibles con todas las cámaras. [ 8 ]
Véase también
- Administrador de renderizado directo : define una interfaz del núcleo al espacio de usuario para acceder al renderizado de gráficos y la aceleración de vídeo.
- Mesa 3D : implementa API de aceleración de vídeo.
Referencias
- ↑ "Introducción al marco de trabajo Video4Linux: Cómo escribir un controlador de captura de vídeo" . 2 de febrero de 2014. Consultado el 16 de febrero de 2014 .
- ↑ "Descripción general del marco de controladores V4L2" . Archivado del original el 21 de febrero de 2014. Consultado el 4 de diciembre de 2013 .Descripción general del marco de controladores V4L2.
- ↑ "Ruta hacia una API de códec de vídeo estandarizada" (PDF) . Archivado del original el 6 de enero de 2014.
- ↑ "gspca - LinuxTVWiki" . LinuxTV . Consultado el 12 de enero de 2024 .
- ↑ Schimek, Michael H. "Especificación de la API de vídeo para Linux Two" . LinuxTV . Consultado el 12 de enero de 2024 .
- ↑ "Software de transmisión abierta | OBS" . obsproject.com .
- ↑ "Propuesta de API para añadir captura de vídeo de 1bsyl" . GitHub .
- ↑ Corbet, Jonathan (25-07-2019). "Acceso a dispositivos de vídeo complejos con libcamera" . LWN.net . Consultado el 06-02-2023 .
Enlaces externos
- desarrollo de media_tree git
- Git de desarrollo de v4l-utils
- API de infraestructura multimedia de Linux (V4L2, DVB y controladores remotos)
- Wiki de Video4Linux-DVB
- Recursos de Video4Linux
- Video4BSD , una capa de emulación de Video4Linux
- Aplicaciones de ejemplo de Video para Linux (V4L)
- Aplicación de ejemplo Video For Linux 2 (V4L2)
- Acceda a los dispositivos Video4Linux desde Java.
- kernel.org
- Wiki de OpenWrt
- Controlador y herramientas UVC para Linux , clase de dispositivo de vídeo USB (UVC)
- Televisión digital
- Software de vídeo gratuito
- Interfaces del núcleo de Linux
- controladores Linux
- Características del kernel de Linux
- Tecnología de televisión