Об этом проекте

µStreamer (ustreamer) — это высокопроизводительный MJPEG-стриминговый сервер, предназначенный для захвата видео с любого устройства, совместимого с V4L2 — веб-камер, HDMI/VGA-захватных устройств, камер Raspberry Pi — и передачи его по HTTP в браузеры и плееры, такие как VLC. Он был создан в рамках проекта PiKVM для обеспечения максимального разрешения и частоты кадров при удаленном использовании KVM-over-IP. Ключевые возможности, указанные в README: - Многопоточное JPEG-кодирование для лучшего использования CPU. - Аппаратно-ускоренное кодирование через V4L2 M2M на Raspberry Pi (ядро ≥5.15). - Поддержка DV-timings: динамическая адаптация к изменениям разрешения источника (например, при горячем подключении HDMI). - Постоянная трансляция: отображает заглушку "NO LIVE VIDEO", когда устройство ввода отключается, и автоматически возобновляет работу при повторном подключении. - Дедупликация кадров (`--drop-same-frames`) для значительного снижения пропускной способности при статических цифровых источниках, таких как HDMI. - Поддержка UNIX-сокетов и активации сокетов systemd. - Сигнализация GPIO (через libgpiod) для индикации состояния потока. - Встроенная раздача файлов по HTTP и интеграция с Janus WebRTC для H.264-стриминга. - Совместимость с HTTP API mjpg-streamer для замены без изменений. Установка выполняется из исходников (Makefile) или через пакеты дистрибутивов (Arch, Fedora, Debian/Ubuntu, OpenWRT, FreeBSD). Предоставляются Docker-образы для захвата HDMI на Raspberry Pi 4. Конфигурация полностью осуществляется через командную строку; типичные производственные вызовы указывают формат ввода, аппаратный кодировщик, рабочие потоки, DV-timings и пороги пропуска кадров. Проект распространяется под лицензией GPL-3.0-or-later.