Generowanie wideo AI za pomocą FramePack
Przetłumaczone automatycznie z angielskiego. Przeczytaj oryginał

Wgraj obraz, wpisz prompt tekstowy i naciśnij Start Generation. To tak proste, jak wygląda.
Bierzemy więc wytrenowane modele, podajemy im prompt tekstowy i obraz startowy, a po stronie GPU dzieje się magia: generowanie klatka po klatce i składanie ich w ruchomy obraz. Bywa to zabawne, bywa niepokojące, ale za każdym razem ciekawie jest patrzeć, jak nieruchome zdjęcia ożywają i powstaje z nich wideo.
Interfejs użytkownika #
Po lewej stronie wgrywasz obraz startowy, a pod nim wpisujesz prompt opisujący, jak ma to wyglądać w wyjściowym wideo.

Po uruchomieniu nie opuszczaj strony aplikacji, bo proces generowania zniknie. Nie widzę żadnej opcji, by przywrócić to, co działa w tle. Być może jest taka opcja, o której nie wiem.
Proces generowania wideo #
Przetwarzanie odbywa się na GPU. Potrzebujesz co najmniej RTX 30xx lub nowszego na platformie Linux/Windows. Im mocniejsze GPU, tym szybciej generowane są klatki. Pojedyncza klatka zajmuje od kilku sekund do minuty. Aby przyspieszyć (kosztem mniejszej szczegółowości i większej liczby błędów), możesz użyć TeaCache.

Możesz podać seed i zmienić całkowitą długość wideo, liczbę kroków, CFG scale, ilość zarezerwowanej pamięci GPU oraz kompresję MP4. Z punktu widzenia systemu przydzieliłem maszynie wirtualnej 64 GB RAM, a FramePack zjadł ponad 40 GB, ale pracuje tylko na 1 vCPU. Nie jestem do końca pewien, jak bardzo poprawiłoby to wydajność, ale przypuszczam, że tak by było, gdyby obsługiwał porządnie wieloprocesowość/wielowątkowość.

Na moim RTX 3060 12GB jedna sekunda generuje się około 10 – 15 minut, bo każda sekunda składa się z 30 klatek, czego nie da się właściwie skonfigurować. Wygląda na to (choć nie jest to potwierdzone), że model został wytrenowany do generowania 30 FPS (tę informację można znaleźć w ich issue trackerze).

Moja konfiguracja z VM cierpi na opóźnienia pamięci, co jest odczuwalne w porównaniu z instalacją Ubuntu na bare metal. Mimo to wolę robić to na maszynie wirtualnej, bo mam znacznie większą elastyczność przy zmianie środowisk, systemów i sterowników, co na systemie bare metal byłoby dość trudne i uciążliwe. Każdy spadek wydajności wynikający z wirtualizacji jest więc dla mnie akceptowalny.
Instalacja #
Czas na nudną część. Zacznij od instalacji Pythona 3.10:
sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt updateNastępnie sklonuj repozytorium i zainstaluj zależności:
https://github.com/lllyasviel/FramePack.git
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
pip install -r requirements.txtPrzygotuj repozytorium FramePack w środowisku wirtualnym:
python3.10 -m venv FramePack
source FramePack/bin/activatePodczas instalacji torchvision dostałem jeden błąd:
torch 2.7.0+cu126 depends on typing-extensions...Ten problem można obejść przez:
pip install --upgrade typing-extensionsI wtedy wszystko gotowe:
python demo_gradio.pyUI uruchomi się pod adresem http://127.0.0.1:7860/