К содержанию
fohbookбета/ TouchDesigner

Запись и экспорт

Movie File Out пишет в реальном времени, Export Movie и выключенный Realtime — покадрово, save() снимает кадр. Чем платит шоу за запись и как её от него отгородить.

Ветка вашего пульта:1 фрагмент статьи для версий новее вашей1 фрагмент статьи для версий новее вашей
Быстрый выбор:

TouchDesigner пишет то, что показывает: в реальном времени или покадрово.

Movie File Out TOP

Type выбирает ролик, один кадр, секвенцию файлов или Stop-Frame Movie — ролик, куда кадры добавляются по одному кнопкой Add Frame. В Video Codec есть H.264, H.265 и AV1 на видеокарте NVIDIA, HAP (вариант — в Video Codec Type), NotchLC, Apple ProRes, Cineform, VP8, VP9, Animation, Motion JPEG, GIF и H.266, который пишется медленно и на процессоре. Кадры и секвенции — PNG, TIFF, JPEG, EXR, DDS или BMP (Image File Type), контейнер — mov, mp4, mkv, webm (Movie Container). Звук берётся из CHOP по пути в Audio CHOP, частота задаётся Movie FPS, пишут и останавливают Record и Pause.

На странице Settings у H.264/H.265 битрейт, интервал ключевых кадров и пресет Lossless, у HAP — Secondary Compression: без второго этапа файл больше, но распаковывается легче (Кодеки).

Появилось в 2025.30000 · в вашей версии этого нет

С ветки 2025.30000 Movie File Out пишет EXIF в PNG, JPEG и TIFF, а Audio File Out CHOP — метаданные в WAV, MP3, OGG.

H.264 на видеокарте не в бесплатной версии

Запись H.264/H.265 в реальном времени на NVIDIA доступна с Educational, Commercial или Pro, а на Windows для кодирования H.264/H.265 нужна видеокарта NVIDIA в любом случае — Редакции и лицензии.

Пока идёт шоу

Кодирование расходует ресурсы того же кадра, что показывается. H.264 на кодере NVIDIA процессор почти не трогает, 4K HAP — большой поток на диск и заметная нагрузка. Поэтому архив пишут отдельным потоком поменьше — 1280 × 720 для разбора хватает, — на отдельный физический диск и никогда в сетевую папку. И считают место заранее: HAP Q в 4K при 60 кадрах — до полугигабайта в секунду, больше терабайта за час.

Запись не должна мешать шоу

Важную, но не критичную запись уносят в отдельный процесс через Engine COMP или отдают картинку по NDI на вторую машину, чтобы медленный диск не сбил частоту кадров на экране.

Покадрово

Если картинка не успевает в реальном времени, а ролик нужен, выключите Realtime у таймлайна: каждый кадр будет считаться столько, сколько нужно (Время). Задайте диапазон на таймлайне, включите запись Movie File Out или секвенцию PNG/EXR и запустите — время пойдёт внутреннее, а не настенное.

Готовый путь для того же — диалог Export Movie (Ctrl+M). Он пишет любой TOP или вьюер любого узла не в реальном времени, с заданного кадра таймлайна до конечного, в нужных разрешении и кодеке, со звуком из time-sliced CHOP. Так рендерят тяжёлые генеративные сцены и симуляции в видео, которое потом играется как обычное.

Покадровый режим и живые источники

Звук с устройства, сеть, камеры и таймеры без реального времени ведут себя не так, и для рендера их заменяют файловыми.

Один кадр

op('null1').save('export/frame.png')
op('null1').save('export/frame.exr', asynchronous=True, createFolders=True)

save() у TOP понимает .png, .jpg, .tif, .exr, .dds и .bmp. asynchronous=True пишет файл в отдельном потоке, не задерживая кадр, createFolders=True создаёт папки. Есть save() и у DAT. Кадр, сохраняемый раз в час, потом покажет, что инсталляция показывала ночью.

Нашли в статье ошибку, устаревшее или непонятное место?

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