我目前有两个视频,word.mp4
和word.matte.mp4
。我正在尝试将这alphamerge
两个视频image.jpg
叠加在一起。
我尝试使用的命令是我根据这个问题,给了我一个错误
ffmpeg -i word.mp4 -i word.matte.mp4 -i image.jpg -filter_complex '[1][0]scale2ref[mask][main];[main][mask]alphamerge[vid];[2:v][vid]overlay=(W-w)/2:(H-h)/2[out]' -map [out] complete.mp4
但我收到这个错误
Stream mapping:
Stream #0:0 (hevc) -> scale2ref:ref
Stream #1:0 (mpeg4) -> scale2ref:default
Stream #2:0 (mjpeg) -> overlay:main
overlay -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
[libx264 @ 0x560faabe37c0] width not divisible by 2 (983x1115)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
任何帮助,将不胜感激
答案1
为了实现广泛兼容的播放,最终输出的宽度和高度必须相等。在这种情况下,这些尺寸与 JPEG 输入相同。
最快的方法是调整 JPEG 的大小。
ffmpeg -i image.jpeg -vf "scale=bitand(iw+1,65534):bitand(ih+1,65534)" -q:v 2 new.jpg