


9 ноября вышел Remotion 4.0.542. В релизе появились две функции, которые запускают рендер в AWS Lambda, передают обновления о его ходе и ждут результата. Это изменение пригодится сервисам, где пользователь запускает сборку ролика и следит за ней на экране. На Mentoring.digital разбираем, что приходит по потоку и как ведёт себя задача при обрыве связи.
Для видео и других медиа используется renderMediaOnLambdaAndStream(), для последовательности изображений предусмотрена renderFramesOnLambdaAndStream(). Обе функции доступны в пакетах @remotion/lambda-client и @remotion/lambda. Обновления описывают состояние рендера. Готовый результат доступен по завершении, когда он сохранён. Для кадров ответ содержит сведения о последовательности и её манифесте.
Если клиент получил идентификатор рендера, а соединение затем оборвалось или зависло, библиотека перейдёт к периодическим запросам статуса той же задачи. Для регионов AWS в Китае этот способ используется с самого начала. При ошибке запуска автоматического повтора нет.
Начните с короткого тестового ролика. Проверьте, что интерфейс получает обновления до готовности результата. Отдельно прервите наблюдение после получения идентификатора и проверьте, что после восстановления приложение получает результат по тому же ID. Такой сценарий помогает отличить сбой канала обновлений от сбоя самого рендера.
Если вы добавляете генерацию видео в приложение, можно разобрать состояния индикатора прогресса и обработки ошибок с наставником по React.