Login
Newsletter
Werbung

Mo, 29. Juli 2019, 12:46

Software::Video

libcamera soll Zugriff auf komplexe Videokameras verbessern

Die zunehmende Komplexität von Videokameras macht es immer schwieriger, die vielen Einstellungen der V4L-Schnittstelle zu beherrschen. libcamera soll Abhilfe schaffen.

Mirko Lindner

Das Subsystem Video4Linux (V4L) im Linux-Kernel ist für die Ansteuerung und Ressourcenverwaltung von Videokameras zuständig. Es gibt eine Gerätedatei für jede Kamera, über die man mit dem Gerät kommuniziert. Doch heutige Videokameras sind komplexe Geräte, die verschiedene Verarbeitungsblöcke enthalten, die miteinander verbunden werden können. Teils bieten sie auch mehrere parallele Videoströme an. Die Ermittlung oder Aushandlung der Optionen und die Einstellung der Parameter, bevor man einen Videostrom auslesen kann, können beliebig kompliziert werden. Sie geschieht über das schon im Jahr 2010 eingeführte Media Controller-Subsystem, das die V4L-Schnittstelle erweitert und somit noch komplizierter macht. Es ist daher nicht unüblich, dass Videoanwendungen nicht mit allen Kameras funktionieren.

Laurent Pinchart, einer der an V4L beteiligten Entwickler, hat kürzlich in einem Vortrag auf dem Open Source Summit Japan 2019, das neue Projekt libcamera vorgestellt. Das Projekt will »das Mesa für Kameras« werden, steht aber noch ziemlich am Anfang. libcamera soll die Basis werden, auf der alle Video-Anwendungen aufbauen können. Denkt man sich die Video-Verarbeitung als in vier Schichten gegliedert, stellt libcamera die unterste Schicht dar, die (über V4L) mit den Geräten kommuniziert und eine anwendungsorientierte Programmierschnittstelle zur Verfügung stellt. Die zweite Ebene besteht aus Bindungen, die die Verwendung von libcamera mit zahlreichen Programmiersprachen ermöglicht. Die dritte Ebene sorgt dafür, dass libcamera mit existierenden Anwendungen kompatibel ist. Sie soll eine V4L-Kompatibilitätsebene, eine Android HAL-Schnittstelle und eine GStreamer-Schnittstelle enthalten. Auf der vierten, obersten Ebene stehen die Anwendungen, die GStreamer oder direkt V4L nutzen, sowie die Android-Apps.

libcamera ist für alle Linux-basierten Systeme gedacht, was Android und ChromeOS einschließt. Sie steht unter der LGPL v2.1 oder neuer. Sie befindet sich noch in einer frühen Entwicklungsphase, war aber zum Zeitpunkt der Konferenz bereits weit genug fortgeschritten, dass Pinchart eine Videokonferenz unter Nutzung von libcamera demonstrieren konnte. Die erste Veröffentlichung einer offiziellen Version steht noch aus, der Quellcode findet sich auf git.linuxtv.org. Die Webseite libcamera.org enthält weitere Informationen, derzeit vor allem Design-Dokumente.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung