带有 ffmpeg 的图像叠加无限期地运行脚本
image overlay with ffmpeg runs the script indefinitely
我真的很努力,我没有成功,所以我在这里问。我想在视频(mp4;15 秒)上有一个带有文本的叠加图像 (jpg),并对叠加图像(而不是视频)进行淡入和淡出。我可以使用 follwing 命令执行此操作,但它在达到 451 帧后挂起。在此之后 "drop"(在输出中显示;drop=1451)开始增加并且该过程永远不会完成。
ffmpeg -i video.mp4 -loop 1 -i overlay.jpg -filter_complex \
"[1] drawtext=fontfile=$fontfile:text='TESTING TEXT':fontcolor=white@1.0:fontsize=46:x=0:y=0 [t0];
[t0] fade=in:st=0:d=3 [t1];
[0][t1] overlay=0:900:enable='between(t,0,15)'" \
-codec:a copy output.mp4
Output:
frame= 451 fps=8.8 q=-1.0 Lsize= 4790kB time=00:00:14.98 bitrate=2619.0kbits/s dup=75 drop=1451
请帮忙。
谢谢
选项 1
您的图像输入无限循环。将 shortest=1
添加到您的 overlay
以强制输出在最短输入终止时终止:
overlay=0:900:enable='between(t,0,15)':shortest=1
选项 2
移除-loop 1
.
我真的很努力,我没有成功,所以我在这里问。我想在视频(mp4;15 秒)上有一个带有文本的叠加图像 (jpg),并对叠加图像(而不是视频)进行淡入和淡出。我可以使用 follwing 命令执行此操作,但它在达到 451 帧后挂起。在此之后 "drop"(在输出中显示;drop=1451)开始增加并且该过程永远不会完成。
ffmpeg -i video.mp4 -loop 1 -i overlay.jpg -filter_complex \
"[1] drawtext=fontfile=$fontfile:text='TESTING TEXT':fontcolor=white@1.0:fontsize=46:x=0:y=0 [t0];
[t0] fade=in:st=0:d=3 [t1];
[0][t1] overlay=0:900:enable='between(t,0,15)'" \
-codec:a copy output.mp4
Output:
frame= 451 fps=8.8 q=-1.0 Lsize= 4790kB time=00:00:14.98 bitrate=2619.0kbits/s dup=75 drop=1451
请帮忙。 谢谢
选项 1
您的图像输入无限循环。将 shortest=1
添加到您的 overlay
以强制输出在最短输入终止时终止:
overlay=0:900:enable='between(t,0,15)':shortest=1
选项 2
移除-loop 1
.