📺Синхронная трансляция видео через OBS + RTMP + HLS
Цель: Организовать локальную трансляцию видео с одного Windows-компьютера (через OBS) на 4 телевизора (1x Samsung UE55H8000 и 3x TCL L43P8US) в пределах одной сети. Поток должен отображаться синхронно
Схема
OBS (Windows) → RTMP → Nginx (с HLS) → SmartTV (браузер)
🧩 Технологии
OBS Studio — источник видео
Nginx + RTMP module — приём и преобразование потока
HLS — формат для совместимости с ТВ
HTML5-плеер — для отображения через браузер ТВ
Локальная сеть — проводная/беспроводная
🔧 Подготовка Windows-сервера
Установи Nginx с RTMP модулем (например, через сборку Nginx RTMP for Windows)
Создай структуру:
C:/ └── streaming/ ├── hls/ └── player.html
Пример
nginx.conf
:
worker_processes 1;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
hls on;
hls_path C:/streaming/hls;
hls_fragment 2;
hls_playlist_length 6;
hls_continuous on;
record off;
}
}
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8080;
server_name localhost;
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
alias C:/streaming/hls/;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
location /player.html {
root C:/streaming;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
}
}
🖥 Настройка OBS
Тип потока: Custom
Сервер:
rtmp://<ip_этого_ПК>:1935/live
Ключ:
stream
📂 HTML5-плеер (player.html
)
player.html
)
📺 Подключение ТВ
В браузере на каждом ТВ открыть:
http://192.168.100.16:8080/player.html
Для автозапуска можно использовать:
Переименование закладки в браузере SmartTV
Автоматическую загрузку стартовой страницы (если поддерживается)
Приложения WebView (на Android TV)
🧪 Тестирование
✅ Полностью синхронная трансляция на всех устройствах ✅ Задержка менее 2 сек ✅ Нет рассинхрона ✅ OBS: 0% потерь ✅ HLS поток стабильный
🐛 Потенциальные проблемы и решения
404 при заходе на /player
Nginx ищет index
, а не player.html
Явно указать /player.html
Подтормаживание раз в 5 сек
HLS фрагментация слишком редкая или сеть не тянет
Уменьшить hls_fragment
, перейти на проводное подключение
Рассинхрон между ТВ
Разные клиенты, время инициализации
Перейти полностью на HLS и запускать с одной точки
🔄 План на будущее
🧱 Перенос на контейнер (LXC) под Proxmox (на Debian)
🔐 Ограничение доступа к HLS через локальный IP
🖥 Автозапуск стриминга через OBS с PowerShell
📡 Переход на Multicast или WebRTC (при необходимости)
Статья протестирована и проверена в боевых условиях.
Автор: Начальник отдела АСУ - Д.И. Глухончук | gr33njj [GitHub - Telegram - WhatsApp] Июль 2025
Last updated