# SRT Streamer Кроссплатформенное десктопное приложение для отправки нескольких SRT-потоков. ## Требования - **Node.js** 18+ — https://nodejs.org - **FFmpeg с поддержкой SRT** — обязательно ## Установка ### Windows 1. Скачать FFmpeg с SRT: https://github.com/BtbN/FFmpeg-Builds/releases Файл: `ffmpeg-master-latest-win64-gpl.zip` 2. Положить `ffmpeg.exe` в папку `ffmpeg-bin\` 3. Запустить: ``` setup.bat ``` ### macOS / Linux ```bash # macOS brew install ffmpeg # Linux (Ubuntu/Debian) sudo apt install ffmpeg # Затем: chmod +x setup.sh ./setup.sh ``` ## Запуск ```bash # Режим разработки 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/ — Иконки ```