ServerMedia — лёгкий Node.js сервер для вывода контента из OpenLP на экран трансляции и стрим‑оверлей.
Приложение автоматически получает текущий активный слайд из OpenLP (песни или Библия) и отображает его на веб‑странице в формате 4K (3840×2160).
Если текст не активен — показывается фоновая заставка.
✅ вывод песен из OpenLP
✅ вывод стихов из Библии
✅ отдельная страница для стрим‑оверлея
✅ автоматическое переключение при смене слайда
✅ fallback экран при отсутствии текста
✅ WebSocket подключение к OpenLP
✅ обновление экрана без перезагрузки (SSE)
ServerMedia подключается к OpenLP через:
После этого сервер:
1️⃣ получает текущий live‑item
2️⃣ определяет режим (show / blank / theme / desktop)
3️⃣ проверяет тип контента (song / bible / другое)
4️⃣ генерирует HTML экран
5️⃣ отправляет обновление клиентам через SSE (EventSource)
ServerMedia
│
├── server.js
├── song.js
├── bible.js
├── stream.js
│
├── inactive_bg.png
├── bible_bg.jpg
│
└── package.json
| Файл | Назначение |
|---|---|
| server.js | основной сервер |
| song.js | рендер песен |
| bible.js | рендер стихов |
| stream.js | стрим‑оверлей |
Скачать проект:
ServerMedia.zip
Установить зависимости:
npm install ws
node server.js
После запуска сервер будет доступен:
http://localhost:65100/
Страница для стрима:
http://localhost:65100/stream
Можно использовать переменные окружения.
| Переменная | Значение по умолчанию |
|---|---|
| PORT | 65100 |
| OPENLP_HOST | 192.168.50.39 |
| OPENLP_HTTP_PORT | 4316 |
| OPENLP_WS_PORT | 4317 |
| OPENLP_POLL_MS | 200 |
| FALLBACK_BG_FILE | inactive_bg.png |
Пример запуска:
PORT=65100 OPENLP_HOST=192.168.50.39 node server.js
http://localhost:65100/
Показывает:
http://localhost:65100/stream
Прозрачная страница для OBS / vMix.
Показывает только:
📖 стих Библии
Fallback экран:
inactive_bg.png
Используется если:
Фон Библии:
bible_bg.jpg
Доступен через:
/bg
OpenLP
│
├─ WebSocket (state)
│
├─ HTTP API
│
└─ ServerMedia
│
├─ Main screen (/)
│
└─ Stream overlay (/stream)
ServerMedia использует Server‑Sent Events.
Endpoint:
/events
Клиенты получают события:
screenliveЭто позволяет обновлять экран без перезагрузки страницы.
Добавить Browser Source:
http://SERVER_IP:65100/stream
Рекомендуемые настройки:
Resolution:
3840x2160
Background:
Transparent
Free for church streaming use.