使用 avconv (ffmpeg) 将一堆 .bmps 连接成 mkv/avi 视频

使用 avconv (ffmpeg) 将一堆 .bmps 连接成 mkv/avi 视频

尝试弄清楚如何让 avconv 将一堆 .bmps 连接在一起形成一个视频文件。

以下是我目前得到的信息:

avconv -f image2 -i Capture/%d.bmp -vcodec mpeg4 -r 24 -b:v 20M Capture.mkv

虽然这确实有效,但质量很差——有大量可见的伪影,颜色扭曲,一切都模糊。

avconv我仔细查看了和的文档ffmpeg,但没有发现任何可以提高质量的内容。

关于如何使质量尽可能接近原始 bmp,您有什么想法吗?

答案1

-vcodec mpeg4

这可能是你的问题。MPEG-4 是一种相当不错的编解码器,但它的表现很容易被 h.264 超越——x264 是 h.264 编码器的一个流行示例。我不确定比特率在这里起着多大的作用,但尝试 x264 会有所帮助。因此,使用

-c:v libx264

更改编码器。*为了调整质量,请设置恒定利率因子达到您选择的级别。合理的值从 19 到 24,值越低表示质量越好。

avconv -f image2 -i Capture/%d.bmp -c:v libx264 -r 24 -crf 21 Capture.mkv

如果您仍然看到瑕疵,您可能需要向我们提供更多信息,并使用命令中完整的、未剪辑的控制台输出更新您的帖子avconv

*-c:v是用来代替 的新语法vcodec,类似于-b:v。尽量坚持使用。

答案2

我遇到了类似的问题。为了与您的 BMP 实现最佳匹配,我建议按照我的做法进行操作:转换为 TIF 或 JPEG,因为 avconv 不能很好地处理 BMP - 无论我发现并设置了多少高质量设置。

一种直观的方法是简单地获取 GIMP 和 BIMP(无论如何它都是一个很好的批处理程序)并将您的 BMP 批量转换为 100% 质量的 JPEG 或 TIF(您可以使用 TIF 压缩)。

现在尝试相同的 avconv 操作。我以前用过,avconv -f image2 -r 15 -i animation%04d.jpg -r:v 15 -c:v h264 -crf 1 -an "animation_test.mov"但现在应该可以配合你的 mkv 操作了。

答案3

尝试使用不同的视频编解码器。它可能只适用于 QuickTime 文件(不是 Matroska),但它qtrle是一种无损视频编解码器,尽管压缩效果不是很好。

相关内容