1f7dbc2a7d
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>
81 lines
2.4 KiB
Markdown
81 lines
2.4 KiB
Markdown
# 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/ — Иконки
|
||
```
|