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

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

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Π³ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Π°Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° ΠΌΡƒΠ»Ρ‚ΠΈΠΌΠ΅Π΄ΠΈΡ˜Π°Π»Π½ΠΈ потсистСми Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Линукс Π·Π°Π΅Π΄Π½ΠΎ со Π½Π΅ΠΊΠΎΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ со Ρ†Π΅Π» Π΄Π° сС Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΈΡ€Π° ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° со ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° Π½Π° Линукс Π·Π° ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΈ ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΡƒΡ€Π΅Π΄ΠΈ ΠΊΠΎΠΈ сС Π²Ρ€Π·Π°Π½ΠΈ Π·Π° сопствСни Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ. API V4L2, вСќС достапСн Π²ΠΎ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Линукс, своСврСмСно бСшС создадСн Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ со Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ посСбни Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ ΠΈ Π΅ слабо ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ Π½Π° Π½Π΅ΠΎΠ΄Π°ΠΌΠ½Π΅ΡˆΠ½ΠΈΠΎΡ‚ Ρ‚Ρ€Π΅Π½Π΄ Π½Π° ΠΏΠΎΠΌΠ΅ΡΡ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° функционалноста Π½Π° MCU Π½Π° Ρ€Π°ΠΌΠ΅Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° процСсорот.

Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΡ‚Π΅ ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ, Π²ΠΎ ΠΊΠΎΠΈ ΠΏΡ€ΠΈΠΌΠ°Ρ€Π½ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° слика сС Π²Ρ€ΡˆΠ°Ρ‚ Π½Π° ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ процСсор Π²Π³Ρ€Π°Π΄Π΅Π½ Π²ΠΎ ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π° (MCU), Π²ΠΎ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΡƒΡ€Π΅Π΄ΠΈ, Π·Π° Π΄Π° сС Π½Π°ΠΌΠ°Π»Π°Ρ‚ Ρ‚Ρ€ΠΎΡˆΠΎΡ†ΠΈΡ‚Π΅, ΠΎΠ²ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ Π½Π° Ρ€Π°ΠΌΠ΅Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ процСсор ΠΈ Π±Π°Ρ€Π°Π°Ρ‚ слоТСн Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» кој Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΊΠΎΠΈ Π½Π΅ сС Π»ΠΈΡ†Π΅Π½Ρ†ΠΈΡ€Π°Π½ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄. Како Π΄Π΅Π» ΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ libcamera, ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° софтвСр со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ…Π°Ρ€Π΄Π²Π΅Ρ€ сС ΠΎΠ±ΠΈΠ΄ΠΎΠ° Π΄Π° создадат компромисно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΅, ΠΎΠ΄ Π΅Π΄Π½Π° страна, Π³ΠΈ Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΡƒΠ²Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° софтвСр со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, Π° ΠΎΠ΄ Π΄Ρ€ΡƒΠ³Π°, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π·Π°ΡˆΡ‚ΠΈΡ‚Π° Π½Π° ΠΈΠ½Ρ‚Π΅Π»Π΅ΠΊΡ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° сопствСност Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ.

Π‘Ρ‚Π°ΠΊΠΎΡ‚ ΡˆΡ‚ΠΎ Π³ΠΎ Π½ΡƒΠ΄ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° libcamera Π΅ цСлосно ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ Π²ΠΎ корисничкиот простор. Π—Π° Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ компатибилност со ΠΏΠΎΡΡ‚ΠΎΡ˜Π½ΠΈΡ‚Π΅ софтвСрски ΠΎΠΊΠΎΠ»ΠΈΠ½ΠΈ ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, сС ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ слоСви Π·Π° компатибилност Π·Π° V4L API, Gstreamer ΠΈ Android Camera HAL. БопствСнитС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ спСцифични Π·Π° сСкоја ΠΊΠ°ΠΌΠ΅Ρ€Π° Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° со ΠΎΠΏΡ€Π΅ΠΌΠ°Ρ‚Π° сС Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ΠΈ ΠΊΠ°ΠΊΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π²ΠΎ посСбни процСси ΠΈ ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Π°Ρ‚ со Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΠΏΡ€Π΅ΠΊΡƒ IPC. ΠœΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ Π½Π΅ΠΌΠ°Π°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π΅Π½ пристап Π΄ΠΎ ΡƒΡ€Π΅Π΄ΠΎΡ‚ ΠΈ пристапуваат Π΄ΠΎ ΠΎΠΏΡ€Π΅ΠΌΠ°Ρ‚Π° ΠΏΡ€Π΅ΠΊΡƒ срСдно API, Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΊΠΎΠΈ сС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π°Π°Ρ‚, Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π°Ρ‚ ΠΈ сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ само Π½Π° пристап Π΄ΠΎ функционалноста Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½Π° Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π°.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΈ пристап Π΄ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚ Π½Π° сликитС ΠΈ Π²ΠΈΠ΄Π΅Π°Ρ‚Π° (ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° балансот Π½Π° Π±Π΅Π»Π°Ρ‚Π° боја, Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΡˆΡƒΠΌΠΎΡ‚, Π²ΠΈΠ΄Π΅ΠΎ ΡΡ‚Π°Π±ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°, автофокус, ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π΅ΠΊΡΠΏΠΎΠ·ΠΈΡ†ΠΈΡ˜Π° ΠΈΡ‚Π½.), ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π°Ρ‚ Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ сопствСнички ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. API ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° пристап Π΄ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС ΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° функционалноста Π½Π° ΠΏΠΎΡΡ‚ΠΎΡ˜Π½ΠΈΡ‚Π΅ Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈ ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ, ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ Π½Π° ΡƒΡ€Π΅Π΄ΠΈ, ΡΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со настани Π·Π° ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΈΡΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π°, ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со снимањС Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΎΠ΄ ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»Π½Π° Ρ€Π°ΠΌΠΊΠ° ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ слики со Π±Π»ΠΈΡ†. МоТно Π΅ Π΄Π° сС Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΎΠ΄Π΄Π΅Π»Π½ΠΎ со Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ Π²ΠΎ систСмот ΠΈ Π΄Π° сС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° истоврСмСно снимањС Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π²ΠΈΠ΄Π΅ΠΎ прСноси ΠΎΠ΄ Π΅Π΄Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π° (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅Π΄Π½Π° со ΠΌΠ°Π»Π° Ρ€Π΅Π·ΠΎΠ»ΡƒΡ†ΠΈΡ˜Π° Π·Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, Π° Π΄Ρ€ΡƒΠ³Π° со висока Ρ€Π΅Π·ΠΎΠ»ΡƒΡ†ΠΈΡ˜Π° Π·Π° архивско снимањС Π½Π° диск).

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€