Skip to content

Releases: alexheretic/ab-av1

v0.4.2

13 Aug 11:24
Compare
Choose a tag to compare
  • Update indicatif dependency to 0.17.

v0.4.1

28 Jul 21:32
Compare
Choose a tag to compare
  • For -e libvpx-vp9 map --preset number to ffmpeg -cpu-used (0-5).
  • When overriding with a ffmpeg encoder avoid setting b:a, movflags or ac if explicitly set via --enc.
  • Add error output when using --enc-input with the default svt-av1 encoder.
  • Add errors for --enc/--enc-input args that are already provided by existing args or inferred.

v0.4.0

22 Jul 06:53
Compare
Choose a tag to compare
  • Add --encoder/-e encoder override.
    Any encoder ffmpeg supports
    and that may be controlled using -crf may be used.
  • Add --enc $FFMPEG_ARG for providing arbitrary output options to the ffmpeg encoder invocation.
    These only work when overriding the encoder with -e.

    E.g. Set x265 params: -e libx265 --enc x265-params=lossless=1.
  • Add --enc-input $FFMPEG_ARG for providing ffmpeg input file options, similar to --enc.
  • --preset now supports also word presets like slow, veryfast for ffmpeg encoders like libx264.
  • --preset is no longer required. Default svt-av1 --preset is now 8.
  • Support setting keyint for -e encoders in a similar way as is done for av1.
  • Add default vp9 & libaom-av1 -b:v 0 setting so constant quality crf based encoding works consistently.
  • For -e libaom-av1 map --preset number to ffmpeg -cpu-used (0-8).
  • For *_vaapi encoders map --crf to ffmpeg -qp as crf is not supported.
  • Shell escape file name in "Encoding ..." output.

v0.3.4

24 Jun 09:29
Compare
Choose a tag to compare
  • Shell escape file names when hinting commands.

v0.3.3

17 Jun 18:37
Compare
Choose a tag to compare
  • Show more info when auto-encode fails to find a suitable crf.

v0.3.2

10 Jun 07:28
Compare
Choose a tag to compare
  • Improve sample generation speed & frame duration accuracy.

v0.3.1

17 Mar 18:10
Compare
Choose a tag to compare
  • Fix some cases where ffmpeg progress & VMAF score output parsing failed.
  • Fix some edge cases where crf-search would succeed exceeding the specified --max-encoded-percent.

v0.3.0

05 Mar 09:27
Compare
Choose a tag to compare
  • Select vmaf model model=version=vmaf_4k_v0.6.1 for videos larger than 2560x1440 if no other model is specified.
    This will raise VMAF scores for 4k videos that previously were getting harsher treatment from the 1k model.
  • Add --vmaf-scale option which sets the video resolution scale to use in VMAF analysis.
    auto (default) auto scales based on model & resolution, none no scaling or custom WxH
    format, e.g. 1920x1080.
    • auto upscale 1728x972 & smaller to 1080p, preserving aspect, when using the default 1k VMAF model.
      This will reduce VMAF scores that previously were getting more generous treatment from the 1k model.
    • auto upscale 3456x1944 & smaller to 4k, preserving aspect, when using the 4k VMAF model.
  • Add --downmix-to-stereo option, if enabled & the input streams use > 3 channels (dts 5.1 etc),
    downmix input audio streams to stereo.
  • After encoding print per-stream sizes in addition to the file size & percent.
  • Add predicted video stream percent reduction to auto-encode search progress bar after a successful search.
  • Support non-video/audio/subtitle streams from input to output, e.g. attachments.
  • When defaulting the output file don't use input extension if it is avi, y4m, ivf, use mp4 instead.
  • Fix clearing crf-search progress bar output on error.
  • Strip debug symbols in release builds by default which reduces binary size (requires rustc 1.59).

v0.2.0

17 Feb 21:56
Compare
Choose a tag to compare
  • Add svt-av1 option --keyint FRAME-OR-DURATION argument supporting frame integer or duration string.
    E.g. --keyint=300 or --keyint=10s.
    Default keyint to 10s when input duration is over 3m.
  • Add svt-av1 option --scd true|false argument enabling scene change detection.
    Default scd on when using default keyint & input duration is over 3m.
  • Add --svt ARG for additional args, e.g. --svt mbr=2000 --svt film-grain=30.
  • Add --vfilter ARG argument to apply a ffmpeg video filter (crop, scale etc) to the input before av1 encoding.
    E.g. --vfilter "scale=1280:-1,fps=24".
  • Add --pix-format ARG argument supporting yuv420p10le (default) & yuv420p.
  • Add vmaf configuration --vmaf ARG, e.g. --vmaf n_threads=8 --vmaf n_subsample=4.
  • Rename vmaf command argument --reference (was --original).
  • Add vmaf command --reference-vfilter argument, similar to --vfilter.
  • Default vmaf n_threads to the number of logical CPUs.
  • Add --temp-dir argument to specify storage of sample data.
    May also be set with env var AB_AV1_TEMP_DIR.
  • Add --sample-every DURATION argument, default "12m".
  • Remove 3 sample default, this is now calculated using --sample-every 12m default.
  • Create samples concurrently while encoding to reduce io lags waiting to encode.
  • crf-search re-use samples for crf analysis.
  • Linux: vmaf use fifo to convert both reference & distorted to yuv which fixes vmaf accuracy in some cases.
  • Support multiple audio & subtitle streams.
  • Use 128k bitrate as a default for libopus audio.
  • Remove --aq.
  • Fail fast if ffmpeg cut samples are empty (< 1K).
  • Handle input durations lower than the sample duration by using the whole input as a single sample.

v0.1.1

05 Feb 00:53
Compare
Choose a tag to compare
  • Add command to generate bash,fish & zsh completions ab-av1 print-completions [SHELL].