gpt4 book ai didi

ffmpeg - 使用 alpha 将 WEBM 转换为 HEVC

转载 作者:行者123 更新时间:2023-12-04 01:27:16 27 4
gpt4 key购买 nike

我正在尝试将具有透明度的简单 WEBM 视频转换为具有 alpha 的 HEVC。我找不到任何关于如何在不丢失 Alpha channel 的情况下进行转换的资源。

我不知道 FFMPEG 是否可行:

encoding requests cannot be made here as FFmpeg does not contain a native hevc encoder.



参看。 https://trac.ffmpeg.org/ticket/7965

这是 WEBM 视频示例: https://filebin.net/c4orn2u48jb3gufr

最佳答案

VideoToolbox 支持 alpha/透明度
FFmpeg 没有自己的 HEVC/H.265 编码器。它支持 7 个 HEVC/H.265 外部编码器(大多数是基于硬件的),包括当前不支持 alpha 的 libx265。
截至目前只有 VideoToolbox HEVC 编码器 ( -c:v hevc_videotoolbox ) 支持 alpha .这是 Apple 硬件的硬件加速编码器。这已在 FFmpeg 4.3 发布后更新,因此您必须使用当前 git 分支的构建,或等待 4.4。
示例命令改编自相关 commit :

ffmpeg -i input%03d.png -c:v hevc_videotoolbox -allow_sw 1 -alpha_quality 0.75 -vtag hvc1 output.mov
“带有 Alpha 的 HEVC 视频”配置文件将仅在 -alpha_quality 时使用。值不为 0(默认为 0,范围为 0-1。)。见 ffmpeg -h encoder=hevc_videotoolbox了解更多信息。
由于不断的发展,这个答案可能会变得过时,因此请务必研究当前情况。
检查编码器是否支持 alpha/透明度
$ ffmpeg -h encoder=libx265
Supported pixel formats: yuv420p yuvj420p yuv422p yuvj422p yuv444p yuvj444p gbrp yuv420p10le yuv422p10le yuv444p10le gbrp10le yuv420p12le yuv422p12le yuv444p12le gbrp12le gray gray10le gray12le
如果它支持 alpha,它将具有带有 a 的像素格式。在名称中,例如 yuva420prgba .如您所见,libx265 还不支持 alpha。
要观看的相关错误报告
  • #7965 - Support for HEVC decoding with Alpha
  • #9088 - HEVC bitstream with alpha layer to mp4
  • 关于ffmpeg - 使用 alpha 将 WEBM 转换为 HEVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61661140/

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