К содержанию
fohbook/ TouchDesigner для света
профи

Рассинхрон с пультом и видео

Свет опережает или отстаёт: источники времени, задержки тракта и как их измерить, а не угадать.

Свет, отстающий от музыки на полсекунды, разрушает шоу сильнее, чем неверный цвет. Причины делятся на постоянную задержку и накапливающийся дрейф.

Постоянная задержка

Свет всегда отстаёт на одну и ту же величину. Складывается из звеньев:

источник события → анализ → кадр TD → сеть → узел → прибор
Звено Порядок величины
Анализ звука 10–30 мс
Кадр TouchDesigner 16 мс при 60 fps
Сглаживание (Lag) сколько задали
Сеть и узел 5–30 мс
Светодиодный прибор почти мгновенно
Галогенный прибор 100–300 мс на разгорание
Механика головы сотни миллисекунд

Часто виноват не тракт, а собственное сглаживание: Lag в полсекунды — это ровно та задержка, которую вы видите.

Лечится компенсацией: если известно, что свет отстаёт на 120 мс, подавайте команды на 120 мс раньше — это возможно, когда шоу идёт по таймкоду и будущее известно.

Дрейф

Расхождение растёт со временем — значит, разные источники времени.

Причина Лечение
Свет по своим часам, звук по своим Общий таймкод
Частота таймкода не совпадает Проверить 29.97 / 30, drop frame
Таймлайн проекта привязан к таймкоду Не делайте так; считайте состояние из времени
Видео играет «само», а не по индексу Позиционировать по таймкоду
Один источник времени на всё шоу

Свет, видео и звук должны считать своё состояние из одного и того же времени. Любая схема, где каждый идёт по своим часам, разъедется — вопрос только в том, за сколько минут.

Свет против видео

Если экран и свет должны совпадать по акцентам, помните: видеотракт обычно длиннее светового. Процессор LED-экрана, скалер, коммутатор — каждый добавляет кадры.

Практика: измерьте разницу (снимите на камеру вспышку света и кадр видео одновременно) и компенсируйте, задержав свет на нужное число кадров. Cache-подобная задержка на CHOP делается элементарно, и это честнее, чем спорить о том, кто виноват.

Как измерить

  1. Камера с высокой частотой съёмки (телефон 240 fps годится).
  2. Снять одновременно источник события (хлопок, кадр на экране) и реакцию света.
  3. Посчитать кадры между ними.

Это единственный способ получить число вместо ощущения.

Несколько машин

Если света несколько машин, они расходятся между собой. Лечение:

  • общий таймкод для всех;
  • состояние считается из времени, а не накапливается;
  • проверка синхронности прогоном с одинаковой картиной на всех.
Разница в один кадр незаметна, в три — заметна всем

Не гонитесь за нулём. Приведите расхождение к паре кадров и займитесь чем-нибудь более полезным.

рядом по смыслу