Об этом проекте
µ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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.