admin bc65186637 build: add Windows portable EXE packaging scripts
- scripts/build-icon.js — generates icon.png/ico/tray-icon.png
  from pure Node.js (no dependencies, zlib + PNG/ICO encoder)
- scripts/fix-wincodeSign.js — pre-populates electron-builder
  winCodeSign cache by extracting the .7z while ignoring macOS
  symlinks (which fail on Windows without SeCreateSymbolicLink)
- package.json: add fix-wincodeSign script, cross-env, electron-builder
  downgraded to v24 (stable portable target), CSC signing disabled

Build: npm run build:win → dist-electron/SRT-Streamer-Portable-1.0.0.exe

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 01:12:33 +03:00

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

# 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/           — Иконки
S
Description
Cross-platform SRT multi-stream sender � Electron + React + FFmpeg
Readme 328 KiB
Languages
JavaScript 81.3%
CSS 15.5%
Batchfile 1.7%
Shell 1.1%
HTML 0.4%