libcamera, kameratámogató könyvtár Linux, Android és ChromeOS rendszerekhez

libcamera

A libcamera egy nyílt forráskódú kameraverem

Négy év fejlesztés után megjelent a libcamera projekt első verziója (0.0.1), amely szoftvercsomagot kínál a kamerákkal, kamerákkal és TV-tunerekkel való együttműködéshez Linuxon, Androidon és ChromeOS-en, amely folytatja a V4L2 API fejlesztését, és végül felváltja azt.

Mivel a könyvtári API még mindig változik, és nem teljesen stabilizálódott, a projektet eddig az egyes verziók elágazása nélkül, folyamatos fejlesztési modell segítségével fejlesztették ki.

Válaszul arra az igényre, hogy a disztribúciók nyomon kövessék a kompatibilitást befolyásoló API-módosításokat, és megkönnyítsék a könyvtár csomagokban történő szállítását, most úgy döntöttünk, hogy rendszeres kiadásokat készítenek, amelyek tükrözik az ABI és az API-k változásának mértékét. .

A libcamera-ról

A projekt éskernel multimédiás alrendszer fejlesztői fejlesztik a linux együtt néhány kameragyártónál szabványosítani a Linux-támogatást az okostelefonok kameráihoz és a saját meghajtókhoz kötött beágyazott eszközökhöz.

A V4L2 API, amely már elérhető a Linux kernelben Valaha úgy készült, hogy működjön a hagyományos, önálló webkamerákkal, és nem illik a közelmúltbeli trendhez, miszerint a funkciókat az MCU-ról a CPU-ra helyezték át.

Ellentétben a hagyományos kamerákkal, amelyekben az elsődleges képfeldolgozási műveleteket a kamerába épített speciális célú processzorban (MCU) végzik, a költségek csökkentése érdekében beágyazott eszközökben, ezek a funkciók a fő CPU vállára helyeződnek, és kifinomult működést igényelnek. illesztőprogram, amely licencelt összetevőket tartalmaz, amelyek nem nyithatók meg.

A libcamera projekt keretében az A szabad szoftverek szószólói és a hardvergyártók megpróbáltak kompromisszumos megoldást létrehozni amely egyrészt megfelel a nyílt forráskódú fejlesztők igényeinek, másrészt védi a kameragyártók szellemi tulajdonát.

A kínált akkumulátor libcamera könyvtár teljes mértékben a felhasználói térben valósul meg. A meglévő alkalmazásokkal és programozási környezetekkel való kompatibilitás biztosítása érdekében rétegek állnak rendelkezésre a V4L API-val, a Gstreamerrel és az Android Camera HAL-lal való kompatibilitás érdekében.

Az interakciós összetevők szabadalmaztatott kamera-specifikus hardver modulokba vannak csomagolva, amelyek külön folyamatokban futnak és interakcióba lép a könyvtárral az IPC-n keresztül. A modulok nem férnek hozzá közvetlenül az eszközhöz, és egy közbenső API-n keresztül férnek hozzá a berendezéshez, amelyen keresztül a kamera vezérléséhez szükséges funkciókhoz való hozzáférési kéréseket felülvizsgálják, szűrik és korlátozzák.

Könyvtár továbbá hozzáférést biztosít a képek és videók feldolgozására és minőségének javítására szolgáló algoritmusokhoz (fehéregyensúly-korrekció, zajeltávolítás, videostabilizálás, autofókusz, expozícióválasztás stb.), amelyek nyitott külső könyvtárként vagy szabadalmaztatott izolált modulként csatlakoztathatók.

La Az API hozzáférést biztosít a funkciókhoz ilyen például a meglévő beépített és külső kamerák funkcionalitásának meghatározása, eszközprofilok használata, kamera csatlakozási és leválasztási események kezelése, kamera adatrögzítésének kezelése az egyes képkockák szintjén, képek szinkronizálása vaku működéssel. Lehetőség van a rendszerben több kamerával külön-külön dolgozni és a rögzítést megszervezni több videofolyam egyidejűleg egy kameráról (például egy alacsony felbontású egy videokonferenciához,

ezt patch kiadás elindítja a kiadási eljárásokat a projekt csomagjából. Az első kiadások tartalmazni fogják a javítás verziószámának (0.0.x) növelését, valamint a fia nevének megfelelő növekedését.

Végül pedig azoknak, akik többet szeretnének megtudni róla, tudniuk kell, hogy a projekt kódja C++ nyelven íródott, és LGPLv2.1 licenc alatt kerül terjesztésre. Megtekinthető a projekt kódja, valamint a könyvtár összeállítására vonatkozó utasítások a vele való együttműködéshez A következő linken.


Legyen Ön az első hozzászóló

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.