ΠŸΡŠΡ€Π²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° libcamera, стСка Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ Π² Linux

Π‘Π»Π΅Π΄ Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° бСшС ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° вСрсия Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° libcamera (0.0.1), ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‰Π° софтуСрния стСк Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅Ρ€ΠΈ, Ρ„ΠΎΡ‚ΠΎΠ°ΠΏΠ°Ρ€Π°Ρ‚ΠΈ ΠΈ TV Ρ‚ΡƒΠ½Π΅Ρ€ΠΈ Π² Linux, Android ΠΈ ChromeOS, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° API V4L2 ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Ρ‰Π΅ Π³ΠΎ замСсти. ПонСТС API Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° всС ΠΎΡ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° сС промСня ΠΈ Π½Π΅ Π΅ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»Π½ΠΎ стабилизиран, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ досСга сС Π΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Π» Π±Π΅Π· ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ вСрсии, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° модСль Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π’ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° Π½ΡƒΠΆΠ΄Π°Ρ‚Π° Π½Π° дистрибутивитС ΠΎΡ‚ прослСдяванС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² API, засягащи ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚Ρ‚Π°, ΠΈ Π·Π° опростяванС Π½Π° доставката Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, сСга Π΅ Π²Π·Π΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ Π΄Π° сС оформят издания, отразяващи стСпСнта Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ABI ΠΈ API. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ написан Π½Π° C++ ΠΈ сС разпространява ΠΏΠΎΠ΄ лицСнзия LGPLv2.1.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ сС Ρ€Π°Π·Π²ΠΈΠ²Π° ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° ΠΌΡƒΠ»Ρ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ подсистСми Π² ядрото Π½Π° Linux Π² ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ с някои ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ с Ρ†Π΅Π» Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ситуацията с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ Π·Π° смартфони ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ устройства Π² Linux, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΎΠ±Π²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ. Π’Π΅Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡΡ‚ Π² ядрото Π½Π° Linux API V4L2 Π² своС Π²Ρ€Π΅ΠΌΠ΅ Π΅ създадСн с мисъл Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΈ ΡƒΠ΅Π± ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ ΠΈ Π΅ слабо Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½ към Π½ΠΎΠ²Π°Ρ‚Π° тСндСнция Π·Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° функционалността Π½Π° MCU Π² Ρ€ΡŠΡ†Π΅Ρ‚Π΅ Π½Π° CPU.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ производятся Π½Π° встроСнном Π² ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ спСциализированном процСссорС (MCU), Π²ΠΎ встраиваСмых устройствах для сокращСния стоимости эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ выносятся Π½Π° ΠΏΠ»Π΅Ρ‡ΠΈ основного CPU ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ услоТнённого Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° libcamera сторонники БПО ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ оборудования ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ компромиссноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, с ΠΎΠ΄Π½ΠΎΠΉ стороны ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰Π΅Π΅ потрСбности Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ПО, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΊΠ°ΠΌΠ΅Ρ€.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΡ‚ ΡΡ‚ΡŠΠΊ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° libcamera Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ напълно Π² потрСбитСлското пространство. Π—Π° осигуряванС Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ софтуСрни срСди ΠΈ прилоТСния сС прСдоставят прослойки Π·Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с API V4L, Gstreamer ΠΈ Android Camera HAL. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΠΈ Π·Π° всяка ΠΊΠ°ΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π·Π° взаимодСйствиС с Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π° са ΠΎΡ„ΠΎΡ€ΠΌΠ΅Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ процСси ΠΈ взаимодСйствия с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Ρ‡Ρ€Π΅Π· IPC. ΠœΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ нямат Π΄ΠΈΡ€Π΅ΠΊΡ‚Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ устройството ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏΠ²Π°Ρ‚ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π° Ρ‡Ρ€Π΅Π· ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ API, Π° запитванията ΠΏΡ€Π΅Π· Π½Π΅Π³ΠΎ сС провСряват, Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Ρ‚ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Ρ‚ само Π΄ΠΎ функционалността, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π°.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° прСдоставя Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ подобряванС Π½Π° качСството Π½Π° изобраТСния ΠΈ Π²ΠΈΠ΄Π΅Π° (корСкция Π½Π° баланса Π½Π° бялото, ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° ΡˆΡƒΠΌ, стабилизация Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ, автофокус, ΠΈΠ·Π±ΠΎΡ€ Π½Π° Скспозиция ΠΈ Π΄Ρ€.), ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ външни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. API прСдоставя Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ опрСдСлянС Π½Π° функционалността Π½Π° Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ външни ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ Π½Π° устройства, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ…Π²Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΊΠ°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΊΠ°Π΄ΡŠΡ€ ΠΈ синхронизация Π½Π° снимкитС с Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° свСткавицата. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½Π° Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° с няколко ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ Π² систСмата ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°Ρ…Π²Π°Ρ‰Π°Π½Π΅ Π½Π° няколко Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΎΡ‚ Π΅Π΄Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅Π΄ΠΈΠ½ с ниска Ρ€Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΡ Π·Π° видСоконфСрСнция ΠΈ Π΄Ρ€ΡƒΠ³ с висока Ρ€Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΡ Π·Π° Π°Ρ€Ρ…ΠΈΠ²Π½ΠΎ записванС Π½Π° диск).

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster