我正在尝试淡入淡出文本(文本有背景),目前,我拥有的是以下命令:
1.混合命令
ffmpeg -y -i input.mp4 -filter_complex "drawtext=fontfile=HelveticaNeue.ttf:text='Testing': fontcolor=white:fontsize=40: box=1: boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2[subtitles];[subtitles][0:v]blend=all_expr='A*(if(between(T,1,2),(T-1),0))+B*(1-(if(between(T,1,2),(T-1),0)))'[out]" -map '[out]' -map 0:a output.mp4
Run Code Online (Sandbox Code Playgroud)
上面的命令成功地淡入了 drawtext(也就是这个过滤器中的字幕),但由于某种原因我没有设法让它淡出它们,因为改变它的数值并没有得到我期望的结果。
我还尝试了一个不太复杂但由于其他原因而不起作用的命令:
2.淡入淡出命令
ffmpeg -y -i input.mp4 -filter_complex "drawtext=fontfile=HelveticaNeue.ttf:text='Testing': fontcolor=white:fontsize=40: box=1: boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2[subtitles]; [subtitles]fade=t=in:st=2:d=1,fade=t=out:st=3:d=1[out]" -map '[out]' -map 0:a output.mp4
Run Code Online (Sandbox Code Playgroud)
第二个命令淡入淡出,但适用于整个视频,而不是单独的字幕部分。
有人可以帮我解决这个问题吗?