Управление презентациями и медиаконтентом на втором экране без суеты в эфире
Оператор видит библиотеку, каналы и управление — зрители видят только готовый контент.
Presentation Display Manager — Windows-приложение для конференций, докладов, трансляций и мероприятий с двумя экранами. Главное окно остаётся у оператора, а PowerPoint, PDF, видео, изображения и таймер выводятся на выбранный проектор или дополнительный монитор.
Библиотека файлов → каналы 1 / 2 / 3 / 4 → «В эфир» → внешний дисплей
операторское окно экран зрителей
Приложение рассчитано на быстрые переключения: следующий материал можно подготовить в отдельном канале, не меняя текущую картинку в эфире.
- Каналы 1 / 2 / 3 / 4 и дополнительные страницы — заранее разложите контент и отправляйте нужный канал в эфир одним нажатием.
- Бесшовное переключение эфира — PDF, PowerPoint и видео сменяют друг друга без чёрного кадра, рабочего стола и мерцания; предыдущий кадр остаётся видимым до полной готовности следующего.
- PowerPoint — превью всех слайдов, переход к нужному слайду, next/prev и нативное слайд-шоу через Microsoft PowerPoint. При выходе Roland закрывает только созданный им экземпляр PowerPoint, а уже открытое пользовательское окно возвращает в исходное состояние.
- PDF и офисные документы — показ PDF, а также предпросмотр Word и Excel через установленный Microsoft Office.
- Видео без потери позиции — play/pause, seek, громкость и продолжение с сохранённого момента после переключения между каналами в текущей сессии.
- Изображения и подложка — фон показывается только после явного выбора и не переносится в следующую сессию.
- Таймер поверх эфира — перетаскивание, масштабирование, прозрачность текста, звуковые сигналы и отдельные цвета для основного времени, последней минуты и перелимита.
- Музыкальный плеер — плейлист, громкость, переход между треками и режимы повтора.
- Управление дисплеями — выбор внешнего экрана, режима Windows, разрешения и частоты обновления.
- Масштаб Windows — эфирное окно учитывает координаты и DPI выбранного дисплея, включая распространённый масштаб 150%.
- Аудиовыход — выбор устройства с корректным отображением русских названий.
- Кликер — глобальное управление слайдами стрелками и Page Up/Page Down.
- Диагностика — постоянный журнал с данными о дисплеях, PowerPoint, экспорте превью и воспроизведении медиа.
| Тип | Форматы |
|---|---|
| Презентации | .pptx, .ppt |
| Документы | .pdf, .doc, .docx, .xls, .xlsx, .txt, .rtf, .odt, .ods |
| Видео | .mp4, .mov, .avi, .webm, .mkv |
| Изображения | .jpg, .jpeg, .png, .gif, .bmp, .webp, .tiff, .tif, .svg |
| Аудио | .mp3, .wav, .ogg, .aac, .m4a, .flac, .wma |
Фактическое воспроизведение конкретного видео- или аудиокодека зависит от поддержки Chromium и Windows, а не только от расширения файла.
- Скачайте актуальный
.exeна странице Releases. - Запустите
Presentation Display Manager Setup x.x.x.exe. - Выберите папку установки и завершите установку.
- Подключите второй монитор или проектор и включите в Windows режим «Расширить».
- В приложении откройте настройки дисплеев и выберите экран для эфира.
CI-сборки публикуются без коммерческой цифровой подписи. Поэтому Windows SmartScreen может показать предупреждение «Неизвестный издатель»: нажмите «Подробнее» → «Выполнить в любом случае», если установщик скачан из официального раздела Releases этого репозитория.
- Windows 10/11 x64;
- второй дисплей или проектор для полноценного эфирного режима;
- Microsoft PowerPoint desktop для показа PPT/PPTX и создания превью слайдов;
- Microsoft Word/Excel desktop для предпросмотра соответствующих документов.
PDF, изображения, видео, музыка и таймер не требуют установленного PowerPoint.
- Выберите папку с материалами в левой панели.
- Перетащите файлы в каналы 1, 2, 3 или 4. Кнопка
+добавляет ещё одну страницу из четырёх каналов. - При необходимости заранее выберите слайд или поставьте видео на нужную позицию.
- Нажмите «В эфир» или дважды щёлкните по каналу.
- Кнопка «Выйти из эфира» закрывает текущий материал. Если в этой сессии выбрана подложка, появится она; иначе внешний экран станет чёрным.
Для PPTX и PDF доступны стрелки и прямой ввод номера слайда. Позиции слайдов сохраняются отдельно для каждого файла. При переключении с поставленного на паузу видео на другой канал его позиция сохраняется до закрытия приложения.
Таймер открывается поверх контента на внешнем дисплее и не мешает управлению презентацией. Доступны:
- длительность и быстрые поправки
±1,±5,±10минут; - перетаскивание мышью и масштабирование колёсиком;
- прозрачность текста;
- цвет основного таймера;
- цвет за одну минуту до окончания;
- цвет перелимита времени;
- отдельные звуковые сигналы на отметках 1:00 и 0:00.
Положение, масштаб и оформление сохраняются. Текущее время и выбранные звуки начинаются заново при каждом запуске.
Если на конкретном компьютере не создаются превью PPTX, появляется чёрный экран или некорректно определяется монитор:
- Запустите приложение и воспроизведите проблему.
- Откройте Настройки → Диагностика.
- Нажмите «Открыть папку логов».
- Передайте файл
pdm-diagnostic.logразработчику.
Лог содержит версии приложения, Windows, Electron и Office, параметры экранов и DPI, этапы запуска PowerPoint, экспорт превью и ошибки медиапротокола. При достижении 8 МБ он автоматически ротируется; предыдущая версия сохраняется рядом.
Понадобятся Node.js 22+ и Windows PowerShell.
npm ci
npm run dev # режим разработки с hot reload
npm run build # сборка main/preload/renderer в out/
npm run package:win # Windows NSIS installer в dist/Подписанная локальная сборка поддерживается отдельным сценарием и требует собственного .pfx-сертификата:
powershell -ExecutionPolicy Bypass -File .\build\build-signed.ps1Для автоматической сборки используется GitHub Actions. Ручной запуск создаёт artifact, а push тега v* дополнительно публикует GitHub Release.
| Слой | Реализация |
|---|---|
| Версия приложения | 1.1.3 |
| Desktop runtime | Electron 43.1.1 |
| Интерфейс | React 19.2.7, TypeScript 7.0.2, Tailwind CSS 4.3.3 |
| Состояние | Zustand 5.0.14 |
| Сборка | electron-vite 5.0.0, Vite 7.3.6, PostCSS 8.5.21, electron-builder 26.15.3, NSIS |
| PowerPoint | PowerShell, COM Automation, постоянный JSON-демон с восстановлением состояния Office |
| pdfjs-dist 6.1.200 и нативный Windows.Data.Pdf | |
| Таймер | WPF-оверлей через PowerShell |
Архитектура бесшовного эфира и обязательные правила против регрессий описаны в docs/SEAMLESS_SWITCHING.md.
- renderer работает с
sandbox,contextIsolation,webSecurityи Content Security Policy; - локальные файлы передаются через ограниченный протокол
pdm-media://, а не открываются напрямую черезfile://; - переходы, разрешения и допустимые пути проверяются в main process;
- Electron Fuses отключают
RunAsNode,NODE_OPTIONSи CLI Inspector; шифрование cookies включено; - приложение не требует учётной записи и работает офлайн;
- CI не хранит сертификаты подписи в репозитории.
Технические материалы находятся в папке compliance/.
src/
main/ окна, IPC, диагностика, PowerPoint-демон, pdm-media
preload/ изолированный API между renderer и main process
renderer/ React-интерфейс оператора и эфирного окна
scripts/ PowerShell: Office COM, таймер, аудио и дисплеи
build/ иконка, NSIS-настройки, Electron Fuses и подпись
compliance/ документы по безопасности и сетевому поведению
docs/ архитектурные заметки и правила против регрессий
Проект распространяется по лицензии MIT: его можно свободно использовать, изменять и распространять с сохранением текста лицензии.
English summary
Presentation Display Manager is a Windows desktop application for driving a projector or secondary display during conferences, talks, streams, and live events. The operator keeps the library, channel grid, and playback controls on the primary monitor while the audience sees only the selected content.
Key features include numbered multi-page channels (1/2/3/4, 5/6/7/8, …), seamless flicker-free switching between PDF, PowerPoint and video, native PowerPoint control and slide previews, PDF and Office document previews, video playback with in-session position restore, images, background music, configurable display and audio output, a draggable timer with normal/warning/overtime colors, and built-in diagnostic logging.
Download the latest Windows installer from GitHub Releases. Microsoft PowerPoint is required for PPT/PPTX playback and preview generation. The application itself works offline and is released under the MIT License.
npm ci
npm run dev
npm run build
npm run package:win