Prvo izdanje libcamera-e, paketa za podršku kamerama u Linux

Nakon četiri godine razvoja, objavljeno je prvo izdanje projekta libcamera (0.0.1) koje nudi softverski paket za rad s video kamerama, fotoaparatima i TV tunerima. Linux, Android i ChromeOS, koji nastavlja razvijati V4L2 API i na kraju će ga zamijeniti. Budući da se API biblioteke još uvijek razvija i nije u potpunosti stabiliziran, projekt je razvijen bez grananja u zasebna izdanja, koristeći model kontinuiranog razvoja. Kao odgovor na potrebu distribucija za praćenjem promjena API-ja koje utječu na kompatibilnost i pojednostavljenjem pakiranja biblioteka, sada je donesena odluka o periodičnom stvaranju izdanja koja odražavaju opseg promjena ABI-ja i API-ja. Kod projekta napisan je u C++ i licenciran je pod licencom LGPLv2.1.

Projekt razvijaju programeri multimedijskih kernel podsustava Linux zajedno s nekim proizvođačima fotoaparata kako bi se situacija normalizirala uz podršku u Linux kamere za pametne telefone i ugrađene uređaje koji su vezani za vlasničke upravljačke programe. Već u kernelu Linux V4L2 API je izvorno dizajniran za rad s tradicionalnim samostalnim web kamerama i slabo je prilagođen nedavnom trendu premještanja funkcionalnosti MCU-a na CPU.

Za razliku od tradicionalnih kamera, gdje se primarna obrada slike izvodi na namjenskom integriranom procesoru (MCU), ugrađeni uređaji prebacuju te funkcije na glavni CPU kako bi smanjili troškove i zahtijevaju složeni upravljački program koji uključuje vlasničke, licencirane komponente. Kroz projekt libcamera, zagovornici softvera otvorenog koda i proizvođači hardvera pokušali su stvoriti kompromisno rješenje koje zadovoljava potrebe programera otvorenog koda i štiti intelektualno vlasništvo proizvođača kamera.

Stog koji nudi libcamera implementiran je u potpunosti u korisničkom prostoru. Kako bi se osigurala kompatibilnost s postojećim softverskim okruženjima i aplikacijama, osigurani su slojevi interoperabilnosti za V4L, Gstreamer i druge API-je. Android HAL kamere. Vlasničke hardverske interakcijske komponente specifične za kameru implementirane su kao moduli koji se izvode u odvojenim procesima i komuniciraju s bibliotekom putem IPC-a. Moduli nemaju izravan pristup uređaju i pristupaju hardveru putem posredničkog API-ja, gdje se zahtjevi validiraju, filtriraju i ograničavaju na pristup samo funkcionalnosti potrebnoj za upravljanje kamerom.

Biblioteka također omogućuje pristup algoritmima za obradu i poboljšanje kvalitete slike i videa (podešavanje balansa bijele, smanjenje šuma, stabilizacija videa, automatsko fokusiranje, odabir ekspozicije itd.), koji se mogu povezati kao otvorene vanjske biblioteke ili vlasnički, izolirani moduli. API omogućuje pristup funkcijama kao što su određivanje funkcionalnosti postojećih vanjskih i ugrađenih kamera, korištenje profila uređaja, rukovanje događajima povezivanja i odspajanja kamere, upravljanje snimanjem podataka kamere na razini kadra i sinkronizacija snimaka s radom bljeskalice. Moguć je zaseban rad s više kamera u sustavu, kao i istovremeno snimanje više video streamova s ​​jedne kamere (na primjer, jedan niske rezolucije za video konferenciju i drugi visoke rezolucije za arhivsko snimanje na disk).

Izvor: opennet.ru

Kupite pouzdan hosting za stranice s DDoS zaštitom, VPS VDS poslužiteljima 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster