Техническое задание: Рендеринг анимированных текстовых слоев в WebM (VP9+Alpha)
Цель проекта
Разработать серверное решение для преобразования динамических текстовых слоев из веб-приложения в видеофайл формата WebM с поддержкой кодека VP9 и альфа-канала (прозрачности). Ключевое требование - пиксель-в-пиксель соответствие рендера клиентскому предпросмотру в браузере.
Ключевые требования
- Идентичность рендера: Выходное видео должно полностью соответствовать отображению в веб-приложении по всем параметрам: шрифты, цвета, позиционирование, анимации.
- Поддержка анимаций: Анимации текста реализованы на стороне клиента с использованием библиотеки Framer Motion (эффекты, такие как посимвольное появление через Staggerchildren). Их тайминг и поведение должны быть точно воспроизведены.
- Формат вывода: Видеофайл в формате WebM с использованием кодека VP9 и альфа-канала для поддержки прозрачности.
Технический контекст и стек
Клиентская часть (Источник данных)
- Фреймворк: React (сборка Vite).
- Анимации: Библиотека Framer Motion.
Серверная часть (Для реализации рендеринга)
- Бэкенд-фреймворк: FastAPI (Python).
- Хранилище файлов: MinIO (S3-совместимое).
- База данных: PostgreSQL.
- Инфраструктура: Docker, docker-compose (для локальной разработки и развертывания).
Ожидаемый результат
- Надежный пайплайн, который принимает данные текстовых слоев (стили, контент, параметры анимации) и возвращает готовый видеофайл.
- Решение, интегрированное в существующую бэкенд-архитектуру.
- Документация по API и процессу развертывания.