Changes between Version 20 and Version 21 of Encode/AV1


Ignore:
Timestamp:
Feb 15, 2021, 3:44:54 AM (6 years ago)
Author:
Mingye Wang
Comment:

not just aom

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 =
    72
    8 [[PageOutline(1, Contents)]]
     3[[PageOutline(1-2, Contents)]]
    94
    105`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.
     
    2621}}}
    2722
    28 = Constant Quality =
     23== Constant Quality ==
    2924
    3025libaom-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.
     
    3833The CRF value can be from 0–63. Lower values mean better quality and greater file size.
    3934
    40 = Constrained Quality =
     35== Constrained Quality ==
    4136
    4237libaom-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.
     
    5954}}}
    6055
    61 = Two-Pass =
     56== Two-Pass ==
    6257
    6358In 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:
     
    7772}}}
    7873
    79 = Average Bitrate (ABR) =
     74== Average Bitrate (ABR) ==
    8075
    8176libaom-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.
     
    8782Use 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.
    8883
    89 = Controlling Speed / Quality =
     84== Controlling Speed / Quality ==
    9085
    9186`-cpu-used` sets how efficient the compression will be. Default is 1. Lower values mean slower encoding with better quality, and vice-versa.
     
    9388`-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.
    9489
    95 = HDR =
     90== HDR ==
    9691
    9792When encoding in HDR it's necessary to pass through color information; `-colorspace`, `-color_trc` and `-color_primaries`. For example, Youtube HDR uses
     
    10196}}}
    10297
     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
     102Unlike 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
    103108= More Info =
    104109