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 视频
每月下载量 389
135KB
3.5K SLoC
ab-av1
带有快速VMAF采样和自动编码器crf计算的AV1视频编码工具。使用 ffmpeg、svt-av1 和 vmaf。
还支持其他ffmpeg兼容的编码器,如libx265和libx264。
命令: auto-encode
自动确定最佳crf以提供最小vmaf,并使用它编码视频或图像。
两个阶段
- crf-search 确定最佳 --crf 值
- 使用设置进行编码的ffmpeg
ab-av1 auto-encode [OPTIONS] -i <INPUT> --preset <PRESET>
命令: crf-search
使用 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