FFMPEG 尝试处理透明 MOV 的彩色背景并转换为 HTML5 MP4

FFMPEG 尝试处理透明 MOV 的彩色背景并转换为 HTML5 MP4

在过去的一个小时里,我一直在尝试制作一个具有透明度的 MOV 并将其与彩色背景相结合。我可以使用以下命令执行此操作:

ffmpeg -i input.mov -filter_complex "color=#f5a3a3,format=rgb24[c];[c][0]scale2ref[c][i];[c][i]overlay=format=auto:shortest=1,setsar=1" output.mp4

问题是该 mp4 无法播放,因为它正在被格式化为yuv444。我尝试yuv420p使用简单的过滤器获取生成的 mp4 并重新编码为 ,但似乎无法做到。

谢谢您对此的任何建议。

解决方法: 我设法通过从 MOV 转换为 WEBM(无论如何我都需要它)并包含复杂过滤器来解决这个问题。然后我从 WEBM 转换为 MP4,一切正常。不过我仍然对原始问题感到好奇。

答案1

在覆盖后插入格式过滤器进行转换。

ffmpeg -i input.mov -filter_complex "color=#f5a3a3,format=rgb24[c];[c][0]scale2ref[c][i];[c][i]overlay=format=auto:shortest=1,format=yuv420p,setsar=1" output.mp4

相关内容