{"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\/sv\/blog\/news\/pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux","title":{"rendered":"F\u00f6rsta sl\u00e4ppet av libcamera, en stack f\u00f6r kamerast\u00f6d i Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Efter fyra \u00e5rs utveckling har den f\u00f6rsta versionen av projektet libcamera (0.0.1) sl\u00e4ppts, vilket erbjuder en programvarustack f\u00f6r videokameror, digitalkameror och TV-mottagare f\u00f6r Linux, Android och ChromeOS, som forts\u00e4tter att utveckla API:et V4L2 och s\u00e5 sm\u00e5ningom kommer att ers\u00e4tta det. Eftersom API:et fortfarande \u00e4r under f\u00f6r\u00e4ndring och \u00e4nnu inte \u00e4r stabiliserat har projektet utvecklats utan avgreningar av specifika versioner, med en kontinuerlig utvecklingsmodell. Som svar p\u00e5 distributionsbehovet av att sp\u00e5ra \u00e4ndringar i API:et som p\u00e5verkar kompatibiliteten, och f\u00f6r att f\u00f6renkla leveransen av biblioteket i paket, har beslutet fattats att regelbundet skapa releaser som speglar graden av f\u00f6r\u00e4ndring av ABI och API. Projektkoden \u00e4r skriven i C++ och sprids under licensen LGPLv2.1.       <\/p>\n<p>Projektet utvecklas av utvecklare inom multimediaunderavdelningarna av Linux-k\u00e4rnan tillsammans med n\u00e5gra kameratillverkare f\u00f6r att normalisera situationen f\u00f6r kamerast\u00f6d i Linux f\u00f6r smartphones och inbyggda enheter som \u00e4r kopplade till propriet\u00e4ra drivrutiner. Det API V4L2 som redan finns i Linux-k\u00e4rnan skapades ursprungligen f\u00f6r arbete med traditionella separata webbkameror och \u00e4r d\u00e5ligt anpassat f\u00f6r den senaste trenden att \u00f6verf\u00f6ra funktionaliteten fr\u00e5n MCU till CPU.    <\/p>\n<p>Till skillnad fr\u00e5n traditionella kameror, d\u00e4r de prim\u00e4ra bildbehandlingsoperationerna utf\u00f6rs av en specialiserad processor inuti kameran (MCU), har dessa funktioner i inbyggda enheter f\u00f6r att s\u00e4nka kostnaderna lagts p\u00e5 huvud-CPU:n. Detta kr\u00e4ver en mer komplex drivrutin som inkluderar licensierade komponenter som inte kan \u00f6ppnas. Inom ramen f\u00f6r projektet libcamera har f\u00f6respr\u00e5karna f\u00f6r \u00f6ppen k\u00e4llkod och h\u00e5rdvarutillverkarna f\u00f6rs\u00f6kt skapa en kompromissl\u00f6sning som \u00e5 ena sidan tillfredsst\u00e4ller behoven hos utvecklare av \u00f6ppen mjukvara, och \u00e5 andra sidan skyddar kameratillverkarnas immateriella r\u00e4ttigheter.     <\/p>\n<p>Det f\u00f6reslagna libcamera-biblioteket implementeras helt i anv\u00e4ndarutrymmet. F\u00f6r att s\u00e4kerst\u00e4lla kompatibilitet med befintliga programmilj\u00f6er och applikationer tillhandah\u00e5lls lager f\u00f6r kompatibilitet med API:er som V4L, Gstreamer och Android Camera HAL. Specifika propriet\u00e4ra komponenter f\u00f6r varje kamera interagerar med h\u00e5rdvaran som moduler som k\u00f6rs i separata processer och kommunicerar med biblioteket via IPC. Modulerna har ingen direkt \u00e5tkomst till enheten och interagerar med h\u00e5rdvaran via ett mellanliggande API, vars beg\u00e4rningar verifieras, filtreras och begr\u00e4nsas till att endast omfatta den funktionalitet som \u00e4r n\u00f6dv\u00e4ndig f\u00f6r att styra kameran.    <\/p>\n<p>Biblioteket erbjuder ocks\u00e5 tillg\u00e5ng till algoritmer f\u00f6r bild- och videokvalitetsbehandling och f\u00f6rb\u00e4ttring (justering av vitbalans, brusreducering, videostabilisering, autofokus, exponering osv.), som kan kopplas in som \u00f6ppna externa bibliotek eller propriet\u00e4ra isolerade moduler. API:et ger \u00e5tkomst till funktioner som att identifiera funktionalitet f\u00f6r befintliga externa och inbyggda kameror, anv\u00e4nda enhetsprofiler, hantera h\u00e4ndelser f\u00f6r anslutning och fr\u00e5nkoppling av kameror, styra datainsamling fr\u00e5n kameror p\u00e5 niv\u00e5 med enskilda ramar och synkronisera bilder med blixtens arbete. Det \u00e4r m\u00f6jligt att arbeta separat med flera kameror i systemet och organisera f\u00e5ngsten av flera videostr\u00f6mmar samtidigt fr\u00e5n en kamera (till exempel en med l\u00e5g uppl\u00f6sning f\u00f6r videokonferens och en annan med h\u00f6g uppl\u00f6sning f\u00f6r arkivering p\u00e5 disk).<br \/>\n<br \/>K\u00e4lla: <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.4 - 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\/sv\/blog\/news\/pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47F\u00f6rsta versionen av libcamera, en stack f\u00f6r att st\u00f6dja kameror i Linux | ProHoster","description":"Efter fyra \u00e5rs utveckling har den f\u00f6rsta versionen av libcamera-projektet (0.0.1) skapats, vilket erbjuder en programvaru-stack f\u00f6r arbete med videokameror, digitalkameror och TV-mottagare i Linux, Android och ChromeOS, som forts\u00e4tter.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/pervyj-vypusk-libcamera-steka-dlya-podderzhki-kamer-v-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/105321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=105321"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/105321\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=105321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=105321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=105321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}