我有一个 alpha.mp4(alpha matte 视频)和一个 color.mp4(彩色视频)。如何使用 ffmpeg 制作透明 HEVC (.mov) 视频?
我可以按照此处的说明结合 ffmpeg 制作一个 .webm 文件:https://www.unscreen.com/api在“将解压后的 Pro Bundle 转换为具有透明度的 WEBM 视频”下
从这里我有
ffmpeg -y -i edited.mp4 -i matte.mp4 -f lavfi -i color=c=black:s=320x240 -filter_complex "[1:v]scale=320:240,setsar=1:1,split[vs][alpha];[0:v][vs]alphamerge[vt];[2:v][vt]overlay=shortest=1[rgb];[rgb][alpha]alphamerge" -shortest -c:v hevc_videotoolbox -allow_sw 1 -alpha_quality 0.75 -vtag hvc1 -pix_fmt yuva420p -an output.mov
返回
Incompatible pixel format 'yuva420p' for codec 'hevc_videotoolbox', auto-selecting format 'bgra'
zsh: illegal hardware instruction ffmpeg -y -i color.mp4 -i alpha.mp4 -f lavfi -i color=c=black:s=720x1280
跑步ffmpeg -h encoder=hevc_videotoolbox
让我Supported pixel formats: videotoolbox_vld nv12 yuv420p bgra p010le –
答案1
使用以下命令了解编码器的潜在设置:
ffmpeg -h encoder=hevc_videotoolbox
在将 alpha 通道静止图像转换为与 Safari 兼容的透明视频的情况下,这里有一个使用.tif
文件对我有用的示例。
ffmpeg -framerate 30 -i ./input/file_%03d.tif -c:v hevc_videotoolbox -tag:v hvc1 -pix_fmt yuva444p -profile:v main -realtime true -b:v 8M -alpha_quality 1 -color_primaries 1 -color_trc 1 -colorspace 1 -crf 15 -vsync 0 -preset veryslow -s 1920x1920 -an -movflags +faststart -y -r 30 -y ./output/out.mp4
crf
请注意,-v:b
(比特率)、帧速率等的值均可调整...