FFmpeg Drawtext 淡出性能

FFmpeg Drawtext Fade Out Performance

我正在开发一个对 FFmpeg 进行系统调用的应用程序。

我找到了一种方法来隔离 drawtext 过滤器并淡出,但渲染时间增加了大约 5 倍。

我只是想看看我想出的命令是否有明显的错误。

ffmpeg -y -i input.mp4 -c:v libx264 -filter_complex "[0]scale=1920:1080,format=rgba, split[base][text];[text]drawtext=fontfile=font1.ttf:text='Text1':fontcolor= 'white':fontsize=34:box=1:boxcolor=mediumpurple:boxborderw=50:x=0:y=690,format=yuva444p,drawtext=fontfile=./resources/fonts/font2.ttf:text='Text2':fontcolor='white':fontsize=26:x=0:y=725,fade=t=out:st=12:d=0.2:alpha=1[title];[base][title]overlay" -force_key_frames "expr:gte(t,n_forced*0.05)" output.mp4

是的!它显然有问题。无需拆分流并同时处理。

经过反复试验,我能够将运行速度快得多的命令放在一起;几乎没有添加褪色标题卡的开销。

ffmpeg -i input.mp4 -filter_complex "scale=1920:1080,drawtext=fontfile=font1.ttf:text=Text1':fontcolor='white':fontsize=34:box=1:boxcolor=mediumpurple:boxborderw=50:x=12:y=690:alpha='min(between(t,0,2.2),lerp(0,1,(1+((2-t)/0.2))))',drawtext=fontfile=font2.ttf:text='Text2':fontcolor='white':fontsize=26:x=12:y=730:alpha='min(between(t,0,2.2),lerp(0,1,(1+((2-t)/0.2))))'" output.mp4