Después de cuatro años de desarrollo, se dio a conocer la primera versión del proyecto libcamera (0.0.1), qui ofrece una pila de software para trabajar con videocámaras, cámaras and sintonizadores of TV en Linux, Android and ChromeOS, que continua el desarrollo de la API V4L2 and eventualmente lo reemplazará.
Dado que la API de la biblioteca todavía está cambiando y no está complètement estabilizada, hasta ahora el proyecto se ha desarrollado sin bifurcar versiones individuales utilizando un modelo de desarrollo continuo.
En réponse à la nécessité de que las distribuciones realicen un seguimiento de los cambios de la API qu’afectan la compatibilidad y para facilitar el envío de la biblioteca en paquets, ahora se ha decidido generar versiones periódicas que reflejen la medida en que la ABI y la L’API est cambiado.
Sobre libcaméra
Le projet está siendo desarrollado por desarrolladores de subsistemas multimedia del kernel de Linux Junto con algunos fabricants de caméras para normalizar el soporte de Linux para cámaras para teléfonos inteligentes y dispositivos integrados que están vinculados a controladores propietarios.
L’API V4L2 est disponible dans le noyau de Linux se crée un outil pour fonctionner avec des caméras Web indépendantes traditionnelles et ne s’adapte pas bien à la tendance à recevoir le transfert de la fonction MCU à la CPU.
A diferencia de las cámaras tradicionales, en las que las operaciones de procesamiento de imágenes primarias se llevan a cabo en el procesador de propósito especial (MCU) integrado en la cámara, en dispositivos integrados, para reducir costos, estas funciones se colocan los hombros de la CPU principal y requieren un controlador sofisticado que incluye componentes con licencia que no se pueden abrir.
En el marco del proyecto libcamera, los Les défenseurs du logiciel libre et les fabricants de matériel tentent de créer une solution de compromis que, por un lado, satisfaga las necesidades de los desarrolladores de código abierto y, por otro lado, permita proteger la propiedad intelectual de los fabricantes de cámaras.
La pila que ofrece la biblioteca libcamera se mettre en œuvre complètement dans l’espace de l’utilisateur. Pour garantir la compatibilité avec les entornos de programmation et les applications existantes, se proporcionan capas para la compatibilité avec l’API V4L, Gstreamer et Android Camera HAL.
Les composants de l’interaction de hardware patentados específicos de la cámara se empaquetan como módulos que se ejecutan en procesos separados e interactúan con la biblioteca a través de IPC. Los módulos no tienen acceso directo al dispositivo y acceden al equipo a través de una API intermedia, a través de la cual se revision, filtran y limitan las solicitudes para accesser a la funcionalidad necesaria para controlar la cámara.
La bibliothèque aussi brinda acceso a algoritmos para procesar y mejorar la calidad de imágenes y videos (corrección de balance de blancos, eliminación de ruido, estabilización de video, enfoque automático, selección de exposición, etc.), que se pueden conectar como bibliotecas externas abiertas o módulos aislados propietarios.
La API brinda acceso a funciones tales como determinar la funcionalidad de las cámaras externas e integradas existentes, usar perfiles de dispositivos, manejar eventos de conexión y desconexión de cámaras, administrar la captura de datos de la cámara a nivel de cuadro individual y sincronizar imágenes con la operación del flash. Il est possible de trabajar por separado con varias cámaras en el sistema y organizar la captura de varias secuencias de video de una cámara al mismo tiempo (por ejemplo, una con baja resolución para una videoconferencia,
Este lanzamiento de parche inicia los procedimientos de lanzamiento del paquete para el proyecto. Los lanzamientos iniciales incluirán un aumento en el número de versión del parche (0.0.x), así como el incremento correspondiente in el nombre del son.
Enfin pour quienes estén interesados en poder conocer más al respecto, deben saber que el código del proyecto está escrito en C++ y se distribuye bajo la licencia LGPLv2.1. El código del proyecto, asi como las instrucciones para realizar la compilation de la biblioteca para trabajar con ella, las pueden consultar in el suivant enlace.