{"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\/pl\/blog\/news\/pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux","title":{"rendered":"Pierwsze wydanie libcamera, stosu do obs\u0142ugi kamer w systemie Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po czterech latach rozwoju wydany zosta\u0142 pierwszy wersja projektu libcamera (0.0.1), kt\u00f3ry oferuje stos oprogramowania do pracy z kamerami wideo, aparatami fotograficznymi oraz tunerami TV w systemach Linux, Android i ChromeOS, kontynuuj\u0105c rozw\u00f3j API V4L2 i stopniowo je zast\u0119puj\u0105c. Poniewa\u017c API biblioteki wci\u0105\u017c si\u0119 zmienia i nie zosta\u0142o jeszcze ostatecznie ustabilizowane, projekt rozwija\u0142 si\u0119 do tej pory bez oddzielnych wyda\u0144, korzystaj\u0105c z ci\u0105g\u0142ego modelu rozwoju. W odpowiedzi na potrzeb\u0119 dystrybucji w monitorowaniu zmian API wp\u0142ywaj\u0105cych na kompatybilno\u015b\u0107, oraz w celu uproszczenia dostarczania biblioteki w pakietach, podj\u0119to decyzj\u0119 o cyklicznym tworzeniu wyda\u0144, kt\u00f3re odzwierciedlaj\u0105 stopie\u0144 zmiany ABI i API. Kod projektu napisany jest w C++ i jest dost\u0119pny na licencji LGPLv2.1.       <\/p>\n<p>Projekt rozwijany jest przez programist\u00f3w multimedia\u0144skich system\u00f3w j\u0105dra Linux we wsp\u00f3\u0142pracy z niekt\u00f3rymi producentami kamer w celu normalizacji wsparcia dla kamer smartfon\u00f3w i urz\u0105dze\u0144 wbudowanych, kt\u00f3re s\u0105 uzale\u017cnione od zamkni\u0119tych sterownik\u00f3w. Istniej\u0105ce ju\u017c w j\u0105drze Linux API V4L2 zosta\u0142o stworzone z my\u015bl\u0105 o pracy z tradycyjnymi, odr\u0119bnymi kamerami internetowymi i jest s\u0142abo przystosowane do ostatnich tendencji wyprowadzania funkcji MCU na barki CPU.    <\/p>\n<p>W przeciwie\u0144stwie do tradycyjnych kamer, w kt\u00f3rych operacje wst\u0119pnego przetwarzania obraz\u00f3w przeprowadzane s\u0105 przez zintegrowany w kamerze procesor specjalizowany (MCU), w urz\u0105dzeniach wbudowanych w celu obni\u017cenia koszt\u00f3w funkcje te przenoszone s\u0105 na barki g\u0142\u00f3wnego CPU i wymagaj\u0105 bardziej z\u0142o\u017conego sterownika, kt\u00f3ry zawiera licencjonowane komponenty, kt\u00f3re nie podlegaj\u0105 otwarciu. W ramach projektu libcamera zwolennicy oprogramowania otwartego oraz producenci sprz\u0119tu pr\u00f3bowali stworzy\u0107 rozwi\u0105zanie kompromisowe, kt\u00f3re z jednej strony zaspokaja potrzeby programist\u00f3w oprogramowania otwartego, a z drugiej \u2013 umo\u017cliwia ochron\u0119 w\u0142asno\u015bci intelektualnej producent\u00f3w kamer.     <\/p>\n<p>Proponowana przez bibliotek\u0119 libcamera stos jest w pe\u0142ni realizowana w przestrzeni u\u017cytkownika. Aby zapewni\u0107 zgodno\u015b\u0107 z istniej\u0105cymi \u015brodowiskami programowymi i aplikacjami, udost\u0119pniane s\u0105 warstwy zgodno\u015bci z API V4L, Gstreamer oraz Android Camera HAL. Specyficzne dla ka\u017cdej kamery komponenty interakcji z hardware'em s\u0105 realizowane jako modu\u0142y dzia\u0142aj\u0105ce w osobnych procesach, kt\u00f3re komunikuj\u0105 si\u0119 z bibliotek\u0105 poprzez IPC. Modu\u0142y nie maj\u0105 bezpo\u015bredniego dost\u0119pu do urz\u0105dzenia i uzyskuj\u0105 dost\u0119p do sprz\u0119tu za po\u015brednictwem po\u015bredniego API, kt\u00f3rego zapytania s\u0105 sprawdzane, filtrowane i ograniczane wy\u0142\u0105cznie do funkcjonalno\u015bci niezb\u0119dnej do zarz\u0105dzania kamer\u0105.    <\/p>\n<p>Biblioteka oferuje r\u00f3wnie\u017c dost\u0119p do algorytm\u00f3w przetwarzania i poprawy jako\u015bci obraz\u00f3w oraz wideo (korekcja balansu bieli, redukcja szum\u00f3w, stabilizacja wideo, autofokus, wyb\u00f3r ekspozycji itp.), kt\u00f3re mog\u0105 by\u0107 do\u0142\u0105czane jako otwarte zewn\u0119trzne biblioteki lub proprietarne, izolowane modu\u0142y. API udost\u0119pnia dost\u0119p do takich funkcji, jak okre\u015blanie funkcjonalno\u015bci dost\u0119pnych zewn\u0119trznych i wbudowanych kamer, wykorzystanie profili urz\u0105dze\u0144, obs\u0142uga zdarze\u0144 pod\u0142\u0105czania i od\u0142\u0105czania kamer, zarz\u0105dzanie przechwytywaniem danych z kamer na poziomie pojedynczych klatek oraz synchronizacja zdj\u0119\u0107 z dzia\u0142aniem lampy b\u0142yskowej. Mo\u017cliwa jest jednoczesna praca z wieloma kamerami w systemie oraz organizacja przechwytywania kilku strumieni wideo z jednej kamery (na przyk\u0142ad, jeden o niskiej rozdzielczo\u015bci dla wideokonferencji, a drugi o wysokiej rozdzielczo\u015bci do archiwizacji na dysku).<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57931\">opennet.ru<\/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.1.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\/pl\/blog\/news\/pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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\udd47Pierwsze wydanie libcamera, stosu wsparcia dla kamer w systemie Linux | ProHoster","description":"Po czterech latach prac powsta\u0142a pierwsza wersja projektu libcamera (0.0.1), oferuj\u0105cego zestaw oprogramowania do obs\u0142ugi kamer wideo, aparat\u00f3w i tuner\u00f3w telewizyjnych w systemach Linux, Android i ChromeOS, kt\u00f3ry b\u0119dzie dalej rozwijany.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/105321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=105321"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/105321\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=105321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=105321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=105321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}