Кристиан Шаллер (Christian Schaller), возглавляющий группу по развитию десктоп-систем в компании Red Hat, рассказал о разработке для Fedora Workstation нового мультимедийного компонента Pinos, предоставляющего API для манипуляции с видео. По решаемым задачам Pinos можно рассматривать как предоставляющий аналогичный уровень абстракции работы с видео, как PulseAudio предоставляет для звука. Например, Pinos позволяет организовать возможность совместной работы с вебкамерой нескольких приложений.
Архитектура Pinos подразумевает разделение провайдеров и потребителей видео, которые являются разными процессами, взаимодействующими через шину DBUS и обменивающимися видео через передачу файлового дескриптора. Провайдером видео может выступать не только устройство захвата видео, но и генерирующее видеопоток приложение. Код Pinos распространяется под лицензией LGPL и основывается на наработках ранее развиваемого проекта PulseVideo, созданного одним из авторов фреймворка GStreamer для мультиплексирования вебкамер между приложениями.
Основные особенности Pinos:
- Значительное упрощение переключения между несколькими доступными камерами в приложениях и возможность смешивания данных от нескольких источников;
- Поддержка различных типов ввода видео, например, кроме камер источником видео может захват содержимого экрана;
- Интеграция с GStreamer для простой и бесшовной поддержки в приложениях;
- Поддержка обработки звука вместе с видео;
- Решение проблем с трансляцией видеопотоков для приложений, выполняемых в sandbox-окружениях.