Video Automation
Пакетный видеорендеринг и генерация субтитров в After Effects через JSX-плагин
✍️ Aleksey Belyaev
📅 28.10.2026
#After Effects
#JSX scripting
#Dynamic Subtitles
#Video Pipeline
#Рендер-ферма
📋 Indice dei Contenuti:
Постановка задачи
В условиях масштабного производства медиа-контента для соцсетей и видеоплатформ ручной монтаж сотен однотипных роликов (импорт исходников, сведение аудиодорожек, простановка таймингов субтитров, наложение переходов и брендинга) становится бутылочным горлышком.
Задача: создать модульный конвейер на базе ExtendScript JSX для Adobe After Effects, который полностью автоматизирует жизненный цикл создания видео от входящего JSON с текстом до экспорта готовых MP4 в вертикальном (1080x1920) и горизонтальном (1920x1080) разрешениях.
Архитектура модульного пайплайна
Чтобы конвейер был легко масштабируемым и отлаживаемым, весь процесс был разделен на изолированные этапы (шаги):
step0.jsx — Инициализация проекта, очистка кэша композиций и проверка исходных ассетов.step1_import.jsx — Потоковый импорт графических и видеофрагментов в проект.step1_subtitles.jsx — Разбор JSON-файла с таймингами реплик и динамическое создание текстовых слоев с анимацией.step1_watermark.jsx — Автоматическое наложение защитных водяных знаков и логотипов с масштабированием под пропорции.step2_audio_mix.jsx — Сведение закадрового голоса, фоновой музыки и звуковых эффектов с авто-уровнями громкости.step3_transitions.jsx — Наложение динамических переходов между сценами.step4_export.jsx — Добавление в Render Queue After Effects и запуск экспорта с контролем завершения.Модульный подход позволяет запускать как весь конвейер целиком (
run_pipeline.jsx), так и изолированно тестировать конкретный шаг (например, только генерацию субтитров) на тестовом наборе данных.Генерация динамических субтитров из JSON
Одной из самых трудоемких задач является точное позиционирование и анимация субтитров под тайминги аудиодорожки. Скрипт считывает JSON с временными метками слов и автоматически создает ключевые кадры анимации непрозрачности и масштаба (Bounce/Fade Effect):
Управление рендером и оптимизация ресурсов
При потоковой генерации видео критически важно не переполнять оперативную память After Effects. В конвейере реализована автоочистка кэша памяти (
app.purge(PurgeTarget.ALL_CACHES)) после каждого готового ролика, что гарантирует многочасовую непрерывную работу без утечек памяти и аварийных завершений.Практическая отдача
Контакты для разработки скриптов автоматизации
Если вам требуется разработка автоматизированных плагинов и скриптов для Adobe After Effects, Premiere Pro, Photoshop или Illustrator:
👨💻
Interessato a realizzare un progetto simile?
Automazione completa di foto e video: script per Photoshop, After Effects, Premiere Pro, FFmpeg, Python e JS, server di rendering e fabbriche di contenuti.