thumbnail of input.mp4
thumbnail of input.mp4
input mp4
(5.01 MB, 1280x720 h264)
thumbnail of long.webm
thumbnail of long.webm
long webm
(2.19 MB, 1280x720 vp9)
 >>/6766/
"Datamoshing"-nak hívják, és a tömörítést kell elrontani. Én xvid kodekhez találtam leírást, ami majdnem működött, végül avval sikerült megcsinálni. Annyi az egész, hogy a tömörítés után kétféle képkocka van: úgy nevezett "I" képkocka, ami a tényleges képet tartalmazza, és "P" képkocka, ami csak az előző képkockához képest a különbséget. Annyira nem jártam utána, hogy megnézzem pontosan hogyan tömörít, de gondolom csak a deltát menti el, úgyhogy azért olyan, mintha rá lenne húzva a textúra, mert nem azt mondja, hogy akkor a 12,34 pixel legyen 50 árnyalatni szürke, hanem hogy az előző értékéhez képest legyen 50 árnyalattal szürkébb. Csak annyit kellett csináljak, hogy az egyik "I" képkockát lecseréltem az utána következő "P" képkockára, és attól lett ilyen. Szerencsére a 'ffmpeg' szét tudja szedni nyers képkockákra az avi-t, amit után egyszerűen a 'cat' össze tud rakni, úgyhogy viszonylag fájdalommentes.

Lépésről lépésre:
Bemeneti videó xvid-re koncertálása:

ffmpeg -i input.mp4  -vcodec libxvid -q:v 1 -g 1000 -qmin 1 -qmax 1 -flags qpel+mv4 -an xvid.avi

Képkockák kiszedése:

ffmpeg -i xvid.avi -vcodec copy -start_number 0 frames/f_%04d.raw

Ez megmutatja, hogy melyik képkockák "I", csak vonj ki belőle 1-et, mert a képkockák 0-nál kezdődnek ez viszont 1-el:

ffprobe -show_frames xvid.avi | grep pict_type | cat -n | grep I

Ezek után meg lehet nézni 'mpv'-vel a videót, de csak "I" képkockától kezdve:

cat frames/f_*.raw | mpv -

Meg lehet így részletekben is nézni, vagy összevissza, ismételgetni részeket, stb. Ha tetszik az eredmény, akkor egyszerűen egy avi fájlba irányítod a 'cat'-et és kész is. Pl. így, ismételgetve:

cat frames/f_0{000..132}.raw \
    frames/f_0{132..162}.raw \
    frames/f_0{132..162}.raw \
    frames/f_0{132..162}.raw \
    frames/f_0{132..162}.raw \
    frames/f_0{132..162}.raw \
    frames/f_0{132..249}.raw \
    frames/f_0{001..120}.raw > long.avi

Aztán visszakonvertálod webm-be az egészet, ízlésnek megfelelően. Az fps meg ilyesmik elvesznek, úgyhogy azt meg kell adni. Én eredetileg összevágtam a videókat és úgy csináltam, de így 'cat'-el össze lehetne fűzni különböző videókat is, csak figyelni kell hogy konzisztensek legyenek. Csatolom a bemeneti videót, meg hogy a long.avi milyen lett webm-ként. Bocsi, nem kerestem új videókat hozzá.

Szerintem  >>/6727/ is valahogy így készült, csak a valódi videóval egyszerűbb, mint animével. Ezért lett nálam is ilyen a második fele, eredetileg animésre akartam azt is, de az annyira nem mutatott jól, lehet mert élesek a színek vagy valami.