gpt4 book ai didi

ffmpeg - 如何将 WebM 文件透明地转换为 WebP 文件?

转载 作者:行者123 更新时间:2023-12-04 22:45:20 28 4
gpt4 key购买 nike

我用 ffmpeg 试过了。

ffmpeg input.webm output.webp

input.webm 包含透明背景,但 alpha channel 在 webp 中变为白色。我认为这意味着 alpha channel 没有聚集在一起。

我用 this command 提取了帧:

ffmpeg -i input.xxx -c:v libwebp output_%03d.webp

它还给我白色背景的 webp 文件。

如何使用 alpha channel 正确转换它?或者我应该从其他格式(扩展名)转换它吗?

最佳答案

在输入之前使用-c:v libvpx选项来更改解码器,就像本例中的第一帧(-frames:v 1):

ffmpeg -c:v libvpx -i input.webm -frames:v 1 -c:v libwebp -y output.webp

This comment说:

FFmpeg's native VPx decoders don't decode alpha. You have to use the libvpx decoder

您可以使用 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

关于ffmpeg - 如何将 WebM 文件透明地转换为 WebP 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63554209/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com