feat: initial release — SRT Streamer v1.0.0

Cross-platform Electron + React + FFmpeg desktop app for sending
multiple SRT streams simultaneously.

Features:
- Multiple simultaneous SRT output streams
- Video sources: desktop, window capture, cameras, capture cards
- Audio sources: microphones, system loopback, sound cards
- H.264 encoding with HW acceleration (NVENC/QSV/AMF/VideoToolbox)
- SRT modes: caller / listener / rendezvous
- Frame profile presets (4K, 1080p, 720p, 480p, 360p)
- Tolbek SRT receiver with configurable mode
- System tray: minimize-to-tray, exit confirmation dialog
- Portable build via electron-builder

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
admin
2026-04-16 00:37:40 +03:00
commit 1f7dbc2a7d
25 changed files with 10548 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
# 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/ — Иконки
```