acbd3b63491d4c800820896297b2984e1f4cbf11
- Auto-reconnect: stream retries with exponential backoff (2s→30s max) on unexpected exit; stops only when user clicks Stop - Recording: global RecordingBar with folder picker, segment duration (min), per-stream checkbox, Select All; uses FFmpeg tee muxer for simultaneous SRT + segmented .ts file output - Monitor capture: PowerShell System.Windows.Forms.Screen gives exact pixel bounds (x/y/width/height); per-monitor deviceName is now unique (desktop_monitor_N); gdigrab uses -offset_x/-offset_y/-video_size - Window capture: windowTitle now explicitly propagated in handleVideoSelect - System audio: added WASAPI Loopback option (no VB-Audio required), existing virtual-audio-capturer kept as fallback - Reconnecting event forwarded to renderer; status shows "Reconnecting…" with attempt count in logs - IPC: pick-folder (dialog.showOpenDialog) and open-folder (shell.openPath) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
SRT Streamer
Кроссплатформенное десктопное приложение для отправки нескольких SRT-потоков.
Требования
- Node.js 18+ — https://nodejs.org
- FFmpeg с поддержкой SRT — обязательно
Установка
Windows
- Скачать FFmpeg с SRT: https://github.com/BtbN/FFmpeg-Builds/releases
Файл:ffmpeg-master-latest-win64-gpl.zip - Положить
ffmpeg.exeв папкуffmpeg-bin\ - Запустить:
setup.bat
macOS / Linux
# macOS
brew install ffmpeg
# Linux (Ubuntu/Debian)
sudo apt install ffmpeg
# Затем:
chmod +x setup.sh
./setup.sh
Запуск
# Режим разработки
npm run dev
# Собрать портативный .exe (Windows)
npm run build:win
# Собрать для macOS
npm run build:mac
# Собрать AppImage (Linux)
npm run build:linux
Возможности
- Несколько одновременных SRT-потоков
- Источники видео: карты захвата, камеры, рабочий стол, захват окна (с опцией скрыть курсор)
- Источники аудио: микрофоны, гарнитуры, системный звук (loopback), устройство по умолчанию
- Кодировка H.264 с аппаратным ускорением (NVENC / QSV / AMF / VideoToolbox)
- SRT режимы: caller / listener / rendezvous
- Приёмник Tolbek (входящий SRT-поток)
- Сворачивание в трей, выход только через меню трея
Структура
SRT_stream/
├── electron/ — Electron main process
│ ├── main.js — Окно, трей, IPC
│ ├── preload.js — Bridge renderer ↔ main
│ ├── ffmpeg.js — Управление FFmpeg процессами
│ └── devices.js — Перечисление устройств
├── src/ — React UI
│ ├── App.jsx
│ └── components/
│ ├── StreamCard.jsx
│ ├── StreamSettings.jsx
│ ├── TolbekSettings.jsx
│ └── LogPanel.jsx
├── ffmpeg-bin/ — Положить ffmpeg.exe сюда
└── assets/ — Иконки
Description
Releases
2
Languages
JavaScript
81.3%
CSS
15.5%
Batchfile
1.7%
Shell
1.1%
HTML
0.4%