◆ ForgeVis
Skip to content

Введение ​

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 (браузеры)

Как это работает:

  1. StreamHub: Поддерживает единственное RTSP подключение к каждой камере
  2. Broadcast: Эффективно распределяет кадры множеству потребителей
  3. Recorder: Подписывается на hub, записывает сегменты на диск
  4. RTSP, HLS, WebRTC: Подписываются на hub и отдают поток клиентам

Все компоненты используют один и тот же видеопоток без дополнительных подключений к камере.

Idle Timeout ​

ForgeVis автоматически отключается от камеры при отсутствии подписчиков:

  • Настраиваемый таймаут простоя (по умолчанию 10 секунд для RTSP-сервера)
  • Экономия ресурсов камеры, пока поток никому не нужен
  • Автоматическое переподключение при появлении клиентов

Сценарии использования ​

  • Просмотр несколькими клиентами: Один поток камеры для множества зрителей
  • Запись + мониторинг: Запись на диск с одновременной трансляцией клиентам
  • Оптимизация хранения: Фрагментированный MP4 для эффективного воспроизведения
  • Edge обработка: Одно подключение к камере, множество локальных потребителей
  • Разделение записи и раздачи: серверы записи + серверы раздачи зрителям

Начало работы ​

Готовы попробовать ForgeVis? Переходите к Быстрому старту.

Ресурсы ​

Proprietary software.