Shkalla e parë e libcamera, një stakë për mbështetje të kamerave në Linux

Pas një periudhë katër vjeçare zhvillimi, është formuar versioni i parë i projektit libcamera (0.0.1), i cili ofron një grumbull programesh për punën me kamera, fotografi dhe tunera TV në Linux, Android dhe ChromeOS, duke vazhduar zhvillimin e API V4L2 dhe me kalimin e kohës, duke e zëvendësuar atë. Duke qenë se API i bibliotekës ende vazhdon të ndryshojë dhe nuk është stabilizuar përfundimisht, projekti deri tani është zhvilluar pa degëzime të veçanta të lëshimeve, duke përdorur një model zhvillimi të vazhdueshëm. Në përgjigje të nevojës së distribucioneve për të ndjekur ndryshimet në API që ndikojnë në përputhshmëri, dhe për të lehtësuar shpërndarjen e bibliotekës në paketa, tani është marrë vendimi për të formuar rregullisht lëshime që pasqyrojnë shkallën e ndryshimit të ABI dhe API. Kodi i projektit është shkruar në C++ dhe shpërndahet nën licencën LGPLv2.1.

Projekti po zhvillohet nga zhvillues të sistemeve multimediale të kernit Linux së bashku me disa prodhues kamerash për të normalizuar situatën me mbështetje në Linux për kamerat e smartphoneve dhe pajisjet e integruara, të cilat janë të lidhura me drejtues pronësorë. API V4L2, i cili është tashmë i pranishëm në kernin Linux, në kohën e tij u krijua me mendimin për të punuar me kamera tradicionale të ndara dhe nuk është përshtatur mirë për tendencën e fundit të shfaqjes së funksionaliteteve të MCU-së në duar të CPU-së.

Ndryshe nga kamerat tradicionale, ku operacionet e procesimit të parë të imazheve kryhen nga një procesor i specializuar i ndërtuar në kamerë (MCU), në pajisjet e integruara për të reduktuar kostot, këto funksione i kalohen CPU-së kryesore dhe kërkojnë një drejtues më kompleks, që përfshin komponentë me licencë që nuk mund të hapen. Në kuadër të projektit libcamera, mbështetësit e softuerit të lirë dhe prodhuesit e pajisjeve kanë tentuar të krijojnë një zgjidhje kompromisi, e cila nga njëra anë plotëson nevojat e zhvilluesve të softuerit të hapur dhe nga ana tjetër, lejon mbrojtjen e pronës intelektuale të prodhuesve të kamerave.

Staku i ofruar nga biblioteka libcamera është implementuar plotësisht në hapësirën e përdoruesit. Për të siguruar kompatibilitetin me mjediset dhe aplikacionet ekzistuese, ofrohen ndërfaqe për kompatibilitet me API V4L, Gstreamer dhe Android Camera HAL. Komponentët prontarë specifikë për çdo kamerë që ndërveprojnë me pajisjen paraqiten si module, që ekzekutohen në procese të ndara dhe ndërveprojnë me bibliotekën përmes IPC. Modulët s'kanë akses të drejtpërdrejtë në pajisje dhe i drejtohen pajisjes përmes një API ndërmjetës, kërkesat për të cilin kontrollohen, filtrohen dhe kufizohen vetëm në funksionalitetin e nevojshëm për menaxhimin e kamerës.

Biblioteka gjithashtu ofron akses nĂ« algoritmet pĂ«r pĂ«rpunimin dhe pĂ«rmirĂ«simin e cilĂ«sisĂ« sĂ« imazheve dhe videove (korrigjimi i balansit tĂ« bardhĂ«, eleminimi i zhurmĂ«s, stabilizimi i videos, autofokusi, zgjedhja e ekspozitĂ«s dhe tĂ« tjera), tĂ« cilat mund tĂ« lidhen si biblioteka tĂ« hapura tĂ« jashtme ose module prontare tĂ« izoluar. API ofron akses nĂ« funksione tĂ« tilla si pĂ«rcaktimi i funksionalitetit tĂ« kamerave ekzistuese dhe tĂ« integruara, pĂ«rdorimi i profileve tĂ« pajisjeve, pĂ«rpunimi i ngjarjeve tĂ« lidhjes dhe shkĂ«putjes sĂ« kamerave, menaxhimi i kapjes sĂ« tĂ« dhĂ«nave nga kamerat nĂ« nivelin e ĐșĐ°ĐŽŃ€ĐŸĐČ dhe sinkronizimi i imazheve me punĂ«n e flashit. ËshtĂ« e mundur tĂ« punoni veç e veç me disa kamera nĂ« sistem dhe tĂ« organizoni kapje tĂ« disa rrjedhave video nĂ« tĂ« njĂ«jtĂ«n kohĂ« nga njĂ« kamerĂ« (pĂ«r shembull, njĂ« me pĂ«rkufizim tĂ« ulĂ«t pĂ«r video-konferencĂ«, dhe tjetra me pĂ«rkufizim tĂ« lartĂ« pĂ«r regjistrim arkivor nĂ« disk).

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster