如何使用 FFmpeg 将视频转换为 AV1 无损?

如何使用 FFmpeg 将视频转换为 AV1 无损?

我有一组 AVI 视频(无损视频流;无音频)和我的目标是转化他们转换为 AV1 无损使用 FFmpeg。

FFmpeg(包括 librav1e、libaom-av1 和 libsvtav1)在我的 Windows 8.1 机器上运行良好,我能够使用命令部分将视频转换为 H.264、H.265 和 VP9(全部无损)AV1 vs VP9 vs AVC (h.264) vs HEVC (h.265):第一部分 - 无损

但我对该页面上的 AV1 命令行参数感到困惑。我也不知道如何转换ffmpeg 文档进入 FFmpeg 命令行(但找不到任何教程)。

我也检查过了libaom AV1 编码指南叛军联盟的 AV1 视频编解码器编码指南和其他人,但他们根本没有提到 AV1 无损。

您能否提供一个FFmpeg 命令行示例对于一个或多个编码器(librav1e、libaom-av1、libsvtav1)?

答案1

使用 FFmpeg 本身:

ffmpeg -i movie.avi -c:v libaom-av1 -aom-params lossless=1  "av1losslessmovie.mp4"

答案2

我做了一些研究并进行了大量测试,结果如下:

ffmpeg -hide_banner -i input.avi -f yuv4mpegpipe -pix_fmt yuv444p temp.y4m
aomenc --lossless=1 --threads=4 -o output.webm temp.y4m

它非常慢,并且使用独立的 aomenc(而不是我最初想要的 ffmpeg 中的 aomenc),但它可以工作,并且输出的文件比 H.264、H.265 或 VP9 格式小得多。

或者我之后使用它来更改容器:

ffmpeg -hide_banner -i output.webm -c:v copy output.mkv

rav1e 和 SVT-AV1 目前不支持无损(尽管要求:12)。

答案3

如果你有 FFmpeg>4.4,你可以简单地使用-crf 0参数

ffmpeg -i input.mp4 -c:v libaom-av1 -crf 0 av1_test.mkv

根据FFmpeg 文档


使用瓦列里·扎波多夫尼科夫如果您安装了 <4.4 FFmpeg,请回答。

相关内容