Запись и экспорт
Movie File Out пишет в реальном времени, Export Movie и выключенный Realtime — покадрово, save() снимает кадр. Чем платит шоу за запись и как её от него отгородить.
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 Movie File Out пишет EXIF в PNG, JPEG и TIFF, а Audio File Out CHOP — метаданные в WAV, MP3, OGG.
Запись 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. Кадр, сохраняемый
раз в час, потом покажет, что инсталляция показывала ночью.
Нашли в статье ошибку, устаревшее или непонятное место?