Shpërthimi i parë i libcamera, një grumbull mbështetje për kamerat në Linux

Pas katër viteve zhvillimi, është formuar shpërthimi i parë i projektit libcamera (0.0.1), që ofron një grumbull softuerësh për të punuar me kamera video, kamera fotografike dhe tuner TV në Linux, Android dhe ChromeOS, i cili vazhdon të zhvillojë API-në V4L2 dhe me kalimin e kohës do ta zëvendësojë atë. Meqenëse API-ja e bibliotekës ende vazhdon të ndryshojë dhe nuk është stabilizuar përfundimisht, projekti është zhvilluar deri tani pa krijuar degëzime të shpërthimeve individuale duke përdorur një model të zhvillimit të vazhdueshëm. Në përgjigje të nevojës së shpërndarjeve 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 që të formohen përkohësisht shpërthime 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 zhvilluesit e subsistementeve multimediale të bërthamës Linux në bashkëpunim me disa prodhues kamerash, me qëllim normalizimin e situatës me mbështetje në Linux për kamerat e smartphone-ve dhe pajisjeve të integruara që janë të lidhura me drejtuesit proprietarë. API V4L2 që tashmë ekziston në bërthamën Linux, në kohën e tij u krijua për të punuar me kamera tradicionale dhe është keq adaptuar për tendencën e fundit të nxjerrjes së funksionalitetit të MCU-së në krahët e CPU-së.

Ndryshe nga kamerat tradicionale, ku operacionet e përpunimit të parë të imazheve kryhen nga një procesor i specializuar i integruar (MCU), në pajisjet e integruara për të reduktuar kostot, këto funksione i janë në ngarkim CPU-së kryesore dhe kërkojnë një drejtues kompleks, që përfshin komponente të licencuara, të cilat nuk mund të hapen. Në kuadër të projektit libcamera, mbështetësit e softuerit me burim të hapur dhe prodhuesit e pajisjeve u përpoqën të krijojnë një zgjidhje kompromisi, nga njëra anë për të kënaqur nevojat e zhvilluesve të softuerit të hapur, e nga ana tjetër për të mbrojtur pronësinë intelektuale të prodhuesve të kamerave.

Staci i ofruar nga biblioteka libcamera është implementuar plotësisht në hapësirën e përdoruesit. Për të siguruar kompatibilitet me mjediset dhe aplikacionet ekzistuese, ofrohen ndërfaqe për kompatibilitet me API V4L, Gstreamer dhe Android Camera HAL. Komponentët proprietary specifikë për çdo kamerë, që ndërveprojnë me harduerin, janë organizuar si module që ekzekutohen në procese të ndara dhe bashkëpunojnë me bibliotekën përmes IPC. Modulet nuk kanë akses të drejtpërdrejtë në pajisje dhe qasen në harduerin përmes një API ndërmjetës, ku kërkesat kontrollohen, filtrohen dhe kufizohen vetëm në funksionalitetin e nevojshëm për menaxhimin e kamerës.

Biblioteka ofron gjithashtu qasje nĂ« algoritme pĂ«r pĂ«rpunimin dhe pĂ«rmirĂ«simin e cilĂ«sisĂ« sĂ« imazheve dhe videove (korrektimi i balancĂ«s sĂ« bardhĂ«, eliminimi i zhurmĂ«s, stabilizimi i videove, fokusimi automatik, zgjedhja e ekspozimit etj.), tĂ« cilat mund tĂ« lidhen si biblioteka tĂ« hapura tĂ« jashtme, ashtu edhe module tĂ« izoluar pronĂ«sore. API ofron qasje nĂ« funksionalitete tĂ« tilla si pĂ«rcaktimi i funksionalitetit tĂ« kamerave tĂ« jashtme 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 kadrove individuale dhe sinkronizimi i imazheve me punĂ«n e blicit. ËshtĂ« e mundur punimi i veçantĂ« me disa kamera nĂ« sistem dhe organizimi i kapjes sĂ« disa flukseve video nĂ« tĂ« njĂ«jtĂ«n kohĂ« nga njĂ« kamerĂ« (p.sh., njĂ« me rezolucion tĂ« ulĂ«t pĂ«r videokonferenca dhe njĂ« tjetĂ«r me rezolucion tĂ« lartĂ« pĂ«r regjistrimin nĂ« disk).

Burimi: opennet.ru

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