Wyzwanie
Krótkie wideo dla kilku marek, w dwóch językach i na kilku platformach, to dużo powtarzalnej pracy: scenariusz, grafiki, nagranie lektora, napisy, montaż i publikacja. Poprzedni generator był jedną aplikacją na jednym serwerze i obsługiwał jedną markę.
Chcieliśmy fabryki treści, która skaluje się na kolejne marki i języki, ale nie publikuje niczego bez zgody człowieka i rośnie wyłącznie organicznie.
Podejście
Model domeny to marka, wersja językowa i kanał. Odcinek nie zależy od języka: wersja angielska jest adaptacją scenariusza, a ilustracje są używane ponownie, co znacząco obniża koszt drugiej wersji. Formaty to szablony sterowane danymi, więc nowy format nie wymaga zmian w pipeline.
Render liczymy na istniejącym klastrze zamiast na osobnym serwerze. Z pomiarów wyszło, że przy obecnej skali dedykowany serwer stałby bezczynnie ponad 90% czasu. Progi, przy których warto go kupić, są zapisane z góry.
Wdrożenie
Pipeline: model językowy pisze scenariusz, model obrazowy tworzy ilustracje, syntezator mowy nagrywa lektora z ustawieniami głosu per wersja językowa, napisy powstają z czasów poszczególnych słów, a render idzie przez kolejkę zadań. Etap kontroli jakości wyłapuje wadliwe pliki, a odcinki bez aktywnego zadania po 90 minutach są oznaczane jako błędne.
Zespół zatwierdza odcinki w aplikacji PWA na telefonie, z powiadomieniami o gotowym materiale i o błędzie produkcji. Publikacja przechodzi przez wymienny adapter z bezpiecznikiem, a panel pokazuje koszty i obciążenie renderu.
Wyniki
Po optymalizacji odcinek w dwóch wersjach językowych powstaje w 181 s zamiast 219 s, render zużywa ok. 45% mniej CPU, a pamięć zarezerwowana dla workera spadła z 3 do 1 GB. Przy krótszym renderze jakość obrazu wzrosła (SSIM z 0,971 do 0,985).
Pierwsze produkcyjne uruchomienie: 3 filmy w 4 minuty 50 sekund, bez błędów, za 0,70 USD, czyli ok. 0,23 USD za film. Wszystkie trzy zostały opublikowane na obu platformach docelowych.











