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




But first we need to some background music for our work

Gaming Machine (OBS Studio)

  • Stream > Stream Type: Custom streaming Sever rtmp://encodingserver:1935/live/
  • Output > Streaming
  • Encoder: H264/AVC Encoder (AMD Advanced Media Framework)
  • Preset: Reset to Default
  • Target Bitrate: 25000 (25mbps)

Gaming Machine (AMD Relive)

  • Relive > Streaming
  • Custom Stream Enabled
  • Server URL rtmp://encodingserver:1935/live/
  • Connection Key blank
  • Streaming Profile Custom
  • Streaming Resolution 1080p
  • Streaming Bitrate 20 Mbps
  • Streaming FPS 60
  • Audio Bitrate 192 kbps

Rant@AMD why cant people with non-16:9 display have a crop/pan option!
so that we can crop 1920x1200 to 1920x1080?

with ffmpeg you can do -vf "crop=1920:1080:60:60"

panning would also been nice...

Windows Encoding Server (Nginx/FFMPEG Simulcast)

Recommended Hardware for 1080p: Ryzen 1700/1600
Recommended Hardware for 720p: Ryzen 1500X

if your using a server on the intertubes please add auth or restrict by ip
http://nginx-rtmp.blogspot.no/2013/06/secure-links-in-nginx-rtmp.html
https://helping-squad.com/nginx-rtmp-secure-your-nginx-server/

  • Download: https://github.com/nwgat/ninjastreamer/archive/master.zip
  • Open conf/nginx.conf in notepad
  • Change push urls under liveout
  • Run ninjastreamer.1080p.bat for 1080p 6mbps
  • Run ninjastreamer.720p.bat for 720p 3mbps
  • in OBS Studio click start streaming
  • Run stop nginx.bat to stop nginx
  • Run kill nginx and ffmpeg.bat to taskkill if it hangs

Linux Encoding Server (Nginx/FFMPEG Simulcast)

Recommended Hardware for 1080p: Ryzen 1700/1600
Recommended Hardware for 720p: Ryzen 1500X

if your using a server on the intertubes please add auth or restrict by ip
http://nginx-rtmp.blogspot.no/2013/06/secure-links-in-nginx-rtmp.html
https://helping-squad.com/nginx-rtmp-secure-your-nginx-server/

  • sudo apt-get install ffmpeg nano git
  • git clone https://github.com/nwgat/ninjastreamer && cd ninjastreamer
  • nano conf/nginx.conf
  • Change push urls under liveout
  • chmod 777 nginx
  • chmod 777 ninjastreamer.*
  • Run sh ninjastreamer.1080p.sh for 1080p 6mbps
  • Run sh ninjastreamer.720p.sh for 720p 3mbps
  • in OBS Studio click start streaming
  • Run pkill -9 nginx && pkill -9 ffmpeg to kill if it hangs

Notes

  • Depending on your CPU you can change x264 quality with preset from ultrafast,superfast, veryfast, faster, fast, medium
  • You can even use hardware encoders like h264_amf, h264_nvenc or h264_qs

*because i was bored





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/

list of my current tools for video editing

Adobe Premiere Replacement

Adobe After Effects Replacement

Adobe Audition Replacement

Adobe Illustrator Replacement

Adobe Photoshop Replacement

Other

save to mkv ~10mbps

  • raspivid -hf -vf -t 0 -b 10000000 -o - | ffmpeg -i - -vcodec copy test.mkv

explanation

Raspvid

  • -hf flip horizontal
  • -vf flip vertical
  • -t 0 indefinetly
  • -b 10000000 10mbps bitrate
  • -o -output to ffmpeg

ffmpeg

  • -i - reads from raspivid
  • -vcodec copy simple copying of video data
  • test.mkv file name and the output matroska format
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