Skip to content

Что такое Prism

Prism — домашняя медиасистема из нескольких самостоятельных частей, связанных только двумя контрактами: HTTP API и MQTT. Каждая часть работает без остальных, поэтому набор можно собирать под свой сценарий.

Роли

РольКто исполняетОтвечает за
ИсточникPrism.Host (служба Windows или консольный запуск)сканирование папок, библиотеку, метаданные, стриминг
РендерерPrism.Player.Android (Android TV), веб-клиентпоказывает видео по присланному URL
Контроллервеб-клиент, Prism.Launcherпросмотр библиотеки и выбор, что и где включить
Координаторумный дом (ThinkingHome и др.)автоматизация: находит плееры по MQTT и шлёт им команды

Сервер не содержит интерфейса — весь UI живёт в клиентах. Плеер не знает про библиотеку — ему приходит абсолютный URL потока. Благодаря этому источников контента может быть несколько, а плееров — сколько угодно.

Из чего состоит

  • Prism.Host — ASP.NET Core, только API. Запускается как служба Windows (Prism.Host.Service, ставится инсталлятором) или из консоли для разработки (Prism.Host.Console).
  • Prism.Client — веб-интерфейс на React + Vite: дерево библиотеки и плеер. Единственная настройка — URL сервера.
  • Prism.Player.Android — нативный плеер для Android TV на Media3/ExoPlayer, управляется пультом и по MQTT.
  • Prism.Launcher — значок в трее Windows: отправляет файл из проводника на выбранный плеер.
  • Плагины (Prism.Plugins.*) — опциональные модули сервера. Структура библиотеки и метаданные реализованы плагином Prism.Plugins.Library; без него ядро продолжает раздавать файлы.

Дальше

Опубликовано под лицензией MIT