Первый выпуск libcamera, стека для поддержки камер в Linux
Автор
Сообщение
news_bot ®
Стаж: 6 лет 11 месяцев
Сообщений: 27286
После четырёх лет разработки сформирован первый выпуск проекта 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
===========
Похожие новости
- Главная ссылка к новости (https://www.reddit.com/r/linux...)
- OpenNews: В рамках проекта libcamera развивается стек для поддержки камер в Linux
- OpenNews: Выпуск Entangle 2.0, программы для управления цифровыми камерами
- OpenNews: Техника определения скрытых камер при помощи ToF-датчика смартфона
- OpenNews: Релиз OpenIPC 2.2, альтернативной прошивки для камер видеонаблюдения
- OpenNews: Доступны открытая мобильная платформа /e/OS 1.0 и смартфон Murena One на её основе
Похожие новости:
- Техника определения скрытых камер при помощи ToF-датчика смартфона
- [C++, Unreal Engine] Как мы реализовали систему камер для мобильной TPS игры
- [Разработка веб-сайтов, Работа с видео, DevOps, Видеоконференцсвязь] Automatize it, or Docker container delivery for WebRTC
- [Работа с видео, JavaScript, Программирование, Видеоконференцсвязь] Streaming multiple RTSP IP cameras on YouTube and/or Facebook
- [Разработка веб-сайтов, Работа с видео, Программирование, Видеоконференцсвязь] Стриминг множества RTSP IP камер на YouTube и/или Facebook
- [Разработка мобильных приложений, Разработка под Android] CameraX+ML Kit для распознавания номера карты в действии
- [Машинное обучение, Развитие стартапа, Искусственный интеллект, Здоровье, Телемедицина] Новосибирский стартап запустил камеры по мониторингу первичного состояния здоровья
- [C++, Qt, Разработка под Android] Фото из Android смартфона в Qt Widgets
- [Удалённая работа] Как превратиться в суперзвезду Zoom-звонков за 15 минут
- [Open source, Виртуализация, Kubernetes, Openshift] 7 вещей, которые нужно проработать, прежде чем запускать OpenShift в продакшн
Теги для поиска: #_libcamera, #_camera
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 04-Фев 02:50
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 11 месяцев |
|
После четырёх лет разработки сформирован первый выпуск проекта 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 =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 04-Фев 02:50
Часовой пояс: UTC + 5