Управление презентациями и медиаконтентом на нескольких экранах без суеты в эфире
Оператор видит библиотеку, каналы и управление — зрители видят только готовый контент.
| Редакция | Для чего | Скачать |
|---|---|---|
| PDM 1.1.6 | Работа с локальными экранами без встроенного стриминга | Обычная версия |
| PDM 1.1.6 stream | Локальный эфир + отправка в Telegram, VK и другие RTMP/RTMPS-сервисы до 1080p | Stream-версия |
Stream устанавливается отдельно: Presentation Display Manager Stream имеет свой ярлык,
идентификатор установщика и папку настроек %APPDATA%/presentation-display-manager-stream.
Обычная PDM сохраняет прежнее имя и профиль %APPDATA%/presentation-display-manager.
Можно держать обе редакции установленными, но для работы с общими экранами и Office запускайте
только одну за раз. Настройки не переносятся автоматически: сохраните конфигурацию мероприятия
в .pdmconfig и загрузите её в другой редакции; ключи стрима в этот файл не входят.
В настройках Stream отображается «1.1.6 stream». В package.json, имени установщика и теге
используется техническая запись 1.1.6-stream / v1.1.6-stream.
Обе редакции используют общую кодовую базу. Обновление сборок от 21 сентября 2026 года
использует номера 1.1.6 и 1.1.6-stream; встроенный стриминг доступен только в Stream.
-
Подключение и отключение дополнительных мониторов стало безопасным в любой момент работы: операции с эфирными, информационными, таймерными экранами и суфлёром выполняются последовательно, устаревшие запросы отменяются, а назначенные роли восстанавливаются после повторного подключения без аварийного fullscreen-состояния Windows.
-
Таймер доклада можно независимо отправить в суфлёр. В настройках используется одно переключаемое превью «Основной эфир / Суфлёр»; положение и масштаб каждого выхода сохраняются отдельно и передаются круглой кнопкой ↻. Суфлёр, основной эфир, живая копия и внутренний Program показывают одинаковый прозрачный таймер без плашки.
-
Геометрия таймера унифицирована для предпросмотра Сцены, нативного выхода, живой копии, стрима без монитора и виртуальной камеры. Учитываются фактический размер экрана и масштаб Windows; крайние положения действительно доходят до края. Команды
+/- минутво всех местах меняют оставшееся время, не ломают исходное значение для сброса и не скрывают таймер при уходе в перелимит. -
Верхняя панель стабильно пересчитывает две строки после появления кнопок управления видео, музыкой и таймером; на узком окне все элементы и подписи остаются внутри интерфейса без обрезки.
-
Electron обновлён до 44.4.3. Добавлены воспроизводимый длительный тест памяти и синтетические презентации для проверки устойчивости; критический контур продолжает проверять обе редакции, PowerPoint, Сцену, таймеры, безопасность, UI и локальный стриминг.
-
Добавлено интерактивное обучение при первом запуске на настоящем интерфейсе PDM: 32 последовательных шага знакомят с каналами, бесшовным переключением, Сценой, внешним источником, хромакеем, QR, титрами, таймерами, музыкой, видео, экранами, аудиовыходом, виртуальной камерой и стримом. Учебные данные полностью изолированы от реального эфира и оборудования; пройти урок повторно можно через «Настройки → Помощь → Обучение».
-
Кнопка «Назад» в обучении теперь восстанавливает реальное исходное состояние выбранного шага: нужное окно, Сцена, контекстное меню, каналы и черновики снова готовы к повторению действия. Подсказки QR и титров не прокручиваются и не перекрывают рабочие поля.
-
Добавлено прямое управление Stream Deck XL по USB без программы Elgato: каналы и видео, Сцена и её раскладки, слайды, выбранные титры, QR-код, таймер и музыка. Подписи, цвета и активное состояние отображаются на физических клавишах; устройство автоматически переподключается после временной потери связи.
-
Добавлена системная виртуальная камера PDM для Windows 11. Она передаёт готовый эфир PDM в Zoom, Telegram, браузер и другие программы в формате 1920×1080, 30 кадров/с. Пропорции сохраняются без растягивания; свободные поля заполняются чёрным. Компонент входит в установщик и управляется через «Настройки → Виртуальная камера»; звук выбирается отдельно в программе видеосвязи.
-
Восстановлена надёжная работа дополнительных экранов: уже запущенный таймер появляется сразу после назначения экрану, а «Основной эфир (живая копия)» продолжает переподключаться после временной потери захвата вместо перехода в постоянный чёрный экран.
-
Усилена безопасность окон и IPC: эфирные окна получают только минимальный API и заранее разрешённые файлы, пароль Wi-Fi QR хранится через системное шифрование, а диагностический журнал скрывает домашние пути и секреты трансляции. Восстановлен полный обмен с доверенным окном захвата, поэтому камеры и платы видеозахвата снова корректно определяются.
-
Добавлен единый критический тестовый контур для PowerPoint, Сцены, таймера, Stream Deck, безопасности, UI и локального стриминга. Возврат по всем 31 переходам обучения отдельно проверяется в обеих редакциях.
-
Добавлена отдельная Stream-редакция: RTMP/RTMPS, до пяти площадок, 720p/1080p, системный звук и микрофон, аппаратное H.264-кодирование при поддержке оборудования.
-
Stream теперь может работать без дополнительного монитора через внутренний программный выход PDM: 25/30 кадров/с. С физическим эфирным экраном сохраняется прямой захват Windows. Задержка у зрителя зависит от оборудования, сети, площадки и плеера; фиксированное время задержки не гарантируется.
-
«Сцена для эфира» — единый предпросмотр фона, презентации, камеры, медиаслоёв, текста, QR и таймера. Правый клик добавляет объекты; над предпросмотром показана подсказка со значком мыши. Настройки выбранного объекта открываются справа, скрытые слои доступны через «Настроить → Слои сцены».
-
Одна общая кнопка «Показать в эфире» / «Выйти из эфира» управляет Сценой. Черновик передаётся целиком кнопкой ↻: при неопубликованных изменениях она ярко светится и остаётся подсвеченной даже после повторного открытия окна. Промежуточные перемещения и настройки не попадают в эфир; интерфейс показывает подтверждённое состояние выхода.
-
«Добавить слой» автоматически определяет картинку или видео. Слои реально располагаются выше/ниже презентации и в предпросмотре, и в эфире; доступны порядок, положение, масштаб, прозрачность, обрезка, закрепление и дублирование, для видео — пауза, перемотка и запуск сначала. Скрытый слой отмечается оранжевым.
-
Хромакей настраивается правым кликом по внешнему источнику. Картинка, видео или канал заполнения выбираются отдельно от общего фона и видны только через удалённую зелёнку выбранной камеры.
-
Ускорена подготовка PPTX: качественные кадры экспортируются один раз, миниатюры уменьшаются из них. Повторное открытие использует готовый дисковый кэш без открытия Office. Первые непрерывные 25% слайдов позволяют начать показ, остальные продолжают кэшироваться; для 123 слайдов порог — 31. Крестик канала сохраняет кэш, обычное закрытие PDM останавливает подготовку и очищает временный кэш PowerPoint.
-
Исправлены прозрачные остатки и уменьшенные PDF-кадры при масштабировании Windows, пропорции PDF в суфлёре и переключение живого эфира между основным экраном и суфлёром.
-
Предпросмотр Сцены следует текущему эфирному каналу: сохранённый раньше видеоканал больше не перекрывает новую PDF/PPTX-презентацию. Ручной выбор канала для черновика не отправляет его в эфир; простое добавление или выделение другого файла не меняет предпросмотр.
-
Таймер добавляется и редактируется прямо в Сцене, включая оба звуковых файла; начальное значение — 15 минут. Перемещение, масштаб, оформление и изменение времени остаются черновиком до явного нажатия ↻. Закрытие выключенной Сцены отбрасывает локальные изменения и не двигает самостоятельный таймер в эфире.
-
Доступны визуальный выбор положения участника, несколько размеров, равная раскладка «Пополам», дополнительная регулировка высоты камеры от 100 до 250% с сохранением пропорций видеокадра, острые или скруглённые углы и быстрый переключатель режима на верхней панели.
-
Настройки показывают живое превью выбранного внешнего источника и текущего материала. Камеру или плату захвата можно выбрать прямо в окне режима без добавления отдельного канала слева.
-
Вертикальные PDF, изображения и слайды автоматически центрируются и используют фон вместо прозрачных или чёрных боковых полей; скругление применяется к самому документу.
-
Титры управляются красными кнопками «Выступающий», «Мероприятие», «Показать все» с автоскрытием; меню канала позволяет выбрать выступающего и показать оба титра. При выборе той же камеры титры видны также на информационном экране.
-
Для PPTX, PDF, Word, Excel и захвата окна/экрана добавлена лупа: масштабирование колесом в точке курсора до 300%, перемещение увеличенного материала зажатой левой кнопкой и быстрый возврат к 100% без выключения режима.
-
Переключения PDF ↔ PPTX в режиме «Картинка в картинке» переработаны: устранены наложение двух презентаций, вспышка панели задач и изменение размера предыдущего материала перед сменой.
-
QR-код добавляется в общую Сцену и публикуется вместе с ней, не исчезая при выборе другого объекта. Доступны ссылка/Wi‑Fi, готовый QR-файл, дизайн и логотип, редактируемое описание слева или справа. Код также можно отдельно показывать/скрывать через меню канала; если он ещё не создан, откроются настройки.
-
Видео с верхней панели корректно перекрывает PPTX, Word, Excel и захваченные окна; после остановки восстанавливается материал, который находился в эфире до запуска ролика.
-
В «Настройки → Вид» доступны две темы интерфейса оператора: «Классическая» и Broadcast Pro в виде графитовой эфирной консоли. При первом запуске используется Broadcast Pro; уже сохранённый выбор сохраняется и не влияет на эфирные окна.
-
Новый запуск PPTX дожидается подтверждённой очистки предыдущего PowerPoint и ограниченно повторяет восстановление при её сбое. Защитная заставка разблокируется только после проверенного OPEN + COMMIT, а не по обычной просьбе интерфейса. Подготовленные окна переставляются совместно, без предварительного снятия старого вывода.
-
При подготовке/запуске PowerPoint PDM автоматически вызывает «Включить содержимое» только для предупреждения о заблокированных внешних рисунках конкретного PPTX/PPSX/POTX без VBA (русский/английский Office). Связанные изображения могут загружаться из сети; используйте доверенные файлы. Макросы, ActiveX, защищённый просмотр и общие настройки безопасности Office автоматически не разрешаются. Для макросодержащих/старых форматов, при недоступной UI Automation или неподдерживаемом предупреждении потребуется ручное разрешение в PowerPoint; проверьте свою версию Office перед мероприятием.
-
Подготовленная раскладка сохраняется в конфигурации, но после загрузки остаётся выключенной до команды оператора.
-
Electron обновлён до 44.4.3, совместимые патч-версии остальных библиотек актуализированы; итоговый
npm auditне обнаруживает уязвимостей.
При первом запуске появляется предложение пройти «Ваш первый показ». Приветствие напоминает,
как подключить дополнительный экран через Windows → Win + P → «Расширить». Сам урок начинается
с переноса двух презентаций в соседние каналы и показывает, как заранее собрать материалы мероприятия,
подготовить следующий канал и бесшовно заменить им текущую презентацию в эфире.
Раздел «Экраны» объясняется позже вместе с суфлёром, живой копией, информационным экраном и таймерами.
Само знакомство доступно без монитора и проходит прямо в настоящем интерфейсе PDM. Подсказки
по очереди выделяют реальные кнопки, медиатеку, каналы, слайды и Сцену для эфира. Пользователь
сам перетаскивает учебные презентации по анимированным стрелкам, запускает показ, вводит текст в Сцене и публикует изменения
через ↻. Затем маршрут кратко проводит по видео, музыке, фону, автоматике, кликеру, обоим таймерам,
учебной камере, хромакею, QR-коду, титрам, раскладкам, аудиовыходу, настройкам и стриму. После распознанного действия обычные шаги автоматически
переходят дальше. Если показывается итог «Готово», пользователь спокойно читает пояснение и нажимает «Далее» сам. Тексты рассчитаны на неподготовленного пользователя:
одна короткая задача на шаг, крупная подсказка и минимум технических терминов.
Окна видео, музыки, таймеров, экранов, общих настроек и стрима остаются открытыми для осмотра и
переводят урок дальше только после закрытия крестиком. Пока такое окно открыто, большая карточка
подсказки исчезает, а короткая команда показывается в отдельной верхней полосе и не закрывает настройки.
Результат переключателей без отдельного окна показывается четыре секунды и описывает фактическое
состояние кнопки. В настройках доступны два учебных аудиовыхода, поэтому выбор действительно меняется.
Выбор звукового файла в безопасном обучении ничего не открывает и не меняет.
Учебные данные изолированы: они не попадают в рабочие каналы, реальные выходы и стрим
не вызываются, камера и микрофон не включаются. Изображение «учебной камеры» рисуется локально внутри урока.
Сохраняется только факт прохождения и номер шага.
Знакомство можно пропустить, продолжить после перезапуска или повторить через
«Настройки → Помощь → Обучение». Таймер и медиаслой добавляются тем же правым кликом в окне Сцены.
Проверка: npm run test:onboarding:ui.
Presentation Display Manager — Windows-приложение для конференций, докладов, трансляций и мероприятий с несколькими экранами. Главное окно остаётся у оператора, основной контент выводится зрителям, а отдельные дисплеи при необходимости работают как суфлёр докладчика и информационное табло.
Основной монитор — интерфейс оператора
Любой дополнительный монитор — эфир, копия эфира, суфлёр,
информационный экран, простой таймер, таймер мероприятия или выключен
Один режим можно назначить нескольким мониторам: например, вывести эфир на два экрана или открыть одинаковый суфлёр для двух спикеров.
Приложение рассчитано на быстрые переключения: следующий материал можно подготовить в отдельном канале, не меняя текущую картинку в эфире.
- Переключаемая сетка каналов — раскладка 4 (2×2) для крупных превью или 9 (3×3) для одновременной работы с девятью каналами без прокрутки; дополнительные страницы позволяют заранее разложить ещё больше контента.
- Автоматическое заполнение каналов — кнопка
123...->раскладывает все поддерживаемые материалы из открытой папки по номеру в начале имени:3.pdf,03-Ролик.mp4,4. Презентация.pptxи другие варианты. Недостающие страницы создаются автоматически, а файлы без номера остаются в библиотеке. - Подписи каналов — карандаш в карточке позволяет подписать канал именем доклада, спикера или блока программы; подпись сохраняется независимо от замены материала и входит в конфигурацию.
- Сохранение конфигурации мероприятия — один файл
.pdmconfigсохраняет материалы и подписи каналов, переходы после видео, номера слайдов, раскладку, назначения и имена дисплеев, подложку, информационный экран, плейлисты, позиции видео, оба таймера, кликер и аудиовыход. - Аварийное восстановление рабочей сессии — при падении PDM подготовленные каналы, подписи, источники, выбранные слайды, сетка и текущая страница возвращаются на следующем запуске без автоматического выхода в эфир. При обычном закрытии, подтверждённом оператором, подготовленные каналы очищаются. Если после сбоя отдельный файл удалён или переименован, очищается только связанный с ним канал.
- Автопереход между презентациями — по желанию клик «вперёд» на последнем слайде PPTX/PDF открывает ближайший следующий непустой канал, а клик «назад» на первом слайде — предыдущий. Пустые каналы пропускаются, функция при каждом запуске выключена.
- Бесшовное переключение эфира — PDF, PowerPoint, видео и внешние источники сменяют друг друга без чёрного кадра, рабочего стола и мерцания; предыдущий кадр остаётся видимым до полной готовности следующего.
- PowerPoint — превью всех слайдов, переход к нужному слайду, next/prev и нативное слайд-шоу через Microsoft PowerPoint. Сразу после добавления PPTX в канал PDM скрыто открывает её в PowerPoint, готовит превью и полноразмерные кадры. Редактор PowerPoint скрывается до первого эфирного кадра и не вспыхивает на операторском экране. Пока видна метка «Кэширование…», кнопка выхода в эфир недоступна; после завершения презентация уже загружена и готова к показу. При выходе PDM закрывает только созданные им презентации, а уже открытое пользовательское окно возвращает в исходное состояние.
- PDF и офисные документы — сразу после добавления PDF в канал PDM в фоне готовит полноразмерные страницы под разрешение и DPI выбранного эфирного дисплея. Прогрессивная загрузка миниатюр и комбинированный рендер через Windows.Data.Pdf, PDFium и резервный pdf.js автоматически обходят проблемные страницы. Также доступен предпросмотр Word и Excel через установленный Microsoft Office.
- Видео без потери позиции и переход по окончании — play/pause, stop, seek, громкость, повтор ролика или плейлиста и продолжение с сохранённого момента после переключения между каналами; для каждого видеоканала можно заранее выбрать канал, который автоматически выйдет в эфир после окончания ролика. После выхода в эфир видео ожидает ручного нажатия Play.
- Камеры и платы видеозахвата — добавление веб-камер, USB-камер и HDMI/USB-плат для показа камеры, Apple TV и других внешних источников. Для устройств видеозахвата можно отдельно выбрать связанный аудиовход.
- Окна программ и экраны — автоматический список открытых окон, показ браузера, Word, Excel, Проводника, командной строки или целого экрана. Свёрнутое окно развернётся только после нажатия «В эфир»; браузер при этом автоматически переходит в режим F11 и скрытно возвращается в исходное положение, размер, состояние и монитор при выходе из эфира, не перекрывая операторское окно.
- Курсор при показе окна — когда оператор работает в PDM, курсор не попадает в миниатюру и эфир захваченного окна; при переходе в демонстрируемую программу используется привычный системный курсор Windows. Звук выбранной программы не захватывается.
- Титры внешнего источника — поверх камеры, платы видеозахвата, окна программы или захваченного экрана можно независимо показать титр с ФИО и должностью выступающего, а также дополнительный титр с информацией о мероприятии. Заранее создаётся список из любого количества выступающих; для каждого слоя настраиваются эффекты появления и исчезновения, автоскрытие, а для мероприятия — положение в одной из девяти зон экрана.
- Изображения и подложка — выбранный фон применяется ко всем включённым дополнительным дисплеям. Обычно новая сессия начинается без фона, но его можно явно перенести вместе с сохранённой конфигурацией. На суфлёре фон служит чистой заглушкой, когда в эфире нет PPTX/PDF, и не просвечивает между блоками слайдов.
- Сцена для эфира — единый монтажный экран показывает композицию в фактическом порядке слоёв: фон, нижние картинки и видео, презентацию, внешний источник, верхние слои, текст и QR. Правый клик открывает сначала «Добавить в сцену», а затем действия выбранного объекта и «Настроить»; так можно вернуть даже скрытый или закрытый презентацией слой. Презентация выбирается кликом по её области, внешний источник — левым кликом по окну камеры. Колесо над камерой меняет её высоту от 100 до 250%. Хромакей открывается из контекстного меню камеры и содержит только относящиеся к нему настройки. Кнопка «Показать в эфире» публикует подготовленный вариант целиком, а круглая стрелка обновляет уже показанную сцену.
- Медиаслои Сцены — можно добавить любое количество изображений и видеороликов, не связанных с камерой и хромакеем. Выбранный слой перемещается мышью, масштабируется колесом или за угловую ручку; команды «Выше» и «Ниже» меняют порядок относительно других слоёв и презентации. Нижний слой виден в свободных или прозрачных областях композиции, верхний накладывается поверх презентации. Для видео отдельно настраиваются повтор и звук. Файлы, положение и порядок сохраняются в конфигурации, но после загрузки проекта автоматический вывод остаётся выключенным.
- QR-код поверх эфира — создание QR со ссылкой или автоматическим подключением к Wi‑Fi либо загрузка готового QR-кода из PNG, JPEG, BMP, WebP или SVG. Для создаваемого кода настраиваются рисунок модулей (квадраты, точки или мягкий), цвет и логотип по центру. Справа можно добавить необязательное описание, например «Задать вопрос спикеру», и отдельно настроить цвет текста, размер шрифта, ширину плашки, её цвет либо полностью прозрачную подложку. Режим «Автоцвет со слайда» берёт цвет из области материала под описанием и пересчитывает его при перелистывании или перемещении QR. Отдельный «Автоконтраст текста» делает надпись чёрной на светлой плашке и белой на тёмной; если его отключить, при автоматической подложке можно выбрать любой цвет шрифта вручную. В окне настройки фоном отображается активный эфирный материал, а пипетка рядом с каждым выбором цвета позволяет взять оттенок прямо из его предпросмотра. QR и подпись перемещаются и масштабируются единым блоком. Для любого варианта доступны острые или скруглённые углы, размер от 10 до 100% высоты экрана и положение. QR выводится отдельным прозрачным слоем поверх PDF, PowerPoint, Word, Excel, видео, изображения, захвата окна/экрана и режима «Картинка в картинке».
- Темы интерфейса — во вкладке «Настройки → Вид» можно переключаться между прежней темой «Классическая» и Broadcast Pro. Broadcast Pro перестраивает рабочее окно в эфирную консоль: панель управления, медиатека, переключатель каналов и навигатор слайдов оформлены как самостоятельные аппаратные модули, а активный и выбранный каналы получают яркую красную и зелёную индикацию. Декоративные подписи внутри интерфейса остаются русскими. Меняется только рабочее окно оператора: эфир, суфлёры, информационные экраны, таймеры и QR сохраняют установленное оформление. Выбранная тема автоматически восстанавливается после перезапуска.
- Таймер поверх эфира — перетаскивание, масштабирование, прозрачность текста, звуковые сигналы и отдельные цвета для основного времени, последней минуты и перелимита. Положение и размер запоминаются после остановки таймера и перезапуска PDM.
- Таймер мероприятия — отдельное полноэкранное табло с расписанием, названием события, крупным отсчётом, стоимостью минуты, автоматическим расчётом итога, красным перелимитом и собственным фоном. Его панель и состояние не зависят от простого таймера.
- Музыкальный плеер — плейлист, громкость, переход между треками и режимы повтора.
- Прямое управление Stream Deck по USB — PDM подключается к Stream Deck XL без программы Elgato и без официального плагина. Во вкладке «Настройки → Stream Deck» можно назначить каждой из 32 кнопок канал, перелистывание, выход в эфир, титры, QR-код, таймер или музыку. Названия и состояние отображаются прямо на клавишах, активные функции подсвечиваются, раскладка и яркость сохраняются на этом компьютере. Если программа Elgato уже заняла устройство, PDM показывает понятное предупреждение и повторяет подключение после её закрытия.
- Виртуальная камера — во вкладке «Настройки → Виртуальная камера» установите системный компонент, подтвердив стандартный запрос Windows, затем включите камеру и выберите PDM Virtual Camera в программе для видеосвязи. В некоторых программах Windows дописывает к названию Windows Virtual Camera. При наличии эфирного монитора передаётся его итоговая картинка вместе с PowerPoint-анимациями и слоями; без дополнительного монитора используется внутренний программный выход PDM. Формат фиксирован: 1920×1080, 30 кадров/с, с сохранением пропорций и чёрными полями при необходимости. Требуется Windows 11.
- Универсальные дисплеи — каждому дополнительному монитору независимо назначается эфир, суфлёр, информационный экран, простой таймер, таймер мероприятия или выключенное состояние; одинаковые режимы можно повторять, а каждому физическому экрану можно дать понятное пользовательское имя.
- Живая копия эфира — второй монитор с режимом «Основной эфир» зеркалирует главный выход вместе с PowerPoint-анимациями, видео и бесшовными переходами, но без повторного воспроизведения звука. Во время подготовки нового источника сохраняется последний готовый кадр, а статичный первый слайд PPTX появляется автоматически без дополнительного Next/Prev. PPTX сохраняет исходные пропорции и отдельно вписывается в геометрию каждого монитора: 16:9 заполняет Full HD, а на ультрашироком экране получает корректные боковые поля — без растягивания и обрезки самого слайда. Наложенный таймер повторяется в том же положении и масштабе не только поверх PPTX, но и поверх напрямую отрисованных PDF, видео и изображений.
- Суфлёр докладчика — один или несколько дисплеев следуют за активной PPTX/PDF-презентацией и показывают текущий слайд, следующий слайд, номер и заметки PowerPoint.
- Информационные экраны — независимый синхронный показ PPTX, PDF, видео, изображения, внешнего видеовхода либо выбранного окна/экрана на одном или нескольких мониторах; у видео есть play/pause, stop, переход по времени и зацикливание, а содержимое не меняется при переключении каналов основного эфира.
- Гибкий вывод таймера — обычный таймер выводится на мониторы с режимом «Таймер», а если таких мониторов нет — автоматически накладывается поверх основного эфира. Новый таймер мероприятия назначается отдельно и не меняет это поведение.
- 4K, масштаб Windows и смена разрешения — эфирное окно, PowerPoint, оба таймера и вспомогательные дисплеи используют актуальные физические границы каждого монитора. PDM автоматически перестраивает вывод после изменения разрешения, DPI, масштаба или расположения экранов, сохраняет точную позицию простого таймера между остановкой и повторным запуском и скрывает панель задач именно на нужном дисплее.
- Аудиовыход — выбор устройства с корректным отображением русских названий.
- Кликер — глобальное управление слайдами стрелками и Page Up/Page Down.
- Защита от потери подготовки — обычное закрытие главного окна требует подтверждения, а renderer и вспомогательные процессы контролируются и восстанавливаются без самопроизвольного обнуления каналов.
- Диагностика — постоянный журнал с данными о дисплеях, PowerPoint, экспорте превью и воспроизведении медиа, событиями жизненного цикла и аварийными дампами Chromium/Electron.
| Тип | Форматы |
|---|---|
| Презентации | .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 |
| Внешние источники | камеры и USB/HDMI-платы видеозахвата, окна программ, экраны |
Фактическое воспроизведение конкретного видео- или аудиокодека зависит от поддержки 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.
- Выберите папку с материалами в левой панели либо добавьте камеру, плату видеозахвата, окно программы или экран в разделе «Внешние источники».
- Выберите раскладку 4 · 2×2 или 9 · 3×3 и перетяните материал либо внешний источник в нужный канал. Значок кнопки показывает раскладку, на которую переключит следующий клик: 9 точек в режиме 2×2 и 4 квадрата в режиме 3×3. Кнопка
+добавляет ещё одну страницу из 4 или 9 каналов. - При необходимости заранее выберите слайд или поставьте видео на нужную позицию.
- Выберите канал с контентом — после этого станет доступна кнопка «В эфир». Нажмите её или дважды щёлкните по каналу. Свёрнутое окно программы развернётся только на этом шаге.
- Кнопка «Выйти из эфира» закрывает текущий материал. Если в этой сессии выбрана подложка, появится она; иначе внешний экран станет чёрным.
Для совместного показа откройте «◫ Сцена» в нижнем ряду верхней панели. На вкладке «Сцена для эфира» соберите готовую композицию прямо в общем предпросмотре. Фон, текст, QR, картинку или видео добавляйте через правую кнопку мыши; канальную презентацию выбирайте кликом по области презентации, а камеру или плату захвата — левым кликом по окну внешнего источника. Один захват нельзя одновременно назначить нижним слоем и камерой участника. Рядом с кнопкой «Сцена» постоянно расположены три быстрые кнопки раскладки: «Участник на весь экран», «Контент на весь экран» и «Участник и контент». Переключение не переподключает камеру и не перезапускает материал. Размер «Пополам» делит доступную ширину между материалом и участником на две равные колонки. Область материала принимает реальные пропорции PDF/PPTX, центрируется и занимает максимально доступную площадь: вертикальная страница остаётся крупной, без широкой прозрачной рамки и без растягивания. Скругление применяется к самому видимому материалу.
В окне «Сцена» две верхние вкладки: «Сцена для эфира» и «Титры». Предпросмотр всегда расположен слева, а настройки выбранного текста, QR, слоя или хромакея открываются справа без изменения размера окна. Перемещение и редактирование объектов остаётся черновиком и не передаётся на программный экран в процессе настройки; подготовленный вариант применяется кнопкой показа, круглой стрелкой обновления или при закрытии Сцены. Во вкладке «Титры» крупный предварительный просмотр, полностью видимые подписи цветов и компактная настройка автоскрытия. Кнопки «Выступающий» и «Мероприятие» независимо включают соответствующие титры и сами возвращаются в исходное состояние после заданного времени; «Показать все» сначала предлагает выбрать конкретного выступающего и затем выводит оба титра.
У активного канала PPT/PPTX, PDF, Word, Excel или захвата окна/экрана поверх миниатюры появляется кнопка «🔍 Лупа». Включите её и вращайте колесо над нужной точкой изображения: миниатюра и эфир синхронно увеличатся относительно положения курсора от 100 до 300%. Увеличенный материал можно перемещать зажатой левой кнопкой мыши — эфир синхронно покажет выбранную область. Для окна/экрана лупа работает как в полноэкранном показе, так и в режиме «Картинка в картинке», не меняя размер участника. Нажатие на проценты возвращает масштаб 100%, но оставляет лупу включённой; ещё одно нажатие при 100% выключает режим. При переключении эфирного канала увеличение автоматически сбрасывается.
QR добавляется правой кнопкой мыши в общем предпросмотре; его настройки открываются справа и разделены на «Содержимое» и «Оформление». Можно использовать ссылку, Wi‑Fi или готовый файл, ввести описание слева или справа и редактировать его прямо на сцене. QR с подписью перемещается и масштабируется единым блоком. Команда «Скрыть QR-код» в меню канала выключает только эфирный слой и не удаляет QR из подготовленной сцены; повторное «Добавить QR-код» всегда возвращает его в предпросмотр, не отправляя черновик в эфир. Все настройки сохраняются сразу, без кнопок «Сохранить» и «Отмена». Для подложки описания доступны режимы «Авто», «Цвет» и «Прозрачная», при этом прозрачная подложка не размывает текст. Для QR, созданного в PDM, сохраняется белое защитное поле; после перезапуска автоматический выход в эфир отключён.
Для передачи готового дополнительного экрана в программную ВКС остановите текущую демонстрацию и выберите «Весь экран» → «Экран 2». Не выбирайте отдельное окно Presentation/PDM или «Живую копию»: PPT/PPTX и простой таймер являются отдельными системными окнами и при захвате только окна PDM не попадут в ВКС. На миниатюре выбора должен быть виден весь дополнительный рабочий стол; это можно быстро проверить, открыв поверх него Блокнот. Аппаратной ВКС следует подавать физический HDMI-сигнал того же дополнительного выхода.
Для PPTX и PDF доступны стрелки и прямой ввод номера слайда. Позиции слайдов сохраняются отдельно для каждого файла и восстанавливаются при следующем запуске. При переключении с поставленного на паузу видео на другой канал его позиция сохраняется до закрытия приложения.
Верхняя панель разделена на два ряда. Первый: Настройки → Видео → Музыка → Фон → Авто → Кликер → В эфир. Второй: Экраны → Таймер доклада → Таймер+ → Сцена с тремя раскладками → Стрим (только в Stream-редакции). Внутри «Сцены» находятся единый монтажный экран «Сцена для эфира» и «Титры»; настройки текста, QR, слоёв и хромакея открываются контекстно. Место для трёх быстрых раскладок сохраняется и при выключенной картинке; в этот момент они недоступны.
В «Настройки → Вид → Кнопки верхней панели» можно отметить нужные кнопки чекбоксами. Изменения применяются сразу и сохраняются между запусками отдельно от .pdmconfig, как личная настройка рабочего места. «Показать все» возвращает полный набор. Кнопки «Настройки» и «В эфир» скрыть нельзя. Три раскладки не имеют отдельного флажка и всегда следуют за «Сценой». Скрытие остальных кнопок только убирает их с панели: таймер, музыка, видео, картинка Сцены, QR и стрим продолжают работать до явного отключения.
Чтобы подготовить каналы сразу из одной папки, назовите материалы с номером канала в начале и нажмите 123...-> слева от кнопки «Обзор». Распознаются, например, 3.pdf, 03.mp4, 1 - Доклад.pptx, 4. Презентация.pdf и 01-Заставка.jpg; подходят все поддерживаемые типы файлов. Если целевой канал занят, PDM запросит подтверждение замены. Канал, который уже находится в эфире, не перезаписывается, а одинаковые номера после первого файла пропускаются.
Карандаш в правом верхнем углу карточки задаёт подпись канала. Текст располагается справа и растёт влево, поэтому номер и состояние канала остаются видимыми. Enter или щелчок вне поля сохраняет подпись, Escape отменяет изменение. PPTX и PDF после добавления в канал сразу начинают фоновую подготовку. Для нового PPTX PowerPoint один раз экспортирует качественные кадры, из которых PDM делает миниатюры; готовый кэш повторно используется без открытия Office. Статус показывает процент: после первых непрерывных 25% слайдов можно начать эфир, хотя кэширование ещё продолжается. Для 123 слайдов требуется 31 готовый кадр. Во внутреннем выходе и суфлёре переход на ещё не готовый кадр отклоняется без снятия текущего; нативный показ PowerPoint сохраняет исходные анимации и встроенное видео.
В карточке видеоканала слева от кнопки «В эфир» находится список «После». Выберите в нём любой другой непустой канал — после естественного окончания ролика PDM автоматически и бесшовно отправит этот канал в эфир. Значение «Не переключать» оставляет эфир на последнем кадре. Настройка относится к конкретному каналу и действует в текущей сессии.
Кнопка «Авто» находится в верхнем ряду между «Фон» и «Кликер». Когда она включена, переход вперёд с последнего слайда PPTX/PDF запускает ближайший следующий канал с контентом, а переход назад с первого слайда — ближайший предыдущий. Пустые каналы автоматически пропускаются. При каждом запуске PDM автопереход выключен.
Вкладка «Сцена → Титры» открывает управление эфирной графикой. Выберите канал с камерой, платой видеозахвата, окном программы или экраном — его текущий кадр будет использован как фон предварительного просмотра.
- В блоке «Выступающие» заранее добавьте столько людей, сколько потребуется. Выберите нужного в списке, укажите ФИО и должность, затем нажмите «Показать». Переключение на следующего выступающего выполняется выбором его карточки и той же кнопкой.
- Для титра выступающего независимо выбираются эффекты появления и исчезновения: мгновенно, плавно, движение слева, справа, снизу или масштабирование.
- В блоке «Информация о мероприятии» можно ввести до трёх строк дополнительного текста, выбрать собственные эффекты и положение: слева, по центру или справа в верхней, центральной либо нижней части экрана.
- Надпись «МЕРОПРИЯТИЕ» является обычным редактируемым заголовком: её можно заменить своим текстом или оставить пустой.
- Для каждого слоя независимо выбирается форма: скруглённый или строгий прямоугольник, капсула, а также два диагональных варианта — с ровной левой и наклонной правой стороной либо с наклонной левой и ровной правой. Боковая цветная полоска повторяет геометрию наклона.
- В оформлении отдельно меняются цвет текста, два цвета фона и два цвета градиентной полоски: у спикера она находится слева, у информации о мероприятии — справа.
- Поле «Автоматически скрыть через» задаёт время показа каждого слоя в секундах. Значение
0отключает автоскрытие; при повторном показе или обновлении отсчёт начинается заново. - По правому клику на канал с внешним источником открывается быстрое меню. Кнопка «Показать всё» одновременно отправляет выбранного выступающего и информацию о мероприятии; ниже их можно выводить по отдельности. Выбор титра не переключает канал и не запускает TAKE: графика появляется только на тех выходах и информационных экранах, где уже выбран тот же внешний источник; там же оба слоя можно скрыть.
- Редактирование полей не меняет уже показанную зрителям графику: подготовленный вариант всегда виден в превью, а эфир обновляется только кнопкой оператора.
- Кнопка «Скрыть все титры» одновременно убирает оба слоя.
- Титры физически рисуются только поверх внешнего источника. В режиме «Картинка в картинке» они выводятся внутри окна участника поверх выбранной камеры/платы захвата и остаются видимыми при PPTX, PDF, видео или изображении, не закрывая основной материал. В обычном полноэкранном показе PPTX, PDF, видео или изображения титры скрыты.
Тексты сохраняются в .pdmconfig, но после запуска PDM или загрузки конфигурации титры не выходят в эфир автоматически.
Откройте Настройки → Конфиг и нажмите «Сохранить конфиг», чтобы сохранить подготовку мероприятия в файл .pdmconfig. Для восстановления выйдите из эфира, откройте ту же вкладку и нажмите «Загрузить конфиг». Загрузка не запускает презентацию, видео, музыку или таймер автоматически — оператор сам выбирает канал и нажимает «В эфир».
PDM проверяет каждый путь перед восстановлением. Если презентацию, PDF, видео или другой файл удалили либо переименовали, программа не пытается угадать новый файл: соответствующий канал остаётся пустым, остальные каналы загружаются как обычно, а пропущенный путь показывается в списке предупреждений. Подписи каналов при этом сохраняются. USB-камеры и платы видеозахвата сохраняются и автоматически переподключаются при возвращении устройства; окна программ и захват экрана нужно выбрать заново, поскольку их системные идентификаторы меняются. Назначения дисплеев применяются только к безопасно распознанным подключённым мониторам.
Кнопка «🖥 Экраны» показывает все подключённые дополнительные мониторы. Для каждого выбирается один режим:
- Основной эфир — один монитор является выделенным главным выходом, остальные показывают его живую беззвучную копию; главный дисплей можно переназначить кнопкой «Сделать главным», в том числе во время эфира;
- Суфлёр — текущий и следующий слайды PPTX/PDF, номер и заметки PowerPoint;
- Информационный экран — независимый PPTX, PDF, видеоролик, изображение, плата видеозахвата/камера либо окно/экран компьютера;
- Таймер — прежний полноэкранный таймер;
- Таймер мероприятия — отдельное полноэкранное табло мероприятия;
- Выключен — на монитор выводится выбранная подложка, а при её отсутствии показывается чёрный экран.
Режимы можно повторять на любом количестве мониторов. При отключении устройства его окно закрывается и не переносится на операторский экран. Если тот же монитор возвращается после краткого переключения физического входа, PDM восстанавливает его прежнюю роль и заново открывает соответствующий вывод.
В поле «Добавить имя экрана» можно подписать каждый физический монитор, например «Проектор сцены», «Суфлёр спикера» или «Таймер». Имена сохраняются между запусками и входят в файл конфигурации PDM.
- Назначьте одному или нескольким мониторам режим «Информационный экран» в окне «🖥 Экраны».
- Выберите источник: «Выбрать файл» для PPT/PPTX, PDF, видео и изображений; «Внешний источник» для платы видеозахвата или USB-камеры; «Окно / экран» для открытой программы или целого дисплея.
- Для презентации или PDF используйте отдельные стрелки и счётчик слайдов. Это не переключает презентацию в основном эфире.
- Видеоролик не запускается автоматически. Кнопка меняется между «Воспроизвести» и «Пауза»; «Стоп» останавливает ролик и возвращает его в начало, полоса с таймингом позволяет перейти к нужному месту, а «Зациклить» включает повтор. Внешний видеовход и захват окна/экрана начинают показываться сразу после выбора, без передачи звука.
- Кнопка «Отключить контент на информационном экране» останавливает в том числе видеозахват и возвращает общую подложку, а если она не выбрана — чёрный фон.
Выбранный файл или источник действует только в текущей сессии PDM, если оператор явно не сохранил его в конфигурацию. Обычный таймер не заменяет содержимое информационных экранов: он показывается на мониторах с режимом «Таймер», а при их отсутствии — поверх основного эфира.
Таймер выводится на один или несколько мониторов с режимом «Таймер», назначенным в окне «Экраны». Если такой монитор не назначен, таймер автоматически накладывается поверх основного эфира. Доступны:
- длительность и быстрые поправки
±1,±5,±10минут; - прозрачность текста;
- цвет основного таймера;
- цвет за одну минуту до окончания;
- цвет перелимита времени;
- отдельные звуковые сигналы на отметках 1:00 и 0:00.
Положение, масштаб и оформление сохраняются. Текущее время и выбранные звуки начинаются заново при каждом запуске.
Кнопка «◷ Таймер+» открывает независимую панель дополнительного таймера, выполненного по макету экрана мероприятия. Существующий простой таймер при этом не меняется: оба таймера имеют отдельные настройки и могут использоваться одновременно.
В панели задаются заголовок, название события, начало и конец, стоимость минуты, однотонный цвет, двухцветный градиент с настраиваемым углом либо фоновое изображение, а также цвет текста. Для крупного центрального значения выбирается ровно один из четырёх режимов: «Текущее время», «Таймер», «До начала» или «До конца». У каждого режима собственный запоминаемый заголовок: переключение кнопок возвращает последний текст именно этого режима. Автоматические варианты используют формулировки «До начала мероприятия» и «До конца мероприятия», а кнопка «Авто» сбрасывает только заголовок текущего режима. Также можно отдельно скрыть или показать верхние часы, расписание, заголовок, название события, строку «До завершения» и итоговую стоимость. Значение «До завершения» всегда рассчитывается как разница между временем окончания мероприятия и текущими часами. Кнопки Play, Pause и Stop управляют только режимом «Таймер»; значения «До начала» и «До конца» независимо рассчитываются по системным часам. Время таймера корректируется кнопками ±1, ±5, ±10 минут либо тремя отдельными двухзначными полями часов, минут и секунд. Кнопка «Сейчас» отменяет локальную правку времени и возвращает в превью время и состояние таймера, которые в эту секунду идут в эфире; пока таймер не отправлен в эфир, кнопка недоступна. Каждое поле принимает только две цифры, минуты и секунды ограничены значением 59. Весь интерфейс Timer+ и экран вывода используют встроенный SBSansDisplay-Light, поэтому установка шрифта в системе не требуется.
Стоимость начисляется только за время после перехода таймера в минус. Сброс или установка нового времени не обнуляют уже накопленный итог: стоимость следующего перелимита прибавляется к нему. Кнопка «Сбросить итог» рядом с ценой минуты отдельно обнуляет общую сумму перелимита.
Чтобы вывести табло, назначьте монитору режим «Таймер мероприятия» в окне «Экраны» и нажмите «Отправить в эфир». Если экран ещё не назначен, слово «Экраны» в предупреждении является ссылкой: раздел откроется поверх Таймера+, а после его закрытия оператор вернётся в ту же панель с сохранёнными правками. После выхода табло в эфир любые изменения видны только в превью и не меняют изображение зрителей. Кнопка «Обновить эфир» применяет подготовленный вариант, а «Убрать из эфира» отключает табло. Параметры сохраняются в .pdmconfig, но после загрузки конфигурации таймер остаётся остановленным и не выходит в эфир автоматически.
Кнопка «⚡ LIVE» рядом со Stop отдельно разрешает оперативное управление эфирным таймером. Пока она выключена, Play, Pause, Stop, поправки минут и ввод времени меняют только превью. Когда LIVE подсвечена красным, эти команды применяются к внешнему экрану немедленно; текст, фон и остальные настройки по-прежнему требуют кнопки «Обновить эфир».
В настройках PiP → «Звук камеры» выберите аудиовход камеры, платы захвата или микшера и включите флажок. Звук появляется при активном PiP в эфире; один только предпросмотр или открытие настроек его не включает. Переключение между участником, контентом и общей раскладкой сохраняет звук. Выключение PiP, выход из эфира или закрытие PDM освобождает аудиопоток. При выборе другого внешнего источника звук сбрасывается, чтобы случайно не оставить микрофон предыдущей камеры. Выбор входа не переподключает видео.
Кнопка ↻ обновляет список и повторяет подключение. При отключении аудиоустройства
появляется предупреждение; другой микрофон автоматически не подставляется. Настройки
сохраняются в .pdmconfig, но после загрузки PiP остаётся выключенным.
Звук воспроизводится через аудиовыход PDM. Для стрима со звуком PiP и видеороликов выберите «Весь системный звук» и проверьте приёмник. Не подключайте тот же вход повторно в режиме «Системный звук + микрофон» — это даст двойной голос. Используйте наушники или микшер, чтобы звук из колонок не возвращался в микрофон.
В Stream-редакции для Windows доступна кнопка «Стрим» на верхней панели. Обычная сборка не содержит этой кнопки, стриминговых модулей и FFmpeg. Stream отправляет итоговый эфир по RTMP/RTMPS, включая нативные окна PowerPoint/Word/Excel, видео, PiP, таймер, титры и QR-код.
- Выведите контент PDM в эфир. Дополнительный монитор необязателен: без него используется внутренний программный выход, а при назначенном эфирном экране — прямой захват этого экрана.
- Создайте трансляцию на нужной площадке в режиме внешнего приложения/кодера.
- Откройте «Стрим», вставьте адрес сервера и ключ потока, выданные площадкой. Если площадка выдала полную RTMP/RTMPS-ссылку, вставьте её в адрес и оставьте ключ пустым.
- Выберите 1920×1080 или 1280×720 и битрейт. Для физического экрана доступны 25/30/50/60 кадров/с; для внутреннего выхода без дополнительного монитора — 25 или 30 кадров/с. Начальные настройки — 1080p, 30 кадров/с, 6000 кбит/с; они должны соответствовать требованиям площадки и скорости исходящего интернета.
- Выберите звук: весь системный звук с текущего устройства воспроизведения Windows, микрофон/звуковая карта, их сочетание или без звука. Для выбора конкретного входа нажмите «Обновить аудиовходы».
- Нажмите «Начать трансляцию». Отправка может сделать эфир публичным в зависимости от настроек площадки. Надпись «поток отправляется» означает передачу на сервер; видимость зрителям проверяется на самой площадке.
- «Остановить стрим» завершает отправку на все выбранные площадки. Закрытие окна настроек оставляет стрим работающим.
«Проверить адреса без эфира» проверяет доступность серверов по TCP/TLS, не отправляя изображение, звук или ключ. Это не проверка правильности ключа и не гарантия приёма трансляции площадкой.
Можно добавить до пяти площадок, в том числе произвольный RTMP/RTMPS-сервис. Все получают одинаковое качество; видео кодируется один раз в H.264, звук — в AAC, а суммарная исходящая скорость растёт с количеством получателей. «Авто» проверяет доступность NVIDIA/Intel/AMD и при отсутствии подходящего аппаратного кодера использует процессор. Ошибка уже работающего кодера останавливает стрим с сообщением, а сетевые подключения восстанавливаются независимо. При переподключении под названием площадки показывается причина: отказ доступа, ошибка сертификата, недоступность сервера, переполнение очереди или ошибка параметров потока. Секретные адреса и ключи из вывода кодера в сообщение не включаются.
При выборе физического экрана захватывается его фактическое изображение. Посторонние окна на нём тоже попадут в трансляцию. При меньшем исходном разрешении выбор 1080p масштабирует изображение, но не добавляет деталей; при другом соотношении сторон сохраняются пропорции и добавляются поля. Системный звук включает уведомления и другие программы. Вывод PDM на отдельное аудиоустройство, не совпадающее с системным, следует проверить по приёмнику; для внешнего микшера доступен выбор аудиовхода.
Кнопка «Сохранить настройки» сохраняет ключи зашифрованными средствами Windows в пользовательском
каталоге приложения (stream-settings.enc), отдельно от проекта и экспортируемой конфигурации.
Ключи не записываются в диагностические логи. Трансляция не стартует автоматически после запуска PDM.
При отключении, переназначении или изменении параметров эфирного экрана стрим останавливается с
сообщением; после восстановления экрана его нужно запустить повторно. Это относится к стриму
с физического экрана; внутренний программный выход не требует подключённого монитора.
Видео физического экрана захватывается непосредственно средствами Windows и кодируется в H.264 один раз. Внутренний выход передаёт готовые кадры композиции PDM, без захвата рабочего стола. Промежуточной записи видео в VP8/WebM больше нет. Звук передаётся блоками PCM по 20 мс и кодируется в AAC; пропущенные аудиоблоки замещаются тишиной, чтобы не сдвигать звук относительно видео. У каждой площадки отдельный процесс отправки без повторного кодирования. Очередь каждой отправки ограничена 1,2 секунды или 2 МиБ; при превышении старые кадры отбрасываются до нового ключевого кадра без обрыва подключения. На установление соединения отведён отдельный срок: медленный ответ сервера не должен вызывать бесконечные переподключения. При длительном зависании отправки соединение перезапускается. Дополнительно контролируется продвижение сетевой отправки внутри FFmpeg — запись в его входной буфер сама по себе не считается отправкой. Медленная площадка не блокирует остальные. Это лимиты очередей, а не всей памяти приложения. При остановке освобождаются захват, аудиоконтекст, очереди и процессы кодирования/отправки.
В окне «Стрим» отображаются измеренный битрейт, нарастание отставания кодера и очередь каждой отправки в миллисекундах. Это показатели внутри PDM: сервер площадки и плеер зрителя могут добавлять собственную задержку. Если компьютер длительно не успевает кодировать, PDM останавливает стрим с пояснением вместо накопления минут старого видео.
Для разработки: npm run test:streaming проверяет два локальных RTMP-приёмника,
переподключение и завершение процессов; после npm run build команда
npm run test:streaming:capture проверяет реальный захват 1080p на подключённом дополнительном
экране с изолированным профилем Electron, включая фактический системный звук.
npm run test:streaming:latency показывает тестовые часы на свободном дополнительном экране
и измеряет возраст часов в декодированных RTMP-кадрах. Для длительного прогона задайте
PDM_LATENCY_SECONDS=180, для разрыва приёмника во время теста — PDM_LATENCY_RECONNECT=1.
Эти проверки отправляют данные только на localhost; во время них эфирный экран должен быть свободен.
Если на конкретном компьютере не создаются превью PPTX, появляется чёрный экран или некорректно определяется монитор:
- Запустите приложение и воспроизведите проблему.
- Откройте Настройки → Диагностика.
- Нажмите «Открыть папку логов».
- Передайте файл
pdm-diagnostic.logразработчику.
Лог содержит версии приложения, Windows, Electron и Office, параметры экранов и DPI, этапы запуска PowerPoint, экспорт превью, ошибки медиапротокола и события завершения процессов. При достижении 8 МБ он автоматически ротируется; предыдущая версия сохраняется рядом. При аварии Electron дополнительно создаёт локальный .dmp-файл без отправки данных в интернет.
- Кнопка «⏹ Выйти из эфира» закрывает тяжёлый файл, который показывал PDM, а крестик активного канала дополнительно удаляет материал из канала.
- Для PDF отменяются незавершённые задачи, закрываются документы и освобождаются экранные кэши и воркеры. Для видеофайла отключается источник и освобождается декодер. Для PPT/PPTX PDM закрывает управляемую им презентацию и связанные медиаданные. Крестик канала сохраняет дисковый PowerPoint-кэш для быстрого повторного открытия; это не хранение всех слайдов в ОЗУ.
- При обычном закрытии всей PDM останавливается фоновая подготовка PPTX, завершается текущая партия и работа с миниатюрами, закрываются управляемые ресурсы PowerPoint, затем очищаются временные папки
pdm-slides-*/pdm-thumbs-*в%TEMP%. Исходные презентации, настройки и конфигурации не удаляются. Если общий кэш занят второй работающей новой сборкой PDM, очистка откладывается до последнего выхода. После аварийного завершения оставшиеся папки очищаются следующим обычным выходом. - Камера, плата видеозахвата или захват окна после выхода убираются из эфира, но могут оставаться подключёнными и прогретыми, пока источник назначен каналу. Удаление источника из канала или закрытие PDM останавливает его поток.
- Документы Office, которые пользователь открыл самостоятельно, PDM не закрывает. Такое окно безопасно убирается с эфирного дисплея и остаётся под контролем пользователя.
- Пустая оболочка Electron и системные библиотеки остаются прогретыми для быстрого следующего запуска материала, поэтому расход в Диспетчере задач не обязан мгновенно упасть до нуля. Важно, чтобы после закрытия исчезали тяжёлые документы и декодеры, а память не росла от цикла к циклу.
- Если расход продолжает расти после нескольких циклов показа и закрытия, подождите 10–30 секунд, затем откройте Настройки → Диагностика и передайте
pdm-diagnostic.logвместе с номером версии, указанным внизу окна настроек.
Понадобятся Node.js 24+ и Windows PowerShell.
npm ci
npm run test:critical # полный критический набор: core, UI, стриминг и обе сборки
npm run test:critical:core # кэш/PowerPoint/сцена/таймер/Stream Deck
npm run test:critical:ui # реальные UI-сценарии Electron
npm run test:critical:integration # FFmpeg/RTMP и сборки Standard/Stream
npm run dev # разработка Stream (для текущей версии package.json)
npm run build # текущая редакция: out/main, out/preload, out/renderer
npm run build:standard # обычная редакция: out/standard/
npm run build:stream # Stream: out/stream/
npm run package:standard # обычный NSIS: dist/standard/
npm run package:stream # Stream NSIS: dist/stream/
npm run package:win # сокращение для package:stream
npm run test:streaming # локальные проверки RTMP, очередей и ключевых кадровПодписанная локальная сборка поддерживается отдельным сценарием и требует собственного .pfx-сертификата:
powershell -ExecutionPolicy Bypass -File .\build\build-signed.ps1 -Edition streamДля обычной редакции в dev-режиме задайте $env:PDM_EDITION = 'standard' перед npm run dev;
для Stream — 'stream'. Упаковка обеих редакций использует одну кодовую базу и отдельные
каталоги сборки, проверяет состав модулей, версию и защитные Electron Fuses.
Для автоматической сборки используется GitHub Actions.
При ручном запуске выбирается редакция, результат сохраняется как artifact. Теги vX.Y.Z
собирают обычную редакцию, vX.Y.Z-stream — Stream; номер тега проверяется против исходников.
Stream-релизы не заменяют обычные релизы и не меняют ссылку releases/latest обычной PDM.
Текущие установщики 1.1.6 и 1.1.6-stream обновлены исправленным выпуском без изменения
отображаемой версии. При следующем общем функциональном обновлении базовый номер повышается
для обеих редакций одновременно.
| Слой | Реализация |
|---|---|
| Версии приложения | 1.1.6 (обычная) / 1.1.6 stream |
| Desktop runtime | Electron 44.4.3 |
| Интерфейс | React 19.2.8, TypeScript 7.0.2, Tailwind CSS 4.3.3 |
| Состояние | Zustand 5.0.15 |
| Сборка | electron-vite 5.0.0, Vite 7.3.6, PostCSS 8.5.27, electron-builder 26.15.3, NSIS |
| PowerPoint | PowerShell, COM Automation, постоянный JSON-демон с восстановлением состояния Office |
| PDFium WASM (@hyzyla/pdfium 2.1.13), pdfjs-dist 6.3.289 и Windows.Data.Pdf | |
| Внешние источники | Electron Desktop Capture, MediaDevices, постоянные видеопотоки и нативное перечисление окон Windows |
| Таймеры | простой WPF-оверлей через PowerShell и отдельное React-табло мероприятия |
Архитектура бесшовного эфира и обязательные правила против регрессий описаны в docs/SEAMLESS_SWITCHING.md.
- renderer работает с
sandbox,contextIsolation,webSecurityи Content Security Policy; - операторское, эфирные и таймерное окна получают разные минимальные preload API; эфирные окна не имеют доступа к настройкам, удалению файлов и системным командам;
- IPC-команды принимаются только от ожидаемого окна, главного frame и точной страницы приложения;
- локальные файлы передаются через ограниченный протокол
pdm-media://; эфирное окно может прочитать только файл, который main process заранее передал ему для показа; - переходы, новые окна и перенаправления запрещены, а production-сборка игнорирует отладочный адрес из окружения;
- пароль Wi-Fi для QR хранится через системное шифрование Electron
safeStorageи не попадает в настройки, экспорт конфигурации иlocalStorage; - Electron Fuses отключают
RunAsNode,NODE_OPTIONSи CLI Inspector; шифрование cookies, проверка целостности ASAR и загрузка приложения только из ASAR включены; - локальный показ не требует учётной записи и работает офлайн; отправка Stream требует сети и параметров площадки;
- CI запускает проверку защитных ограничений, использует зафиксированные SHA официальных GitHub Actions и выдаёт право публикации только отдельной release-задаче;
- CI не хранит сертификаты подписи в репозитории.
Сетевое поведение обеих редакций описано в compliance/network-behavior.md.
Остальные отчёты в compliance/ — архив аудита 1.1.4, а не новый аудит Stream.
Лицензии встроенных компонентов, включая отдельный GPLv3-исполняемый файл FFmpeg только
в Stream, перечислены в THIRD_PARTY_NOTICES.md.
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, automatic folder-to-channel assignment from numbered filenames, editable channel captions, portable .pdmconfig event snapshots, recovery of prepared channels after an unexpected crash (a confirmed normal exit clears the workspace), optional automatic navigation from the first or last PPTX/PDF slide to the nearest populated adjacent channel, seamless flicker-free switching between PDF, PowerPoint, video and live sources, background PowerPoint slide caching, fast rendering and progressive thumbnails for complex PDFs, Office document previews, cameras and USB/HDMI capture devices, program-window and screen capture, customizable speaker and event lower thirds over live sources, video playback with position restore, independent information-screen video transport and looping, images, background music, configurable display and audio output, a draggable persistent timer with normal/warning/overtime colors, timer mirroring across program displays, aspect-correct PPTX live copies fitted independently to each target monitor, automatic 4K/DPI display reflow, and built-in crash diagnostics. Minimized program windows are restored only when taken on air, the PowerPoint editor is hidden before the first live frame, and the operator cursor is kept out of captured-window previews while PDM has focus. Program-window audio is not captured.
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.
The separate 1.1.6 stream edition adds RTMP/RTMPS output up to 1080p and bundles FFmpeg under its own GPLv3 license. Both editions have separate installers, shortcuts and profiles; operate only one at a time.
npm ci
npm run dev
npm run build
npm run package:win