Spout, Syphon и Touch In/Out
Передача картинки между программами и между процессами: что работает локально, а что по сети.
Иногда картинку надо отдать не на экран, а в другую программу — или в другой процесс TouchDesigner. Способов три, и они не взаимозаменяемы.
Что выбрать
| Способ | Между чем | Скорость | Через сеть |
|---|---|---|---|
| Syphon / Spout | Программами на одной машине | Мгновенно, без копирования | Нет |
| Touch In / Out TOP | Процессами TouchDesigner | Быстро | Да |
| NDI | Чем угодно | Со сжатием и задержкой | Да |
Syphon Spout Out / In TOP
Один оператор на обе платформы: Spout на Windows, Syphon на macOS. Работает через разделяемую видеопамять — картинка не копируется через процессор и не сжимается. Это самый дешёвый способ отдать кадр.
Ограничение жёсткое: только внутри одной машины. По сети — не работает.
Форматы: Spout передаёт вплоть до 32-битного float RGBA, Syphon ограничен 8 битами RGBA.
Типовые связки:
- TouchDesigner генерирует слой → Resolume играет сет;
- Resolume отдаёт микс → TouchDesigner делает мэппинг;
- Unreal Engine рендерит сцену → TouchDesigner выводит и коммутирует;
- сторонний AI-процесс (диффузия, сегментация) обменивается кадрами с TouchDesigner — Диффузия.
Touch In / Touch Out
Родная передача между экземплярами TouchDesigner — и по сети тоже. Есть версии для TOP, CHOP и DAT: можно гонять не только картинку, но и сигналы с данными.
Применения:
- Разделение нагрузки: тяжёлая генерация на одной машине, вывод на другой;
- Резерв: две машины считают одно и то же, третья выбирает — Резерв;
- Изоляция: рискованная часть (нейросеть, чужой плагин) живёт в отдельном процессе и не роняет шоу — Несколько процессов.
Engine COMP — не передача, а вложение
Отдельный случай: Engine COMP загружает .tox и крутит его в отдельном
процессе, показывая результат внутри вашего проекта. Никакой ручной
передачи не нужно, картинка и данные ходят автоматически.
Это правильный ответ на «нейросеть роняет мне шоу» и на «один тяжёлый компонент съедает весь кадр».
Прежде чем писать интеграцию, проверьте: почти всё в этой индустрии умеет Spout или Syphon. Это две строчки настройки вместо дня работы.
Spout и NDI находят друг друга по имени. Задайте имена явно
(show_main, show_mask) и запишите их в документацию проекта. «Sender 1»
и «TouchDesigner» на площадке с тремя машинами — гарантированная путаница.
На других пультах
весь переводчик →- ResolumeNDI / Spout / Syphon
- MadMapperSyphon / Spout / NDI
- disguise (d3)NDI