如果在把视频嵌入 PPT 的时候程序卡死了,可以检查一下视频是不是 10bit 色深。
如果用 ffmpeg -pix_fmt yuv420p 把视频转为 8bit 色深,倒是能顺利嵌入 PPT,但播放时会发现亮度异常,看就像有人用远光灯晃你一样。因为 -pix_fmt yuv420p 参数只是简单地丢弃了色彩精度,但没有对亮度映射进行处理。这种视频用播放器也许可以正常播放,但嵌入 PPT 就会亮度异常。
正确的转换参数是:
ffmpeg -i input.mov -vf "zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=t=bt709:m=bt709,format=yuv420p" -c:v h264_nvenc output.mp4