Appearance
Введение
ForgeVis — высокопроизводительный сервер для записи и рестриминга RTSP потоков. Записывайте видео с IP камер и транслируйте множеству клиентов, используя единственное подключение к каждой камере.
Почему ForgeVis?
- Эффективная архитектура: Одно подключение к камере с широковещательной рассылкой
- Фрагментированный MP4: Файлы воспроизводятся во время записи, оптимизированы для стриминга
- RTSP рестриминг: Встроенный RTSP сервер для раздачи потоков клиентам
- Простая конфигурация: Настройка на основе YAML с минимальными требованиями
- По умолчанию без перекодирования: видео с камеры записывается и раздаётся как есть. Перекодирование включается, только когда зритель выбирает 720p в HLS
Ключевые возможности
Запись видео
- Подключение к камерам по RTSP с автоматическим переподключением
- H.264 и H.265, звук AAC, G.711 и Opus
- Фрагментированный MP4 (fMP4), который можно смотреть во время записи, или обычный MP4
- Настраиваемая длительность сегментов (по умолчанию 900 секунд)
- Шаблоны путей с плейсхолдерами
%path,%Y,%m,%d,%H,%M,%S - Хуки на создание и завершение сегмента
- Очистка архива по сроку хранения
RTSP-рестриминг
- Полноценный RTSP-сервер (OPTIONS, DESCRIBE, SETUP, PLAY, TEARDOWN)
- RTP поверх TCP (interleaved) и UDP
- Пакетизация H.264 (RFC 6184) и H.265 (RFC 7798)
- Множество клиентов на одну камеру через broadcast
- Формат URL:
rtsp://localhost:8554/{camera_id}
Просмотр в браузере
- HLS и Low-Latency HLS:
http://localhost:8888/{camera_id}/index.m3u8 - Выбор качества: исходный поток, субпоток и ступень 720p по требованию (
variants.m3u8) - WebRTC (WHEP) с минимальной задержкой
- MSE поверх WebSocket
Архив
- Воспроизведение записи с любого момента: сервер сам находит нужный кадр
- Экспорт фрагмента и таймлапс, в том числе из записи на нескольких узлах
Субпотоки
- Основной поток для записи в полном качестве
- Субпоток для видеостен и слабого канала
- Формат URL:
rtsp://localhost:8554/{camera_id}/sub
Кластер
- Несколько узлов с автоматическим переносом камер при отказе узла
- Роли узлов: запись (
recorder) и раздача (streamer)
Конфигурация
- Конфигурационный файл YAML с общими настройками и переопределением для каждой камеры
- Камеры из файла, из каталога
conf.dили из базы данных - Изменения применяются на лету, без перезапуска
Архитектура
ForgeVis использует hub-архитектуру для эффективного использования ресурсов:
Камера (RTSP) → StreamHub → Recorder (fMP4 / MP4 файлы)
├→ RTSP Server (рестрим клиентам)
├→ HLS (браузеры)
└→ WebRTC (браузеры)Как это работает:
- StreamHub: Поддерживает единственное RTSP подключение к каждой камере
- Broadcast: Эффективно распределяет кадры множеству потребителей
- Recorder: Подписывается на hub, записывает сегменты на диск
- RTSP, HLS, WebRTC: Подписываются на hub и отдают поток клиентам
Все компоненты используют один и тот же видеопоток без дополнительных подключений к камере.
Idle Timeout
ForgeVis автоматически отключается от камеры при отсутствии подписчиков:
- Настраиваемый таймаут простоя (по умолчанию 10 секунд для RTSP-сервера)
- Экономия ресурсов камеры, пока поток никому не нужен
- Автоматическое переподключение при появлении клиентов
Сценарии использования
- Просмотр несколькими клиентами: Один поток камеры для множества зрителей
- Запись + мониторинг: Запись на диск с одновременной трансляцией клиентам
- Оптимизация хранения: Фрагментированный MP4 для эффективного воспроизведения
- Edge обработка: Одно подключение к камере, множество локальных потребителей
- Разделение записи и раздачи: серверы записи + серверы раздачи зрителям
Начало работы
Готовы попробовать ForgeVis? Переходите к Быстрому старту.
Ресурсы
- Справочник по конфигурации - Полные опции настройки
- Кластеризация и HA - Многонодовый режим и failover