使用 ffmpeg 创建 png 缩略图会给出错误消息“错误填充图片”
Posted
技术标签:
【中文标题】使用 ffmpeg 创建 png 缩略图会给出错误消息“错误填充图片”【英文标题】:Creating png thumbnail with ffmpeg gives error msg "error padding picture" 【发布时间】:2012-07-20 20:05:28 【问题描述】:我正在尝试创建顶部和底部有填充的视频缩略图。如果我想创建一个 jpeg 图像,它工作得很好,但如果是 png,它会转储错误消息“error padding picture
”
我使用的命令是:
ffmpeg -ss 0 -vframes 1 -i video.avi -padleft 0 -padright 0 -padtop 22 \
-padbottom 22 -s 128x84 quik.png
如果我只是将输出文件更改为“quik.jpeg
”,它就可以工作。有没有办法通过ffmpeg创建一个填充的png图像?我在这里做错了什么吗?
【问题讨论】:
我没有发现任何明显的错误。听起来像一个错误。您是否尝试过更新版本的 FFmpeg,可能使用 video filter for padding 而不是单独的填充标志? 【参考方案1】:是的——您正在使用-pad
选项。它们甚至不再在较新版本的 ffmpeg 中可用;您应该改用pad
过滤器:
ffmpeg -ss 0 -vframes 1 -i video.avi \
-vf scale=128:-1,pad=128:128:0:oh/2-ih/2 \
quik.png
分解-vf
:
scale=128:-1
使用适合纵横比的任何高度将图像缩放为 128 宽。
pad=128:84:0:oh/2-ih/2
将图像填充为 128x84,将输入图像置于 Y 坐标 oh/2-ih/2
(其中oh
是输出高度 84,ih
是输入图像的高度),使其居中输出。
请注意,如果您的视频高于宽度(因此需要水平填充而不是垂直填充),则此过滤器字符串将不起作用。解决方案,我留给读者。
【讨论】:
我目前使用的是0.6.2版本。由于其他原因,我不太确定我是否可以立即升级到较新的版本。 0.6.2 不支持视频过滤器 (-vf)。还有其他解决方法吗? 我强烈建议升级。整个 0.6 分支已经有好几年了;甚至该分支上的最新版本(0.6.6)也已无人维护。较新版本的 ffmpeg 将为您提供更快、更好地编码和解码更多格式以及过滤器(各种有用)。以上是关于使用 ffmpeg 创建 png 缩略图会给出错误消息“错误填充图片”的主要内容,如果未能解决你的问题,请参考以下文章