Happy New Year video playing at 30 FPS ▶️ I hit my 1 year anniversary with the Gatsby toasting meme :)
Should play smoothly at 30 FPS regardless of device speed as it preloads the 12Mb webGL avif textures and audio before playing. Works on andorid, chromeOS, ios, windows (chrome, firefox & edge>120) and macosx (safari & chrome) 375 frames at 480x360 resolution playing over 12 seconds at 30FPS then 5x5 tiled to 15 * 2400x1800 costumes. Larger than 2400x1800 breaks on android and more the 500 frames breaks on ios at full resolution. Uses tiled costumes for faster download and better compression. Personally I cant tell the difference between 20 FPS and 30 FPS but i wanted to try it. Movie The Great Gatsby (2013) by Baz Luhrmann written by F. Scott Fitzgerald. Leonardo DiCaprio intro scene "Im Gatsby" Music: Let it Go from Frozen orchestral version as i cant identify the name of the orchestral piece that accompanies that scene in the movie. Thx @elgooGmirror for suggesting to use avif rather webp as it is higher quality and better compression than webp. PTE modified from @awesome-llama Script to generate costumes ..\ffmpeg -ss 00:00:30 -to 00:00:42 -i gatsby.mp4 -c copy cut.mp4 ..\ffmpeg -i cut.mp4 -vf scale=ih*4/3:ih,setsar=1 -s 480x360 -c:a copy 480.mp4 ..\ffmpeg -i 480.mp4 -r 30 %d.png mkdir montage magick montage %d.png[1-25] -background none -geometry +0+0 -tile 5x5 .\montage\1.png magick montage %d.png[26-50] -background none -geometry +0+0 -tile 5x5 .\montage\2.png magick montage %d.png[51-75] -background none -geometry +0+0 -tile 5x5 .\montage\3.png magick montage %d.png[76-100] -background none -geometry +0+0 -tile 5x5 .\montage\4.png magick montage %d.png[101-125] -background none -geometry +0+0 -tile 5x5 .\montage\5.png magick montage %d.png[126-150] -background none -geometry +0+0 -tile 5x5 .\montage\6.png magick montage %d.png[151-175] -background none -geometry +0+0 -tile 5x5 .\montage\7.png magick montage %d.png[176-200] -background none -geometry +0+0 -tile 5x5 .\montage\8.png magick montage %d.png[201-225] -background none -geometry +0+0 -tile 5x5 .\montage\9.png magick montage %d.png[226-250] -background none -geometry +0+0 -tile 5x5 .\montage\10.png magick montage %d.png[251-275] -background none -geometry +0+0 -tile 5x5 .\montage\11.png magick montage %d.png[276-300] -background none -geometry +0+0 -tile 5x5 .\montage\12.png magick montage %d.png[301-325] -background none -geometry +0+0 -tile 5x5 .\montage\13.png magick montage %d.png[326-350] -background none -geometry +0+0 -tile 5x5 .\montage\14.png magick montage %d.png[351-375] -background none -geometry +0+0 -tile 5x5 .\montage\15.png cd montage mkdir avif magick convert 1.png -quality 90 .\avif\1.avif magick convert 2.png -quality 90 .\avif\2.avif magick convert 3.png -quality 90 .\avif\3.avif magick convert 4.png -quality 90 .\avif\4.avif magick convert 5.png -quality 90 .\avif\5.avif magick convert 6.png -quality 90 .\avif\6.avif magick convert 7.png -quality 90 .\avif\7.avif magick convert 8.png -quality 90 .\avif\8.avif magick convert 9.png -quality 90 .\avif\9.avif magick convert 10.png -quality 90 .\avif\10.avif magick convert 11.png -quality 90 .\avif\11.avif magick convert 12.png -quality 90 .\avif\12.avif magick convert 13.png -quality 90 .\avif\13.avif magick convert 14.png -quality 90 .\avif\14.avif magick convert 15.png -quality 90 .\avif\15.avif cd avif mkdir svg powershell Get-ChildItem .\*.avif | ForEach-Object {'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2400" height="1800" viewBox="0 0 2400 1800" ><image xlink:href="data:image/png;base64,'+[convert]::ToBase64String((Get-Content -path ($_.Name) -Encoding byte)) +'" /></svg>' | out-file -encoding ASCII (".\svg\{0}.svg" -f $_.BaseName)}