We first covered AV1 royalty-free, open source video codec in 2016, which with backing from companies like Google, Amazon, Intel, Microsoft, and many others with the aim to compete with H.265, and lower the cost of delivering video both thanks to a better compression ratio, and the lack of royalties.
Since then progress has been made, with AV1 specifications released last March, and now both YouTube and Netflix are offering some beta AV1 video samples for testing.
If you want to play some videos in AV1 format in YouTube as I did in the screenshot above, you’d need to install a very recent (beta) version of Chrome or Firefox, follow the other instructions as explained in YouTube’s AV1 beta playlist:
Support for AV1 in MP4 within Media Source is available in Chrome 70, and Firefox 63 builds newer than September 13 with the media.av1.enabled pref set.
Using a supported browser and choosing the ‘Prefer AV1 for SD’ setting on youtube.com/testtube, you should see AV1 used for these videos when playing less than 480p, switching to VP9 for higher resolutions.
So remember that for now the samples are only available at 480p only, and the bitrate is fairly high for now, but this is for testing… Make sure you see “Codecs av01” in the Stats for Nerds overlay. If you don’t and instead see avc1 or vp09, something is not right.
If you want to download the sample for local use, I assume you could likely do so with any video downloader, so I tried with youtube-dl command line tool in Ubuntu 18.04:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
sudo apt install youtube-dl youtube-dl -F https://www.youtube.com/watch?v=mIAfxj7nd9k [youtube] mIAfxj7nd9k: Downloading webpage [youtube] mIAfxj7nd9k: Downloading video info webpage [youtube] mIAfxj7nd9k: Extracting video information WARNING: Unknown codec av01.0.05M.08 WARNING: Unknown codec av01.0.05M.08 WARNING: Unknown codec av01.0.05M.08 WARNING: Unknown codec av01.0.05M.08 WARNING: Unknown codec av01.0.05M.08 [info] Available formats for mIAfxj7nd9k: [info] Available formats for mIAfxj7nd9k: format code extension resolution note 249 webm audio only DASH audio 60k , opus @ 50k, 1.03MiB 250 webm audio only DASH audio 80k , opus @ 70k, 1.38MiB 171 webm audio only DASH audio 118k , vorbis@128k, 2.06MiB 140 m4a audio only DASH audio 127k , m4a_dash container, mp4a.40.2@128k, 2.41MiB 251 webm audio only DASH audio 152k , opus @160k, 2.67MiB 395 mp4 audio only 240p 401k , 24fps, 3.04MiB 396 mp4 audio only 360p 706k , 24fps, 5.28MiB 397 mp4 audio only 480p 1115k , 24fps, 8.76MiB 398 mp4 audio only 720p 1912k , 24fps, 15.51MiB 399 mp4 audio only 1080p 3092k , 24fps, 26.91MiB 278 webm 256x144 144p 96k , webm container, vp9, 24fps, video only, 1.64MiB 160 mp4 256x144 144p 107k , avc1.4d400c, 24fps, video only, 1018.66KiB 133 mp4 426x240 240p 208k , avc1.4d4015, 24fps, video only, 1.80MiB 242 webm 426x240 240p 225k , vp9, 24fps, video only, 2.94MiB 243 webm 640x360 360p 408k , vp9, 24fps, video only, 5.39MiB 134 mp4 640x360 360p 523k , avc1.4d401e, 24fps, video only, 4.45MiB 244 webm 854x480 480p 760k , vp9, 24fps, video only, 9.50MiB 135 mp4 854x480 480p 1070k , avc1.4d401e, 24fps, video only, 9.13MiB 247 webm 1280x720 720p 1524k , vp9, 24fps, video only, 18.27MiB 136 mp4 1280x720 720p 1900k , avc1.4d401f, 24fps, video only, 15.82MiB 248 webm 1920x1080 1080p 2669k , vp9, 24fps, video only, 32.70MiB 137 mp4 1920x1080 1080p 3263k , avc1.640028, 24fps, video only, 28.16MiB 271 webm 2560x1440 1440p 7771k , vp9, 24fps, video only, 74.65MiB 313 webm 3840x2160 2160p 17516k , vp9, 24fps, video only, 204.94MiB 17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k 36 3gp 320x180 small , mp4v.20.3, mp4a.40.2 43 webm 640x360 medium , vp8.0, vorbis@128k 18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k 22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best) |
But sadly it filters out video with AV1 codec since the utility never heard about “av01.0.05M.08” codec. Ubuntu repo does not usually come with the very latest version of tools, so instead let’s get the one provided by the developer:
1 2 3 |
sudo apt purge youtube-dl sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl |
And we can now find AV1 “av01” samples in the list of video formats:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
youtube-dl -F https://www.youtube.com/watch?v=mIAfxj7nd9k [youtube] mIAfxj7nd9k: Downloading webpage [youtube] mIAfxj7nd9k: Downloading video info webpage [info] Available formats for mIAfxj7nd9k: format code extension resolution note 249 webm audio only DASH audio 60k , opus @ 50k, 1.03MiB 250 webm audio only DASH audio 80k , opus @ 70k, 1.38MiB 171 webm audio only DASH audio 118k , vorbis@128k, 2.06MiB 140 m4a audio only DASH audio 127k , m4a_dash container, mp4a.40.2@128k, 2.41MiB 251 webm audio only DASH audio 152k , opus @160k, 2.67MiB 278 webm 256x144 144p 96k , webm container, vp9, 24fps, video only, 1.64MiB 160 mp4 256x144 144p 107k , avc1.4d400c, 24fps, video only, 1018.66KiB 133 mp4 426x240 240p 208k , avc1.4d4015, 24fps, video only, 1.80MiB 242 webm 426x240 240p 225k , vp9, 24fps, video only, 2.94MiB 395 mp4 426x240 240p 401k , av01.0.05M.08, 24fps, video only, 3.04MiB 243 webm 640x360 360p 408k , vp9, 24fps, video only, 5.39MiB 134 mp4 640x360 360p 523k , avc1.4d401e, 24fps, video only, 4.45MiB 396 mp4 640x360 360p 706k , av01.0.05M.08, 24fps, video only, 5.28MiB 244 webm 854x480 480p 760k , vp9, 24fps, video only, 9.50MiB 135 mp4 854x480 480p 1070k , avc1.4d401e, 24fps, video only, 9.13MiB 397 mp4 854x480 480p 1115k , av01.0.05M.08, 24fps, video only, 8.76MiB 247 webm 1280x720 720p 1524k , vp9, 24fps, video only, 18.27MiB 136 mp4 1280x720 720p 1900k , avc1.4d401f, 24fps, video only, 15.82MiB 398 mp4 1280x720 720p 1912k , av01.0.05M.08, 24fps, video only, 15.51MiB 248 webm 1920x1080 1080p 2669k , vp9, 24fps, video only, 32.70MiB 399 mp4 1920x1080 1080p 3092k , av01.0.05M.08, 24fps, video only, 26.91MiB 137 mp4 1920x1080 1080p 3263k , avc1.640028, 24fps, video only, 28.16MiB 271 webm 2560x1440 1440p 7771k , vp9, 24fps, video only, 74.65MiB 313 webm 3840x2160 2160p 17516k , vp9, 24fps, video only, 204.94MiB 17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k, 1.38MiB 36 3gp 320x180 small , mp4v.20.3, mp4a.40.2, 3.80MiB 18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k, 9.54MiB 43 webm 640x360 medium , vp8.0, vorbis@128k, 13.97MiB 22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best) |
Let’s try to download format 399 with AV1 codec and 1920×1080 resolution:
1 2 3 4 5 |
youtube-dl -f 399 https://www.youtube.com/watch?v=mIAfxj7nd9k [youtube] mIAfxj7nd9k: Downloading webpage [youtube] mIAfxj7nd9k: Downloading video info webpage [download] Destination: Blackmagic Pocket Cinema Camera 4K ‘Balloons’-mIAfxj7nd9k.mp4 [download] 100% of 26.91MiB in 00:32 |
This looks good, but let’s have a quick check to confirm the video info:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
mediainfo Blackmagic\ Pocket\ Cinema\ Camera\ 4K\ ‘Balloons’-mIAfxj7nd9k.mp4 General Complete name : Blackmagic Pocket Cinema Camera 4K ‘Balloons’-mIAfxj7nd9k.mp4 Format : dash Codec ID : dash (iso6/av01/mp41) File size : 26.9 MiB Duration : 2 min 38 s Overall bit rate : 1 420 kb/s Encoded date : UTC 2018-09-13 12:34:07 Tagged date : UTC 2018-09-13 12:34:07 Video ID : 1 Format : av01 Codec ID : av01 Duration : 2 min 38 s Bit rate : 1 419 kb/s Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 23.976 (24000/1001) FPS Bits/(Pixel*Frame) : 0.029 Stream size : 26.9 MiB (100%) Title : ISO Media file produced by Google Inc. Created on: 09/13/2018. Encoded date : UTC 2018-09-13 12:34:07 Tagged date : UTC 2018-09-13 12:34:07 |
Perfect. Since I’m now aware of a 1080p AV1 video, I also went back to Chrome and set “Always Prefer AV1”, and my laptop – based on AMD Ryzen 7 2700U processor – could play the video fairly well most of the time, but for some sequence at the 9 seconds mark where the video became choppy for several seconds despite overall CPU usage remaining low, and no buffering issues. Note that decoding appears to rely on two threads max at this stage.
I don’t have a Netflix account, but according to Anandtech, the company is offering a single video ranging from 432p to 1080p in 8-bit or 10-bit color depth.
Anandtech also shared a timeline for AV1 adoption, and while we can expect AV1 in desktop web browser fairly soon, the first devices – e.g. TV boxes – with silicon capable of handling AV1 (by hardware) should become available in 2020.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Netflix has gone a step further and has not started to stream AV1 videos to Android devices:
https://netflixtechblog.com/netflix-now-streaming-av1-on-android-d5264a515202
They use av1-libaom on the encoding side and measured a 20% improved compression efficiency over VP9 (vp9-libvpx).
dav1d decoder built by the VideoLAN, VLC, and FFmpeg communities is used on Android. AV1 is opt-in, and not enabled by default since most devices don’t have a hardware decoder just yet.