Кейс
Почему шаг с AI-видео идёт медленно и мощная машина этого не исправит
У видеокоманды вырезание AI-ведущего занимало гораздо больше времени, чем сам ролик. Время уходило на кадры, которых в готовом рекламном ролике нет, а не на мощность машины.
Главное
- Измерьте, какой шаг занимает время и на что оно уходит, прежде чем покупать более мощную машину.
- В этой работе большая часть вырезания уходила на кадры, которых в готовом ролике нет.
- Повторное использование готового вырезания, когда меняются только подписи, музыка или раскладка, может полностью пропустить медленный шаг.
- Приём, который сокращает время, но оставляет видимый изъян в видео, — не экономия.
- Автоматический шаг при сбое должен возвращаться к прежнему результату и никогда не останавливать работу.
Для видеокоманды рекламный ролик, который готовится с опозданием, означает меньше версий для проверки, а каждая смена стиля подписей или музыки — снова ожидание. Когда обработка AI-видео идёт слишком медленно, очевидный ответ — более мощная графическая машина, и дорогая. У одного клиента время уходило не на вычислительную мощность, и изменение дошло до их финального шага в тот же день.
Чего стоит медленный шаг небольшой команде
Цена — это повторение. Команда доводит рекламный ролик, потом рендерит его заново с другим стилем подписей или другой музыкой и ждёт столько же ещё раз.
Рефлекс — взять более мощную графическую машину. Здесь решение пошли другим путём: оставить графическую машину, которая делает ведущего, для этой задачи, а вырезание запускать на обычных процессорах машин, которые собирают рекламные ролики.
Два вида, которые нужны были команде, и почему они были медленными
У двух распространённых видов была одна скрытая задача: отделить ведущего от фона, который не был однотонным. Команда хотела, чтобы ведущий стоял поверх реальной съёмки, и чтобы ведущий был маленьким в углу, пока на весь экран идут клипы.
Ни то, ни другое не снимали на однотонном фоне. Съёмка ведущего шла со своим фоном, поэтому небольшая AI-модель должна была отделить фигуру от него в каждом кадре, прежде чем наложить её на что-то ещё.
Прежняя версия работала, и края и волосы получались чистыми. Она была и медленной: вырезание занимало гораздо больше времени, чем сам ролик, а рекламный ролик с ведущим в углу — гораздо больше, чем тот же ролик на весь экран.
Почему обработка AI-видео здесь шла так медленно
Модель тщательно работала над кадрами, которых в готовом рекламном ролике нет. Наш инженер сначала измерил, а потом что-то менял.
На незагруженной машине одна только модель тратила долю секунды на каждый кадр. Обычные приёмы пробовали и замеряли, в том числе запуск нескольких копий модели рядом, постоянную загрузку процессоров и более лёгкую, менее точную модель. Каждый из них был медленнее, а не быстрее.
Перелом наступил, когда посмотрели, что на самом деле показывает рекламный ролик. Каждая произнесённая строка делается одним дублем, но в ролике играет только её часть, а вырезанная фигура появляется только тогда, когда за ней или рядом с ней идёт клип. В тестовом ролике многие кадры произнесённых дублей так и не появлялись на экране, а фигура рисовалась поверх ещё меньшего числа кадров. Вырезание всё равно шло по каждому кадру.
Что мы изменили
Теперь вырезание следует за тем, как сам видеоплеер читает каждую строку, и отправляет в модель только те кадры, где фигура рисуется поверх клипа, с небольшим запасом с обеих сторон. Файл вырезания заканчивается на последнем нужном кадре. Там, где ведущий стоит маленьким в углу, фигура читается в меньшем разрешении, с которым модель справляется быстрее.
Две вещи защищают остальную работу. Строка, у которой вырезание не удалось или перед которой нечего ставить, играет как раньше, так что сбой никогда не останавливает ролик. И поскольку команда часто рендерит один и тот же ролик заново с другим стилем подписей, другой музыкой или другой раскладкой, пока строки и клипы остаются теми же, каждое готовое вырезание теперь хранится на машине под именем, привязанным к материалу, из которого оно получено. Второй рендер читает его обратно, вообще не запуская модель. Сохранённые вырезания проверяют перед сохранением, регулярно очищают и ограничивают по общему размеру, первыми уходят самые старые неиспользованные.
Один приём измерили и отклонили. Пропуск каждого второго кадра снова сократил бы время, но при быстром движении рук ведущего остаётся слабый второй контур, а это видно в ролике.
Что теперь есть у видеокоманды
Оба вида работают на платформе клиента, доступны видеокоманде на их финальном шаге, и ни одной графической машины не добавили. На тестовом ролике с ведущим в углу и вырезание ведущего, и весь рендер стали быстрее. Ролик на весь экран без вырезания остался более быстрым для сравнения.
Более поздний замер на одной машине показал, куда уходит оставшаяся разница: большая часть — на вырезание, меньшая — на рисование фигуры. Все остальные виды и каждый ролик без вырезания рендерятся точно как раньше.
Что вы можете проверить сами
- Спросите свою команду, сколько времени уходит на одно видео от готового монтажа до финального файла и как часто они рендерят одно и то же видео заново с небольшими изменениями.
- Спросите того, кто отвечает за вашу автоматическую обработку, какие шаги занимают больше всего времени — по замерам, а не по догадкам.
- Прежде чем соглашаться на более мощную машину, спросите, работает ли медленный шаг над всем или только над тем, что видит заказчик.
- Спросите, что происходит, когда автоматический шаг сбоит на одном фрагменте: продолжается ли остальное или останавливается вся работа.
- Спросите, использует ли второй рендер того же видео что-то от предыдущего или начинает с нуля.
Что делать дальше
Начните с секундомера и одного вопроса: над чем работает медленный шаг и видит ли зритель эту работу. Если ответ «нет», экономия ничего не стоит и не требует техники. Проследить медленный шаг до работы, которую он на самом деле делает, прежде чем кто-то потратится на машины, — как раз такая задача, за которую берутся наши инженеры для клиентов.
Частые вопросы
Почему повторный рендер того же видео занимает так много времени?
Часто потому, что всё делается заново, включая то, что не менялось. В этой работе строки и клипы между рендерами оставались теми же, поэтому второй рендер того же ролика мог читать обратно готовые вырезания, а не запускать модель снова. Если ваша команда рендерит заново только с новым стилем подписей, музыкой или раскладкой, стоит спросить, не повторяется ли медленный шаг впустую.
Исправит ли более быстрая видеокарта медленный шаг с AI-видео?
Не обязательно. В этом случае графическая машина уже была подходящим инструментом для создания AI-ведущего, а вырезание шло на обычных процессорах машин, которые собирают рекламные ролики. Запуск нескольких копий сразу, полная загрузка процессоров и более лёгкая модель — всё это замеряли, и всё было медленнее, а не быстрее.
Можно ли пропускать кадры, чтобы вырезание шло быстрее?
Можно, и это снова сокращает время, но результат может быть заметен: пропуск каждого второго кадра оставлял слабый второй контур при быстром движении рук ведущего. В этой работе это замерили и отклонили. Пропускать работу над кадрами, которых в готовом ролике нет, — другое дело, потому что для зрителя ничего не меняется.
Что происходит, если автоматическое вырезание сбоит на одной строке?
Здесь строка играет как раньше, без вырезания, так что сбой никогда не останавливает весь ролик. Это хороший вопрос для любого, кто отвечает у вас за автоматический шаг: сбой на одном фрагменте не должен задерживать остальную работу.