the rebel alliance has finally released the av1 video codec

aomenc encoder aomenc
aomdec decoder aomdec file.webm output.y4m or aomdec file | mpv -

  • -v for verbose
  • --cpu-used= for quality level like x264s profiles and 0 is placebo and 4 is fastest
  • -w for width and -h for height

ffmpeg to prep the source video

  • ffmpeg -i 8bit-src.mkv -pix_fmt yuv420p 8bit.y4m
  • ffmpeg -i 10bit-src.mkv -pix_fmt yuv420p10le 10bit.y4m
  • ffmpeg -i 12bit-src.mkv -pix_fmt yuv420p12le 12bit.y4m

Encode 8-bit AV1

aomenc -v -w 1920 -h 1080 --cpu-used=0 --target-bitrate=1500 --threads=16 --profile=0 --aq-mode=0 --lag-in-frames=25 --auto-alt-ref=1 -o av1-8bit.webm 8bit.y4m

Encode 10-bit AV1

aomenc -v -w 1920 -h 1080 --cpu-used=0 --target-bitrate=1500 --threads=16 --profile=0 --aq-mode=0 --lag-in-frames=25 --auto-alt-ref=1 -o av1-10bit.webm 10bit.y4m

Encode 12-bit AV1

aomenc -v -w 1920 -h 1080 --cpu-used=0 --target-bitrate=1500 --threads=16 --profile=0 --aq-mode=0 --lag-in-frames=25 --auto-alt-ref=1 -o av1-12bit.webm 12bit.y4m

  • ffmpeg output yuv420 (8-bit), yuv420p10le (10-bit), yuv420p12le (12-bit)
  • Encodng Speed/Quality --cpu-used 0 to 4 is currently tuned

if this is wrong please contact me on twitter or by email

The Fire Escape is a 4K benchmark that measure the time it takes to encode a 4K file to x264 using open souce video editor OpenShot

uses a shotcut project file with a raw 4k video file, flac music by GUNSHIP, Text Overlay

above scores are average of 5 runs
please note that these systems are not benchmark systems and are real world

  • bench.x264.py Encoding 3840x2160p24 4K Shotcut Project using qmelt to x264 with Slow Preset and 16 CRF
  • bench.x265.py Encoding 3840x2160p24 4K Shotcut Project using qmelt to x265 with Slow Preset and 16 CRF
  • bench.vp9.py whenever google gets around to implementing proper multi-threading
  • bench.av1.py whenever aomedia gets around to finalizing spec and implementing multi-threading

Install

Tests cpu/ram and ssd/hdd and the results are in seconds

Special Thanks to

  • iWalkingCorpse for 1500X
  • Vegetables for 1700 3.8Ghz
  • Xplode for Threadripper 1950X
  • T-Nan for 7800X
  • shillzude for 5820K

This Benchmark is based on Shotcut and MLT open source project https://www.shotcut.org/

Beam

AMD ReLive

  • Crimson Settings > ReLive > Streaming > Custom Stream
  • Server URL: Paste Closest Ingest here
  • Connection Key: Paste Stream Key here
  • Streaming Profile High (720p60 @ 3.5Mbps)

Notes:

  • test stream record https://beam.pro/nwgat?vod=655012 (source mp4)
  • The quality varies by scenes/games
  • AMD seems to be doing CABAC coding which is nice
  • ~I dont know if 2-Pass is enabled yet yep they are doing 2-Pass
  • no HEVC streaming (yet) even with a custom server
  • rant: why the heck do stream sites only do 3.5Mbps? its annoying

Created this simple encoder script while trying out daala

Features:

  • Select file
  • Number of frames to skip
  • Number of frames to encode
  • Uncompressed y4m output file
  • Lossless png file from daala encode (uses y4m file from dump_video)
  • Lossless png file from source
  • Linux Bash Version
  • and by unpopular demand a Batch Version for Windows

Requirments

  • encoder expects y4m, so you need to ffmpeg -pix_fmt yuv420p -i any-source-video.webm output.y4m
  • ffmpeg needed for png frame extracting

Install Linux

cd daala/examples/

wget https://raw.githubusercontent.com/nwgat/scripts/master/nwgatdaalaenc.sh

chmod +x nwgatdaalaenc.sh

./nwgatdaalaenc.sh

Install windows

Download https://raw.githubusercontent.com/nwgat/scripts/master/nwgatdaalaenc-win.bat

copy to daala folder

Run it

notes:

  • Need to figure out why echo says its off on windows
  • Inputing nothing into frames/encodeframes on windows fails, need to figure that out
  • Perhaps more options to say yes or no, but this works for me

(almost) up to date daala builds for windows
64-bit for now, if anyone need 32-bit just contact me

Daala Websites
Website - GitHub - Demos - Doom9 Discussion

Compiler Details(for nwgat builds)

  • Cygwin64 1.7.32(0.274/5/3) or later
  • libogg 1.3.1-1 or later

Usage

Source: ffmpeg -pix_fmt yuv420p -i any-source-video.webm source.y4m
Source: (720p resize) ffmpeg -pix_fmt yuv420p scale=1280:-1 -i any-source-video.webm source.y4m
Encoding: encoder_example -v 20 source.y4m -o daala-video.ogv
Decoding: dump_video daala-video.ogv -o daala-video.y4m
Playback: Play daala-video.y4m in MPC-BE

Use between 0-55 (0 being lossless), daala supports upto 511 but thats pointless in my testing

Issues

Only use same build for the encoded file.
daala is not finished. so file decoding will break between builds

Download

Receive $10 in credit at DigitalOcean for your VPS Hosting
€1.24 VPS from Time4VPs
Proudly published with Ghost | Theme based on Draugur | Header Image by GUWEIZ@DeviantArt
Creative Commons Licence