ffmpeg将覆盖图像添加到已使用drawtext的命令

ffmpeg将覆盖图像添加到已使用drawtext的命令,ffmpeg,Ffmpeg,我有两个ffmpeg命令,我想在这两个命令中都添加一个覆盖图像: ffmpeg -i "video.mp4" -filter_complex "drawtext=textfile=sub.txt:fontfile=SourceSansPro-Bold.ttf:fontcolor=white:fontsize=100: box=1: boxcolor=black@0.5: boxborderw=5: x=200:y=h-th-200:enable='between(t

我有两个ffmpeg命令,我想在这两个命令中都添加一个覆盖图像:

ffmpeg -i "video.mp4" -filter_complex "drawtext=textfile=sub.txt:fontfile=SourceSansPro-Bold.ttf:fontcolor=white:fontsize=100: box=1: boxcolor=black@0.5: boxborderw=5: x=200:y=h-th-200:enable='between(t,1,9)',fade=t=in:start_time=1:d=1:alpha=1,fade=t=out:start_time=8:d=1:alpha=1[fg];[0][fg]overlay=format=auto,format=yuv420p" -an -vcodec libx264 -r 25 -crf 17 -aspect 16/9 out.mp4

ffmpeg -i "video.mp4" -filter_complex "color=black@0:100x100,format=yuva444p[c]; [c][0]scale2ref[ct][mv0];[ct]setsar=1,split=4[t1][t2][t3][t4];[t1]drawtext=textfile=1.txt:fontfile=SourceSansPro-Bold.ttf:fontsize=100:fontcolor=white: box=1: boxcolor=black@0.5: boxborderw=5: x=200:y=h-th-200,fade=t=in:st=1:d=1:alpha=1,fade=t=out:st=7:d=1:alpha=1[txta1];[t2]drawtext=textfile=2.txt:fontfile=SourceSansPro-Bold.ttf:fontsize=100:fontcolor=white: box=1: boxcolor=black@0.5: boxborderw=5: x=200:y=h-th-200,fade=t=in:st=9:d=1:alpha=1,fade=t=out:st=15:d=1:alpha=1[txta2];[t3]drawtext=textfile=3.txt:fontfile=SourceSansPro-Bold.ttf:fontsize=100:fontcolor=white: box=1: boxcolor=black@0.5: boxborderw=5: x=200:y=h-th-200,fade=t=in:st=17:d=1:alpha=1,fade=t=out:st=24:d=1:alpha=1[txta3];[t4]drawtext=textfile=4.txt:fontfile=SourceSansPro-Bold.ttf:fontsize=100:fontcolor=white: box=1: boxcolor=black@0.5: boxborderw=5: x=200:y=h-th-200,fade=t=in:st=26:d=1:alpha=1,fade=t=out:st=28:d=1:alpha=1[txta4];[mv0][txta1]overlay=x='0':y='0':shortest=1[mv1];[mv1][txta2]overlay=x='0':y='0':shortest=1[mv2];[mv2][txta3]overlay=x='0':y='0':shortest=1[mv3];[mv3][txta4]overlay=x='0':y='0':shortest=1" -an -vcodec libx264 -r 25 -crf 17 -aspect 16/9 out.mp4

scale2ref
setsar

#!/bin/bash
ffmpeg -i "input 1.mp4" -i logo.png -filter_complex "
color=black@0:100x100,format=yuva444p[c];
[c][0]scale2ref[ct][mv];
[mv][1:v]overlay[mv0];
[ct]setsar=1,split=4[t1][t2][t3][t4];
[t1]drawtext=textfile=1.txt:fontfile=SourceSansPro-Bold.ttf:fontsize=100:fontcolor=white: box=1: boxcolor=black@0.5: boxborderw=5: x=200:y=h-th-200,fade=t=in:st=1:d=1:alpha=1,fade=t=out:st=7:d=1:alpha=1[txta1];
[t2]drawtext=textfile=2.txt:fontfile=SourceSansPro-Bold.ttf:fontsize=100:fontcolor=white: box=1: boxcolor=black@0.5: boxborderw=5: x=200:y=h-th-200,fade=t=in:st=9:d=1:alpha=1,fade=t=out:st=15:d=1:alpha=1[txta2];
[t3]drawtext=textfile=3.txt:fontfile=SourceSansPro-Bold.ttf:fontsize=100:fontcolor=white: box=1: boxcolor=black@0.5: boxborderw=5: x=200:y=h-th-200,fade=t=in:st=17:d=1:alpha=1,fade=t=out:st=24:d=1:alpha=1[txta3];
[t4]drawtext=textfile=4.txt:fontfile=SourceSansPro-Bold.ttf:fontsize=100:fontcolor=white: box=1: boxcolor=black@0.5: boxborderw=5: x=200:y=h-th-200,fade=t=in:st=26:d=1:alpha=1,fade=t=out:st=28:d=1:alpha=1[txta4];
[mv0][txta1]overlay=x='0':y='0':shortest=1[mv1];
[mv1][txta2]overlay=x='0':y='0':shortest=1[mv2];
[mv2][txta3]overlay=x='0':y='0':shortest=1[mv3];
[mv3][txta4]overlay=x='0':y='0':shortest=1
" -an -c:v h264_nvenc -cq 20 -y output.mp4
在第一行中,需要做更多的工作:

#!/bin/bash
ffmpeg -i "input 1.mp4" -i logo.png -filter_complex "
[0:v][1:v]overlay[mv];
[mv]split[mv0][mv1];
[mv1]drawtext=textfile=sub.txt:fontfile=SourceSansPro-Bold.ttf:fontcolor=white:fontsize=100: box=1: boxcolor=black@0.5: boxborderw=5: x=200:y=h-th-200:enable='between(t,1,9)',fade=t=in:start_time=1:d=1:alpha=1,fade=t=out:start_time=8:d=1:alpha=1[fg];
[mv0][fg]overlay=format=auto,format=yuv420p
" -an -c:v h264_nvenc -cq 20 -y output.mp4