73aa97ae7c270af2e81e9e22c4dfb55f3b89a91a
Root cause: PowerShell command was wrapped in exec() with double-quote
escaping that silently failed. Rewrote using execFile() with args array
which requires no manual escaping.
Changes:
- electron/devices.js: use execFile('powershell.exe', [...args]) for
window enumeration — eliminates quoting issues entirely
- Window list now returned INSIDE getDevices() video array (type='window')
so they arrive together with cameras/screens in one IPC call
- StreamSettings: windows grouped from devices.video directly, with 🪟
emoji prefix for visual distinction
- Added inline "↻ Обновить" button in video source field header to
refresh devices+windows on demand without switching tabs
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%