我正在尝试调用以下命令:
ffmpeg -y -i 1.png -vf "thumbnail=300,scale='min(300,iw)':-1" -frames:v 1 o.png
输入文件:
输出文件:
有可能修复它吗?
最佳答案
删除 thumbnail筛选。它不保留透明度,并且在您的命令中不执行任何操作,因为它旨在用于视频输入而不是单个图像输入:
thumbnail
Select the most representative frame in a given sequence of consecutive frames.
ffmpeg -y -i 1.png -vf "scale='min(300,iw)':-1" -frames:v 1 o.png
可以查看
libavfilter/vf_thumbnail.c
的源码查看支持的像素格式:static const enum AVPixelFormat pix_fmts[] = {
AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
AV_PIX_FMT_NONE
};
这些都不支持透明度(它会在支持透明度/alpha 的像素格式名称中包含
A
)。
关于ffmpeg:缩放 png 时保持透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58491426/