libaom-av1
我正在尝试转换具有格式的视频格式和opus
音频格式的视频
我将其转换为 mp4 使用
ffmpeg -y -i test.mkv -c copy -c:a aac 1.mp4
现在1.mp4
的大小2.4 mb
但当我尝试分享它时whatsapp
,它显示为9.4 MB
现在我想保持相同的大小在 1.5-2MB 左右并whatsapp
与same quality
我也试过
ffmpeg -y -i test.mkv \
-c:v libx264 -crf 28 -preset medium -profile:v baseline -level 3.0 -pix_fmt yuv420p \
-c:a aac -ar 44100 -ac 2 -b:a 48k \
-movflags faststart \
1.mp4
但质量很差
我该怎么办
原始视频(test.mkv
)可以在以下网址获取:https://0x0.st/-Ad4.mp4
答案1
您需要了解 libaom-av1 实际上是什么。
它是一种非常高效的编解码器。效率大约是 WhatsApp 使用的 libx264 的 3 倍。因此,在不影响质量的情况下,WhatsApp 中的文件至少需要大 3 倍,如果 AV1 文件有噪声模型,则需要更大。即使是 H265 的效率也远低于 AV1,大约低 30-40%,具体取决于 AV1 文件是否使用胶片颗粒编码。
你无能为力。WhatsApp 决定使用古老的 H264 作为其视频编解码器。你无法改变这一点。对于 2.4MB 的 AV1 文件,使用 x264 占用 9MB 似乎完全合理。
无关:
如果您想亲自尝试 AV1,这里有一个使用官方生产编码器 libsvtav1 将任何视频编码为 AV1 的命令,请注意这将需要相当长的时间(预设 6 是一个快速预设,如果您想要一个更小的文件,请转到预设 4,但这将花费更长时间,预设 8 仅比 x265 中等效率高 10%,但速度同样极快):
ffmpeg -i input.mp4 -vcodec libsvtav1 -acodec copy -qp 23 -preset 6 -g 300 output.mkv
-g 300 告诉编码器在 300 帧后放置一个关键帧,根据您的帧速率*5 进行更改。
您也可以使用参考编码器 libaom-av1,但是它不仅比 svt 慢得多,而且效率也不高,而且实际上无法进行多线程。在这种情况下,它甚至比上面的 svt 命令效率更低,但速度要慢得多。当然您可以尝试一下:
ffmpeg -i input.mp4 -vcodec libaom-av1 -cpu-used 6 -acodec copy -crf 23 output.mkv