Content
Note on Performance of SVT-AV1
How Run Encoding of 10 bits per pixel Raw Sequence?
the new version 1.4.0 has been published:
git clone https://gitlab.com/AOMediaCodec/SVT-AV1
or alternatively you can download zip-sources
there is build.bat file in the folder \Build\windows, for example if you have Visual Studio 2019 installed go to \Build\windows and type the following command to get Release exe-file:
build 2019 Release
The exe file SvtAv1EncApp.exe is created at the folder: Bin\Release\
Bin\Release\SvtAv1EncApp.exe
Bin\Release\SvtAv1DecApp.exe
Notice that the version 1.4.0 is much more faster.
The binaries are not self-contained and require SvtAv1Enc.dll and SvtAv1Dec.dll, although one can build SvtAv1EncApp.exe and SvtAv1DecApp.exe as static.
To get all CLI parameters apply: SvtAv1EncApp.exe --help
Selected and most relevant SvtAv1EncApp.exe parameters:
General options:
-i raw video file (y4m and yuv)
-b output compressed (ivf) file
--preset
encoder preset [0-13], higher presets means faster encoding, default is 10, in the link you can learn what parameters each preset activate.
-w frame width in pixels, inferred if y4m
-h frame height in pixels, inferred if y4m
-n number of frames to encode. default is 0 (until EOF)
--fps
input video frame rate, integer values only, inferred if y4m, default is 25
--lp
for parallel coding, the number of logical processors (I found switching from ‘--lp 1
‘ to ‘--lp 8
‘ makes encoding times twice)
--enable-tf
enable temporal filtering of input frames, to disable type --disable-tf
Rate Control Options:
--rc
Rate control mode, default is 0 [0: CRF , 1: VBR, 2: CBR]
-q initial QP level value, default is 35 [1-63]
--crf
constant Rate Factor value, setting this value is equal to `–rc 0 –aq-mode 2 –qp x`, default is 35 [1-63]
--tbr
target Bitrate (kbps), only applicable for VBR and CBR encoding, default is 7000
--mbr
peak bitrate (kbps) only applicable for CRF and VBR encoding, default is 0
--aq-mode
set adaptive QP level, default is 2 [0: off, 1: variance base using AV1 segments, 2: deltaq pred efficiency]
Multi-pass Options:
--pass
multi-pass selection, pass 3 is only available for VBR, default is 0 [0: single pass encode, 1: first pass, 2: second pass, 3: third pass]
--stats
filename for multi-pass encoding, default is “svtav1_2pass.log”
--passes
number of encoding passes, default is preset dependent but generally 1 [1: one pass encode, 2: multi-pass encode]
GOP options:
--keyint
GOP size (frames), -1: “infinite” , the argument of ‘keyint
‘ can be provided in seconds: ‘--keyint 2s'
, i.e. frame_rate x 2
--irefresh-type
Intra refresh type, default is 2 [1: open GOP), 2: closed GOP]
--scd
Scene change detection control, default is 0 [0-1]
--lookahead
number of frames in the future to look ahead, not including minigop, temporal filtering, and rate control, default is -1 [-1: auto, 0-120]
--pred-struct
set prediction structure, default is 2 [1: low delay frames, 2: random access]
AV1 Specific Options:
--tile-rows
number of tile rows
--tile-columns
number of tile columns n
--enable-dlf
enable deblocking loop filter control, default is 1 [0-1]
--enable-cdef
enable Constained Directional Enhancement Filter, default is 1 [0-1]
--enable-restoration
enable loop restoration filter, default is 1 [0-1]
--tune
specifies whether to use PSNR or VQ as the tuning metric [0 = VQ, 1 = PSNR], default is 1 [0-1]
Example [rate control vbr, bitrate 500kbps, peak bitrate 600kbps, gop length 50 frames, frame rate 25,
low-delay (--pred-struct 1
)]
SvtAv1EncApp.exe -i .\yuv\akiyo_cif.y4m --rc 1 --tbr 500 --mbr 600 --fps 25 --lp 8 --preset 8 --pred-struct 1 --keyint 50 --lookahead 1 --enable-restoration 0 -b akiyo.ivf
Example: input file is raw video in the format yuv420p (size 1920×1080), output webm, target bitrate 5Mbps, maximal bitrate 6Mbps, frame rate 50fps, low-delay mode:
SvtAv1EncApp.exe -i .\yuv\crowdrun1080p50fps.yuv -w 1920 -h 1080 --rc 1 --tbr 5000 --mbr 6000 --fps 50 --preset 8 --pred-struct 1 --keyint 50 --lookahead 1 --enable-restoration 0 -b crows.webm
note: the output file akiyo.ivf is playable by ffplay and PotPlayer.
Apply AV1 decoder SvtAv1DecApp.exe :
SvtAv1DecApp.exe -i akiyo.ivf -bit-depth 8 -colour-space 420 -o test_cif.yuv
you can play yuv-file with ‘ffplay’ as follows:
ffplay -s 352×288 test_cif.yuv
Note on Performance of SVT-AV1
Jan Ozer reports in “AV1 Has Arrived: Comparing Codecs from AOMedia, Visionular, and Intel/Netflix” that SVT-AV1 in 2020, it was the worst of four AV1 alternatives.
There is another comparison report of OTT Verse – “Comparing SVT-AV1 Presets: Size, Quality, and Speed with CRF Variations“
How Run Encoding of 10 bits per pixel Raw Sequence?
you can take 10bpp video from https://media.xiph.org/video/derf/ , e.g. “Netflix_Tango“, use ' --input-depth 10'
(in old versions --bit-depth
used):
Example [ 4K resolution, bitrate 15Mbps, peak bitrate 18Mbps, closed gops, tiling 2×2 ]
SvtAv1EncApp.exe -i Netflix_Aerial_4096x2160_60fps_10bit.y4m --rc 1 --tbr 15000 --mbr 18000 --fps 60 --preset 8 --pred-struct 1 --keyint 60 --irefresh-type 2 --input-depth 10 --tile-rows 2 --tile-columns 2 --lookahead 1 --enable-restoration 0 -b netflix.ivf
'--irefresh-type 2'
makes closed GOPs
Since 2022 ffmpeg supports SVT-AV1 encoder called ‘libsvtav1’ , you can take windows binary ffmpeg with libsvtav1 inside.
ffmpeg -hide_banner -encoders | findstr av1
V….D libaom-av1 libaom AV1 (codec av1)
V….D librav1e librav1e AV1 (codec av1)
V….. libsvtav1 SVT-AV1(Scalable Video Technology for AV1) encoder (codec av1)
Example:
ffmpeg -y -i akiyo_cif.y4m -crf 20 -preset 9 -g 30 -svtav1-params fast-decode=1:lp=1 -threads 1 -c:v libsvtav1 -f webm akiyo.webm
-preset 9 fast mode (1 – slowest mode, 11 – fastest)
fast-decode=1 facilitate fast decoding
lp=1 single logical processor (corresponding to ‘threads 1’)
23+ years’ programming and theoretical experience in the computer science fields such as video compression, media streaming and artificial intelligence (co-author of several papers and patents).
the author is looking for new job, my resume
Hi this is kinda of off topic butt I was wanting to know
if blogs usee WYSIWYG editors or if yyou have to manually code with HTML.
I’m starting a blog soon but have no coding experience so I wanted to get guidance
from someone with experience. Any help would be enormously appreciated!
My web page: kamagra generico prezzo
you are welcome ask our web-designer Ivan Lukin vanyalukin007@gmail.com
An outstanding share! I have just forwarded this onto a colleague who had been doing a little research on this. And he in fact ordered me dinner simply because I stumbled upon it for him… lol. So let me reword this…. Thanks for the meal!! But yeah, thanks for spending the time to discuss this subject here on your web site.
When I initially commented I clicked the -Notify me when new feedback are added- checkbox and now each time a comment is added I get 4 emails with the same comment. Is there any manner you’ll be able to remove me from that service? Thanks!
i regret but it’s not my intention to flood readers by spam. i suggest to block the site. Anyway, the site will be closed in a half of year.
Hey, you used to write magnificent, but the last several posts have been kinda boringK I miss your super writings. Past few posts are just a little bit out of track! come on!
What i do not realize is actually how you are not really much more well-liked than you might be right now. You are very intelligent. You realize therefore significantly relating to this subject, made me personally consider it from numerous varied angles. Its like men and women aren’t fascinated unless it is one thing to accomplish with Lady gaga! Your own stuffs excellent. Always maintain it up!
Woh I enjoy your posts, saved to my bookmarks! .
Hi, Neat post. There’s a problem together with your site in web explorer, may test this?K IE still is the market chief and a good component of other folks will leave out your magnificent writing because of this problem.
You actually make it appear so easy with your presentation but I find this topic to be actually something that I think I’d by no means understand. It seems too complex and very huge for me. I’m having a look forward to your next post, I will try to get the hold of it!
Utterly indited content, thanks for entropy.
Your style is so unique compared to many other people. Thank you for publishing when you have the opportunity,Guess I will just make this bookmarked.2
You can certainly see your expertise in the work you write. The world hopes for more passionate writers like you who aren’t afraid to say how they believe. Always follow your heart.
Hello! Do you use Twitter? I’d like to follow you if that would be okay. I’m definitely enjoying your blog and look forward to new posts.
no, i have Linkedin account https://www.linkedin.com/in/shevach-riabtsev-4b43a92/
Hi, just required you to know I he added your site to my Google bookmarks due to your layout. But seriously, I believe your internet site has 1 in the freshest theme I??ve came across. It extremely helps make reading your blog significantly easier.