如何解决如何将WebM文件透明转换为WebP文件?
我用ffmpeg尝试过。
ffmpeg input.webm output.webp
input.webm
包含透明背景,但是alpha通道在webp中变为白色。我认为这意味着Alpha通道不会融合在一起。
我用this command提取了帧:
ffmpeg -i input.xxx -c:v libwebp output_%03d.webp
它也为我提供了白色背景的webp文件。
如何使用Alpha通道正确转换它?还是应该将其转换为其他格式(扩展名)?
解决方法
使用-c:v libvpx
选项,在输入之前 更改解码器,如本例中所示,对于第一帧(-frames:v 1
):
ffmpeg -c:v libvpx -i input.webm -frames:v 1 -c:v libwebp -y output.webp
FFmpeg的本机VPx解码器不解码alpha。您必须使用libvpx解码器
您可以使用ffmpeg -decoders | grep libvpx
检查解码器,并且应该看到类似以下的输出:
V....D libvpx libvpx VP8 (codec vp8)
V....D libvpx-vp9 libvpx VP9 (codec vp9)
根据该输出,libvpx
将是VP8的解码器,libvpx-vp9
是VP9的解码器。
您可以使用ffprobe input.webm
检查视频的编解码器。您应该看到这样的输出:
Stream #0:0(eng): Video: vp8,yuv420p(progressive),640x360,SAR 1:1 DAR 16:9,30 fps,30 tbr,1k tbn,1k tbc (default)
Metadata:
alpha_mode : 1
要将整个webm(VP8)转换为动画的webp,请使用:
ffmpeg -c:v libvpx -i input.webm output.webp
要将整个webm(VP9)转换为动画的webp,请使用:
ffmpeg -c:v libvpx-vp9 -i input.webm output.webp
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。