Changes between Version 20 and Version 21 of Encode/AV1
- Timestamp:
- Feb 15, 2021, 3:44:54 AM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Encode/AV1
v20 v21 1 {{{ 2 #!html 3 <h1 style="font-size: 22px;"> 4 libaom AV1 Encoding Guide 5 </h1> 6 }}} 1 = libaom AV1 Encoding Guide = 7 2 8 [[PageOutline(1 , Contents)]]3 [[PageOutline(1-2, Contents)]] 9 4 10 5 `libaom-av1` is the AOMedia video encoder for [https://en.wikipedia.org/wiki/AV1 AV1], an open source & royalty-free video codec. `libaom-av1` can save about 30% bitrate compared to VP9 and H.265 / HEVC, and about 50% over H.264, while retaining the same visual quality. … … 26 21 }}} 27 22 28 = Constant Quality=23 == Constant Quality == 29 24 30 25 libaom-av1 has a constant quality (CQ) mode (like CRF in x264 and x265) which will ensure that every frame gets the number of bits it deserves to achieve a certain (perceptual) quality level, rather than encoding each frame to meet a bit rate target. This results in better overall quality. If you do not need to achieve a fixed target file size, this should be your method of choice. … … 38 33 The CRF value can be from 0–63. Lower values mean better quality and greater file size. 39 34 40 = Constrained Quality=35 == Constrained Quality == 41 36 42 37 libaom-av1 also has a constrained quality (CQ) mode that will ensure that a constant (perceptual) quality is reached while keeping the bitrate below a specified upper bound or within a certain bound. This method is useful for bulk encoding videos in a generally consistent fashion. … … 59 54 }}} 60 55 61 = Two-Pass=56 == Two-Pass == 62 57 63 58 In order to create more efficient encodes when a particular target bitrate should be reached, you should choose two-pass encoding. For two-pass, you need to run `ffmpeg` twice, with almost the same settings, except for: … … 77 72 }}} 78 73 79 = Average Bitrate (ABR)=74 == Average Bitrate (ABR) == 80 75 81 76 libaom-av1 also offers a simple "Average Bitrate" or "Target Bitrate" mode. In this mode, it will simply try to reach the specified bit rate on average, e.g. 2 MBit/s. … … 87 82 Use this option only if file size '''and''' encoding time are more important factors than quality alone. Otherwise, use one of the other rate control methods described above. 88 83 89 = Controlling Speed / Quality=84 == Controlling Speed / Quality == 90 85 91 86 `-cpu-used` sets how efficient the compression will be. Default is 1. Lower values mean slower encoding with better quality, and vice-versa. … … 93 88 `-row-mt 1` enables row-based multi-threading which maximizes CPU usage. To enable fast decoding performance, also add tiles (i.e. `-tiles 4x1` or `-tiles 2x2` for 4 tiles). Enabling `row-mt` is only faster when the CPU has more threads than the number of encoded tiles. 94 89 95 = HDR=90 == HDR == 96 91 97 92 When encoding in HDR it's necessary to pass through color information; `-colorspace`, `-color_trc` and `-color_primaries`. For example, Youtube HDR uses … … 101 96 }}} 102 97 98 = rav1e = 99 100 `librav1e` is the Xiph encoder for AV1. Compile with `--enable-librav1e`. See [https://www.ffmpeg.org/ffmpeg-all.html#librav1e ffmpeg doc] for instructions. 101 102 Unlike libaom, which is built for compression ratio first and speed second, rav1e reverses the priorities and goes for speed first. It claims to be the fastest software AV1 encoder. 103 104 = SVT-AV1 = 105 106 `libsvtav1` is the Intel codec for AV1. Compile with `--enable-libsvtav1`. See [https://www.ffmpeg.org/ffmpeg-all.html#libsvtav1 ffmpeg doc]. 107 103 108 = More Info = 104 109
