我在使用FFmpeg版本:20170223-dcd3418的Windows 7机箱上,并希望控制我的徽标水印的时间淡入,而不依赖于我视频中已经内置的淡入淡出。
此代码工作正常,但我无法解决如何淡化水印而不会淡化输入视频流。
ffmpeg -y -i mainvideo.mp4 -i watermarklogo.png -filter_complex "[0:v]overlay=W-w-10:H-h-10, fade=in:0:20[tmp_overlay]; [tmp_overlay]subtitles=ep1.srt[out]" -map [out] -map 0:a -codec:v libx264 -crf 18 -preset slow -pix_fmt yuv420p -c:a aac -strict -2 output.mp4
我已经尝试过多种组合,但是我对FFMPEG' s -filter_complex命令不够深入,所以任何帮助都会受到赞赏。如果我能提供进一步的信息,请告诉我。
答案 0 :(得分:0)
使用
ffmpeg -y -i mainvideo.mp4 -loop 1 -t 2 -i watermarklogo.png
-filter_complex
"[1]fade=0:1:alpha=1,setpts=PTS+N/TB[wm];
[0:v][wm]overlay=W-w-10:H-h-10,fade=in:0:20,subtitles=ep1.srt[out]"
-map [out] -map 0:a -c:v libx264 -crf 18 -preset slow -c:a aac output.mp4
0:1
设置1秒淡入。
N
中的PTS+N/TB
以秒为单位设置淡入的开始时间。
通常情况下,应该可以跳过-t 2
并在叠加过滤器中使用shortest=1
。但是,在撰写本文时,最短的过滤器存在一个错误,因此需要这种解决方法。只需确保t
值大于淡入淡出持续时间。