Первый выпуск libcamera, стека для поддержки камер в Linux

Автор Сообщение
news_bot ®

Стаж: 6 лет 11 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
18-Окт-2022 10:52

После четырёх лет разработки сформирован первый выпуск проекта libcamera (0.0.1), предлагающего программный стек для работы с видеокамерами, фотокамерами и TV-тюнерами в Linux, Android и ChromeOS, который продолжает развитие API V4L2 и со временем заменит его. Так как API библиотеки ещё продолжает меняться и окончательно не стабилизирован, до сих пор проект развивался без ответвления отдельных выпусков с использованием непрерывной модели разработки. В ответ на потребность дистрибутивов в отслеживании изменений API, влияющих на совместимость, и для упрощения поставки библиотеки в пакетах теперь принято решение периодически формировать релизы, отражающие степень изменения ABI и API. Код проекта написан на C++ и распространяется под лицензией LGPLv2.1.
Проект развивается разработчиками мультимедийных подсистем ядра Linux совместно с некоторыми производителями камер с целью нормализации ситуации с поддержкой в Linux камер для смартфонов и встраиваемых устройств, которые привязаны к проприетарным драйверам.
Уже имеющийся в ядре Linux API V4L2 в своё время был создан в расчёте на работу с традиционными обособленными web-камерами и плохо адаптирован для появившейся в последнее время тенденции выноса функциональности MCU на плечи CPU.
В отличие от традиционных камер, в которых операции первичной обработки изображений производятся на встроенном в камеру специализированном процессоре (MCU), во встраиваемых устройствах для сокращения стоимости эти функции выносятся на плечи основного CPU и требуют усложнённого драйвера, включающего не подлежащие открытию лицензированные компоненты. В рамках проекта libcamera сторонники СПО и производители оборудования попытались создать компромиссное решение, с одной стороны удовлетворяющее потребности разработчиков открытого ПО, а с другой - позволяющее защитить интеллектуальную собственность производителей камер.
Предлагаемый библиотекой libcamera стек реализован целиком в пространстве пользователя. Для обеспечения совместимости с существующими программными окружениями и приложениями предоставляются прослойки для совместимости с API V4L, Gstreamer и Android Camera HAL. Специфичные для каждой камеры проприетарные компоненты взаимодействия с оборудованием оформляются в виде модулей, выполняемых в отдельных процессах и взаимодействующих с библиотекой через IPC. Модули не имеют прямого доступа к устройству и обращаются к оборудованию через промежуточный API, запросы через который проверяются, фильтруются и ограничиваются только обращением к функциональности, необходимой для управления камерой.
Библиотека также предоставляет доступ к алгоритмам для обработки и улучшения качества изображений и видео (корректировка баланса белого, устранение шума, стабилизация видео, автофокус, выбор экспозиции и т.п.), которые могут подключаться в виде открытых внешних библиотек или проприетарных изолированных модулей. API предоставляет доступ к таким функциям, как определение функциональности имеющихся внешних и встроенных камер, использование профилей устройств, обработка событий подключения и отключения камер, управление захватом данных с камер на уровне отдельных кадров и синхронизация снимков с работой вспышки. Возможна раздельная работа с несколькими камерами в системе и организация захвата одновременно нескольких видеопотоков с одной камеры (например, один с низким разрешением для видеоконференции, а другой с высоким разрешением для архивной записи на диск).
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_libcamera, #_camera
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 04-Фев 00:02
Часовой пояс: UTC + 5