Based on https://evilmartians.com/chronicles/better-web-video-with-av1-codec
ffmpeg -i SOURCE.mov -map_metadata -1 -c:a libfdk_aac -c:v libx264 -crf 24 -preset veryslow -profile:v main -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.h264.mp4h264 / no sound, low quality, resize to 640x360.
- change -crf 26to change quality (higher number = lower quality)
- Change 640in-vf "scale=640:trunc(ow/a/2)*2"to change size (upsacling is not possible)
ffmpeg -i SOURCE.mov -map_metadata -1 -an -c:v libx264 -crf 26 -preset veryslow -profile:v main -pix_fmt yuv420p -movflags +faststart -vf "scale=640:trunc(ow/a/2)*2" video.h264.mp4ffmpeg -i SOURCE.mov -map_metadata -1 -c:a libopus -c:v libaom-av1 -crf 34 -b:v 0 -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -strict experimental video.av1.mp4av1 / no sound, low quality, resize to 640x360.
- Change 640in-vf "scale=640:trunc(ow/a/2)*2"to change size (upsacling is not possible)
- change -crf 40to change quality (higher number = lower quality)
ffmpeg -i SOURCE.mov -map_metadata -1 -an -c:v libaom-av1 -crf 40 -b:v 0 -pix_fmt yuv420p -movflags +faststart -vf "scale=640:trunc(ow/a/2)*2" -strict experimental video.av1.mp4ffmpeg -i SOURCE.mov -map_metadata -1 -c:a libfdk_aac -c:v libx265 -crf 24 -preset veryslow -pix_fmt yuv420p -movflags +faststart -tag:v hvc1 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.hevc.mp4hevc / no sound, low quality, resize to 640x360.
- change -crf 26to change quality (higher number = lower quality)
- Change 640in-vf "scale=640:trunc(ow/a/2)*2"to change size (upsacling is not possible)
ffmpeg -i SOURCE.mov -map_metadata -1 -an -c:v libx265 -crf 26 -preset veryslow -pix_fmt yuv420p -movflags +faststart -tag:v hvc1 -vf "sscale=640:trunc(ow/a/2)*2" video.hevc.mp4<video controls width="600" height="400">
  <source
    src="video.hevc.mp4"
    type="video/mp4; codecs=hevc,mp4a.40.2"
  />
  <source
    src="video.av1.mp4"
    type="video/mp4; codecs=av01.0.05M.08,opus"
  />
  <source
    src="video.h264.mp4"
    type="video/mp4; codecs=avc1.4D401E,mp4a.40.2"
  />
</video>Optimized versions:
<video controls width="600" height="400">
  <source
    src="video.hevc.mp4"
    type="video/mp4; codecs=hevc"
  />
  <source
    src="video.av1.mp4"
    type="video/mp4; codecs=av01.0.05M.08"
  />
  <source
    src="video.h264.mp4"
    type="video/mp4; codecs=avc1.4D401E"
  />
</video>| H.264 | AV1 | 
|---|---|
| 19 | 27 | 
| 23 | 33 | 
| 27 | 39 | 
| 31 | 45 | 
| 35 | 51 | 
| 39 | 57 |