我目前正在使用 Ubuntu Focal Fossa 20.04 LTS,我想使用 FFmpeg 和 librav1e 创建高质量的 AV1 文件。将 rav1e 支持添加到 FFmpeg 作为“librav1e”,我一直受到鼓舞。
这里给出了我感兴趣的材料:
- Sintel 预告片视频(720p 未压缩 1.7GB)
- Sintel 预告片音频(flac 5MB)
FFmpeg 下的 rav1e 支持还处于早期阶段,没有很多文档和已发布的实验。很高兴看到这一切都在 Ubuntu LTS 版本下运行!
看起来这个目标可以通过 4 个相对简单的步骤来实现,从而使 Ubuntu Focal Fossa 20.04 LTS 能够掌握 FFmpeg 和 rav1e 的 AV1 编码!
1. 获取一份最新的 rust 副本...
Focal Fossa 和 rav1e 受益于更新版本的 rust,因此获取更新的副本如下:
遵循默认设置(只需按“回车”),然后运行以下命令来配置您当前的 shell:
允许即时访问最新的 rust 和朋友。请记住通过运行以下命令不时更新此安装(尤其是从本指南更新 rav1e 时):
2.安装rav1e
最好安装可执行文件(然后该命令
rav1e --fullhelp
将显示可在 FFmpeg 中使用该选项的-rav1e-params
选项)以及 FFmpeg 将用于成功编译和生成 librav1e 的库。首先是可执行文件,使用简单的复制和粘贴代码块:
接下来安装
cargo-c
小程序以及 FFmpeg 所需的库和 pkg-config 文件。首先运行一次性命令进行安装cargo-c
:然后使用安装的再次
cargo-c
编译 rav1e :最好然后删除 rav1e共享库,让FFmpeg 获取静态库(FFmpeg在我的系统上这个位置的共享 rav1e 库有问题):
3.安装FFmpeg
现在转到FFmpeg trac 站点并按照说明安装 FFmpeg,记住添加:
到
./configure
字符串。然后艰苦的工作就完成了:)4.运行编码器
然后可以对原始问题中提到的测试文件运行非常合理的编码:
这里要操作的事情是:
-qp 80
:使用“量化器”模式进行编码,范围为 0-255。较小的值是较高的质量,默认值为 100。80 似乎是此媒体剪辑的最佳点。-speed 4
: 选择编码的速度预设 (0-10),0 是最好的质量,10 是最快的。这个特殊设置是我系统(第二代 Threadripper)速度和质量之间的一个很好的折衷。-tile-columns 2 -tile-rows 2
可以通过操纵 rav1e 的基于 tile 的编码来实现相当不错的速度增强。此处给出的示例将编码和解码分为 4 段,对于建议的输入视频来说似乎是一个不错的选择,尽管请随意尝试..这以许多倍于 FFmpeg 和 libaom-av1 的速度进行编码,并且可以说产生更好的质量。毫无疑问,这个编码字符串可以进一步细化,我会在 rav1e、FFmpeg 和 AV1 编码成熟时这样做......
5.免费截图
好的,所以有一个可选的第五步;截取运行完成的输出文件的屏幕截图:)
补充说明...
man ffmpeg-all
还是man ffmpeg-codecs
。请记住,本机 rav1e 选项可以rav1e --help
通过使用选项查看并添加到任何 FFmpeg 命令行中-rav1e-params
...