{"id":105321,"date":"2022-10-18T09:36:38","date_gmt":"2022-10-18T07:36:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux"},"modified":"2022-10-18T09:36:38","modified_gmt":"2022-10-18T07:36:38","slug":"pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux","title":{"rendered":"Prima lansare libcamera, un stack pentru suportul camerelor \u00een Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dup\u0103 patru ani de dezvoltare, a fost lansat\u0103 prima versiune a proiectului libcamera (0.0.1), care ofer\u0103 un stack software pentru lucrul cu camere video, aparate foto \u0219i TV tunere \u00een Linux, Android \u0219i ChromeOS, continu\u00e2nd dezvoltarea API-ului V4L2 \u0219i \u00een timp \u00eel va \u00eenlocui. Deoarece API-ul bibliotecii continu\u0103 s\u0103 evolueze \u0219i nu este \u00eenc\u0103 stabilizat, proiectul a fost dezvoltat f\u0103r\u0103 a bran\u0219a versiuni separate folosind un model de dezvoltare continuu. Ca r\u0103spuns la necesitatea distribu\u021biilor de a urm\u0103ri modific\u0103rile API care afecteaz\u0103 compatibilitatea \u0219i pentru a simplifica livrarea bibliotecii \u00een pachete, acum s-a decis s\u0103 se formeze periodic versiuni care reflect\u0103 gradul de modificare a ABI \u0219i API. Codul proiectului este scris \u00een C++ \u0219i este distribuit sub licen\u021ba LGPLv2.1.       <\/p>\n<p>Proiectul este dezvoltat de c\u0103tre dezvoltatorii subsistemelor multimedia din nucleul Linux \u00eempreun\u0103 cu unii produc\u0103tori de camere, cu scopul de a normaliza situa\u021bia cu suportul pentru camerele de smartphone-uri \u0219i dispozitive \u00eencorporate \u00een Linux, care sunt legate de drivere proprietare. API-ul V4L2 existent \u00een nucleul Linux a fost creat pentru a lucra cu camere web tradi\u021bionale \u0219i este prost adaptat la tendin\u021ba recent\u0103 de a externaliza func\u021bionalitatea MCU pe CPU.    <\/p>\n<p>Spre deosebire de camerele tradi\u021bionale, \u00een care opera\u021biile primare de procesare a imaginilor sunt realizate pe un procesor specializat \u00eencorporat \u00een camer\u0103 (MCU), \u00een dispozitivele \u00eencorporate, pentru a reduce costurile, aceste func\u021bii sunt preluate de CPU-ul principal \u0219i necesit\u0103 un driver mai complex, care include componente licen\u021biate ce nu pot fi deschise. \u00cen cadrul proiectului libcamera, sus\u021bin\u0103torii software-ului open source \u0219i produc\u0103torii de echipamente au \u00eencercat s\u0103 creeze o solu\u021bie de compromis care, pe de o parte, s\u0103 satisfac\u0103 nevoile dezvoltatorilor de software open source, iar pe de alt\u0103 parte, s\u0103 ofere protec\u021bie pentru proprietatea intelectual\u0103 a produc\u0103torilor de camere.     <\/p>\n<p>Stiva propus\u0103 de biblioteca libcamera este implementat\u0103 complet \u00een spa\u021biul utilizatorului. Pentru a asigura compatibilitatea cu mediile \u0219i aplica\u021biile software existente, sunt furnizate straturi de compatibilitate cu API V4L, Gstreamer \u0219i Android Camera HAL. Componentele proprietare specifice fiec\u0103rei camere pentru interac\u021biunea cu hardware-ul sunt organizate sub form\u0103 de module, care ruleaz\u0103 \u00een procese separate \u0219i interac\u021bioneaz\u0103 cu biblioteca prin IPC. Modulele nu au acces direct la dispozitiv \u0219i ac\u021bioneaz\u0103 asupra hardware-ului printr-un API intermediar, cererile prin care sunt verificate, filtrate \u0219i restric\u021bionate doar la func\u021bionalitatea necesar\u0103 pentru controlul camerei.    <\/p>\n<p>Biblioteca ofer\u0103 de asemenea acces la algoritmi pentru procesarea \u0219i \u00eembun\u0103t\u0103\u021birea calit\u0103\u021bii imaginilor \u0219i videoclipurilor (corectarea balansului de alb, eliminarea zgomotului, stabilizarea videoclipurilor, focusare automat\u0103, selectarea expunerii etc.), care pot fi conectate sub form\u0103 de biblioteci externe deschise sau module proprietare izolate. API-ul ofer\u0103 acces la func\u021bii precum determinarea func\u021bionalit\u0103\u021bii camerelor externe \u0219i \u00eencorporate disponibile, utilizarea profilurilor dispozitivelor, procesarea evenimentelor de conectare \u0219i deconectare a camerelor, gestionarea captur\u0103rii datelor de la camere la nivel de cadre individuale \u0219i sincronizarea fotografiilor cu activitatea bli\u021bului. Este posibil\u0103 func\u021bionarea separat\u0103 cu mai multe camere \u00een sistem \u0219i organizarea capt\u0103rii simultane a mai multor fluxuri video de la o camer\u0103 (de exemplu, unul cu rezolu\u021bie mic\u0103 pentru videoconferin\u021be \u0219i altul cu rezolu\u021bie mare pentru \u00eenregistrarea pe disc).<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57931\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 libcamera (0.0.1), \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0441\u0442\u0435\u043a \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u043c\u0435\u0440\u0430\u043c\u0438, \u0444\u043e\u0442\u043e\u043a\u0430\u043c\u0435\u0440\u0430\u043c\u0438 \u0438 TV-\u0442\u044e\u043d\u0435\u0440\u0430\u043c\u0438 \u0432 Linux, Android \u0438 ChromeOS, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 API V4L2 \u0438 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0437\u0430\u043c\u0435\u043d\u0438\u0442 \u0435\u0433\u043e. \u0422\u0430\u043a \u043a\u0430\u043a API \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0435\u0449\u0451 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0438 \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d, \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u043b\u0441\u044f \u0431\u0435\u0437 \u043e\u0442\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-105321","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 libcamera (0.0.1), \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0441\u0442\u0435\u043a \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u043c\u0435\u0440\u0430\u043c\u0438, \u0444\u043e\u0442\u043e\u043a\u0430\u043c\u0435\u0440\u0430\u043c\u0438 \u0438 TV-\u0442\u044e\u043d\u0435\u0440\u0430\u043c\u0438 \u0432 Linux, Android \u0438 ChromeOS, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a libcamera, \u0441\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043a\u0430\u043c\u0435\u0440 \u0432 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 libcamera (0.0.1), \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0441\u0442\u0435\u043a \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u043c\u0435\u0440\u0430\u043c\u0438, \u0444\u043e\u0442\u043e\u043a\u0430\u043c\u0435\u0440\u0430\u043c\u0438 \u0438 TV-\u0442\u044e\u043d\u0435\u0440\u0430\u043c\u0438 \u0432 Linux, Android \u0438 ChromeOS, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-10-18T07:36:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-10-18T07:36:38+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Prima versiune a libcamera, un stack pentru suportul camerelor \u00een Linux | ProHoster","description":"Dup\u0103 patru ani de dezvoltare, a fost format\u0103 prima versiune a proiectului libcamera (0.0.1), care ofer\u0103 un stack software pentru lucrul cu camere video, camere foto \u0219i TV tuners \u00een Linux, Android \u0219i ChromeOS, care continu\u0103.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a libcamera, \u0441\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043a\u0430\u043c\u0435\u0440 \u0432 Linux | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 libcamera (0.0.1), \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0441\u0442\u0435\u043a \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u043c\u0435\u0440\u0430\u043c\u0438, \u0444\u043e\u0442\u043e\u043a\u0430\u043c\u0435\u0440\u0430\u043c\u0438 \u0438 TV-\u0442\u044e\u043d\u0435\u0440\u0430\u043c\u0438 \u0432 Linux, Android \u0438 ChromeOS, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-10-18T07:36:38+00:00","article:modified_time":"2022-10-18T07:36:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/105321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=105321"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/105321\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=105321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=105321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=105321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}