FFmpeg - 将MP4转换为WebM,结果不佳

56

我正在尝试将视频编码为WebM格式,以便通过HTML5视频标签播放。 我有以下设置...

ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:a 128k -b:v 1M -c:a libopus output.webm

结果不太理想,视频失去了很多锐度。查看原始文件,我可以看到比特率为1694kb/s。

是否有任何设置可以添加或更改以改善输出?也许进行2遍编码会改善情况吗?


1
相关链接:https://askubuntu.com/questions/270625/how-to-fast-convert-mp4-to-webm-using-ffmpeg - Ciro Santilli OurBigBook.com
1
相关链接:https://video.stackexchange.com/questions/19590/convert-mp4-to-webm-without-quality-loss-with-ffmpeg - Steve Smith
2个回答

101

尝试使用

ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -b:a 128k -c:a libopus output.webm

调整CRF值,直到质量/大小的平衡达到可接受水平。较低的值会产生更大但更好的文件。


7
在 https://superuser.com/questions/677576/what-is-crf-used-for-in-ffmpeg 中提到了 -crf 范围的用途。 - Ciro Santilli OurBigBook.com
3
您可能需要将“-b: a 128k”增加。这是音频比特率。 - Jan Werkhoven
这个很好用!一个问题:将视频比特率设置为0(-b:v 0)是什么意思?在https://ffmpeg.org/documentation.html中找不到此选项的文档。 - ack_inc
它说“使用了不推荐的像素格式,请确保您正确设置了范围”。 - robertspierre
ffmpeg -i input.mp4 -lossless 1 output.webm我在另一个答案中看到了这个命令,我想知道它是否会产生相同的效果,甚至可能更好? - majorgear
显示剩余3条评论

9

非常感谢您提供的优秀链接!了解如何在质量、速度和文件大小之间进行权衡非常相关。 - Madacol

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接