Lab. demos 5000-cyo-yen8-puzzleaccent-checkboxanimated-avifat-layercollinear-pointscontainer-queriesv-domwebcontainer games pentachip tools base64business-model-canvasextract-image-from-pdfglsl-canvashelp-me-pick-oneimg-diffinstant-iframekana-convertnnannaocrqrrandom-bytessort-linestext-noisetext-rangetimestampword-counterword-modifierzopflipng edit on GitHub

Animated avif

Demo

source: https://www.youtube.com/watch?v=rVJOfnMrF_s

Convert from any video

Local

  1. ffmpeg -i any.{mp4,mkv,...} -o tmp.y4m
  2. avifenc -j all tmp.y4m any.avif

In browser // TODO

Previous art:

  1. @ffmpeg/wasm
  2. @saschazar/wasm-avif
  3. GoogleChromeLabs/squoosh/blob/dev/codecs/avif

Existing libavif's wasm build doesn't seem to support y4m input yet. It looks doable via adapting

  1. GoogleChromeLabs/squoosh/blob/dev/codecs/avif/enc/avif_enc.cpp
  2. AOMediaCodec/libavif/apps/avifenc.c
  3. AOMediaCodec/libavif/apps/shared/y4m.c