使用 alpha 将 WEBM 转换为 HEVC
Convert WEBM to HEVC with alpha
我正在尝试将具有透明度的简单 WEBM 视频转换为具有 alpha 的 HEVC。我找不到任何关于如何在不丢失 alpha 通道的情况下进行转换的资源。
我不知道 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
“HEVC Video with Alpha”配置文件仅在 -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
的像素格式,例如 yuva420p
或 rgba
。如您所见,libx265 尚不支持 alpha。
要观看的相关错误报告
我正在尝试将具有透明度的简单 WEBM 视频转换为具有 alpha 的 HEVC。我找不到任何关于如何在不丢失 alpha 通道的情况下进行转换的资源。
我不知道 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
“HEVC Video with Alpha”配置文件仅在 -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
的像素格式,例如 yuva420p
或 rgba
。如您所见,libx265 尚不支持 alpha。