ffmpeg-覆盖不同颜色的多色文本

ffmpeg-覆盖不同颜色的多色文本,ffmpeg,Ffmpeg,我对这个ffmpeg命令有问题,如果淡入淡出的文本是白色字体颜色,它可以正常工作,但是如果我将fontcolor更改为其他颜色(例如黑色),淡入淡出的文本将不会出现,有什么想法吗 ffmpeg -i ./based_video/480/clip3.mp4 -filter_complex "color=black:100x100[c]; [c][0]scale2ref[ct][mv0]; \ [ct]setsar=1,split=3[t1][t2][t3]; \ [t1]drawtext=font

我对这个ffmpeg命令有问题,如果淡入淡出的文本是白色字体颜色,它可以正常工作,但是如果我将fontcolor更改为其他颜色(例如黑色),淡入淡出的文本将不会出现,有什么想法吗

ffmpeg -i ./based_video/480/clip3.mp4 -filter_complex "color=black:100x100[c]; [c][0]scale2ref[ct][mv0]; \
[ct]setsar=1,split=3[t1][t2][t3]; \
[t1]drawtext=fontfile=/usr/share/fonts/truetype/roboto/Roboto-Bold.ttf:text='\$30,000.0':fontsize=40:fontcolor=white,split[text1][alpha1]; \
[text1][alpha1]alphamerge,fade=t=in:st=1:d=1:alpha=1,fade=t=out:st=5:d=1:alpha=1[txta1]; \
[t2]drawtext=fontfile=/usr/share/fonts/truetype/roboto/Roboto-Bold.ttf:text='\$30,000.0':fontsize=40:fontcolor=white,split[text2][alpha2]; \
[text2][alpha2]alphamerge,fade=t=in:st=1:d=1:alpha=1,fade=t=out:st=5:d=1:alpha=1[txta2]; \
[t3]drawtext=fontfile=/usr/share/fonts/truetype/roboto/Roboto-Bold.ttf:text='\$30,000.0':fontsize=40:fontcolor=white,split[text3][alpha3]; \
[text3][alpha3]alphamerge,fade=t=in:st=1:d=1:alpha=1,fade=t=out:st=5:d=1:alpha=1[txta3]; \
[mv0][txta1]overlay=x='100':y='200':shortest=1[mv1]; \
[mv1][txta2]overlay=x='300':y='200':shortest=1[mv2]; \
[mv2][txta3]overlay=x='500':y='200':shortest=1" \
-c:v libx264 -c:a copy ./output_video/testnew-clip3-output.mp4
完整日志如下:


提前感谢

您正在向飞机输入绘制的文本作为alpha。如果文本为黑色,则alpha为黑色,因此不会显示文本。您可以完全跳过alpha创建和合并

ffmpeg -i ./based_video/480/clip3.mp4 -filter_complex "color=black@0:100x100,format=yuva444p[c]; [c][0]scale2ref[ct][mv0]; \
[ct]setsar=1,split=3[t1][t2][t3]; \
[t1]drawtext=fontfile=/usr/share/fonts/truetype/roboto/Roboto-Bold.ttf:text='\$30,000.0':fontsize=40:fontcolor=white,fade=t=in:st=1:d=1:alpha=1,fade=t=out:st=5:d=1:alpha=1[txta1]; \
[t2]drawtext=fontfile=/usr/share/fonts/truetype/roboto/Roboto-Bold.ttf:text='\$30,000.0':fontsize=40:fontcolor=white,fade=t=in:st=1:d=1:alpha=1,fade=t=out:st=5:d=1:alpha=1[txta2]; \
[t3]drawtext=fontfile=/usr/share/fonts/truetype/roboto/Roboto-Bold.ttf:text='\$30,000.0':fontsize=40:fontcolor=white,fade=t=in:st=1:d=1:alpha=1,fade=t=out:st=5:d=1:alpha=1[txta3]; \
[mv0][txta1]overlay=x='100':y='200':shortest=1[mv1]; \
[mv1][txta2]overlay=x='300':y='200':shortest=1[mv2]; \
[mv2][txta3]overlay=x='500':y='200':shortest=1" \
-c:v libx264 -c:a copy ./output_video/testnew-clip3-output.mp4

感谢Mulvya的回答,但奇怪的是,在我尝试使用您的命令后,现在甚至白色褪色文本都没有出现,您知道为什么吗?共享完整日志。您使用的是一个非常旧的版本,不支持在透明画布上绘制文本。你不是几天前升级的吗?是的,你是对的,如果我在最新的ffmpeg版本上运行它,它就会工作。对不起,我是在我的另一台机器上测试的,它有旧版本的ffmpeg。再次感谢@Mulvya