#av1 #vmaf #ffmpeg #encoder #calculations #automatic

应用 ab-av1

使用快速VMAF采样的AV1编码

34次发布

0.7.17 2024年7月28日
0.7.14 2024年2月10日
0.7.10 2023年12月8日
0.7.9 2023年11月10日
0.3.1 2022年3月17日

#1 in 视频

Download history 9/week @ 2024-05-17 13/week @ 2024-05-24 11/week @ 2024-05-31 44/week @ 2024-06-07 67/week @ 2024-06-14 14/week @ 2024-06-21 192/week @ 2024-06-28 150/week @ 2024-07-05 75/week @ 2024-07-12 35/week @ 2024-07-19 288/week @ 2024-07-26 72/week @ 2024-08-02 15/week @ 2024-08-09 9/week @ 2024-08-16

每月下载量 389

MIT 许可证

135KB
3.5K SLoC

ab-av1

带有快速VMAF采样和自动编码器crf计算的AV1视频编码工具。使用 ffmpegsvt-av1vmaf

还支持其他ffmpeg兼容的编码器,如libx265和libx264。

命令: auto-encode

自动确定最佳crf以提供最小vmaf,并使用它编码视频或图像。

两个阶段

  • crf-search 确定最佳 --crf 值
  • 使用设置进行编码的ffmpeg
ab-av1 auto-encode [OPTIONS] -i <INPUT> --preset <PRESET>

使用 sample-encode 进行插值二分搜索以找到提供最小vmaf和最大编码百分比的最佳crf值。

输出

  • 最佳crf值
  • 平均样本VMAF评分
  • 预测的完整编码大小
  • 预测的完整编码时间
ab-av1 crf-search [OPTIONS] -i <INPUT> --preset <PRESET>

命令: sample-encode

使用提供的 crf预设 对输入进行编码,生成短视频样本。这比完整的编码/vmaf运行快得多。

输出

  • 平均样本VMAF评分
  • 预测的完整编码大小
  • 预测的完整编码时间
ab-av1 sample-encode [OPTIONS] -i <INPUT> --crf <CRF> --preset <PRESET>

命令: encode

调用ffmpeg对视频或图像进行编码。

ab-av1 encode [OPTIONS] -i <INPUT> --crf <CRF> --preset <PRESET>

命令: vmaf

完整VMAF评分计算,失真文件与参考文件比较。适用于视频和图像。

  • 自动根据分辨率设置模型版本(4k或1k)。
  • 自动将 n_threads 设置为系统线程数。
  • 自动将低分辨率视频缩放到模型。
  • 在传递给vmaf之前,将失真和参考转换为适当的格式yuv流。
ab-av1 vmaf --reference <REFERENCE> --distorted <DISTORTED>

安装

Arch Linux

可在AUR中找到。

Linux

最新发布中包含预构建的静态链接x86_64-unknown-linux-musl二进制文件最新发布

Windows

最新发布中包含预构建的 ab-av1.exe最新发布

使用cargo

最新发布

cargo install ab-av1

来自git的最新代码

cargo install --git https://github.com/alexheretic/ab-av1

要求

ffmpeg 新于git-2022-02-24,且启用了libsvtav1、libvmaf和libopus。

ffmpeg 应该在 $PATH 中。

调试

通过设置环境变量 RUST_LOG=ab_av1=debug 来启用调试日志。这包括所有的 ffmpeg 调用。

$ RUST_LOG=ab_av1=debug ab-av1 auto-encode -i vid.mkv

最低支持的 rust 编译器

使用最新的稳定版 rust 维护。

依赖项

~12–24MB
~359K SLoC