Anonymous 01/12/2024 (Fri) 21:35 No.6773 del
(5.01 MB 1280x720 input.mp4)
(2.19 MB 1280x720 long.webm)
>>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:
[code]
ffmpeg -i input.mp4 -vcodec libxvid -q:v 1 -g 1000 -qmin 1 -qmax 1 -flags qpel+mv4 -an xvid.avi
[/code]
Képkockák kiszedése:
[code]
ffmpeg -i xvid.avi -vcodec copy -start_number 0 frames/f_%04d.raw
[/code]
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:
[code]
ffprobe -show_frames xvid.avi | grep pict_type | cat -n | grep I
[/code]
Ezek után meg lehet nézni 'mpv'-vel a videót, de csak "I" képkockától kezdve:

Message too long. Click here to view full text.