使用FFmpeg多个文本在一个命令中(drawtext)

11

如何在一张图片上显示多行文本?

我尝试了命令,但是出现了错误。

[NULL @ 0203D780] Unable to find a suitable output format for '[in][T1]'
[in][T1]: Invalid argument

命令:

ffmpeg -threads 8 -i D:\imagesequence\dpx\brn_055.%04d.dpx -vf "drawtext="fontsize=18:fontcolor=Green:fontfile='/Windows/Fonts/arial.ttf':text='shotcam':x=(w)/2:y=(h)-25[T1], [in][T1] "drawtext="fontsize=18:fontcolor=Green:fontfile='/Windows/Fonts/arial.ttf':text='Focal Length':x=(w)/1.2:y=(h)-25[out]" D:/imagesequence/dpx/final_with_text_mod_04.jpg
1个回答

19

您不需要为每个drawtext打标签,只需指定这两个drawtext都应用于“main”源。在[in]标记之后发生的所有事情都会应用于主要来源。只有在使用不同的滤镜时才需要标记,因为您需要指定每个过滤器何时以及如何与主要来源相关联。此命令应该适用于您:

ffmpeg -threads 8 
  -i D:\imagesequence\dpx\brn_055.%04d.dpx
  -vf "[in]
    drawtext=fontsize=18:fontcolor=Green:fontfile='/Windows/Fonts/arial.ttf':
      text='shotcam':x=(w)/2:y=(h)-25,
    drawtext=fontsize=18:fontcolor=Green:fontfile='/Windows/Fonts/arial.ttf':
      text='Focal Length':x=(w)/1.2:y=(h)-25
  [out]"
  D:/imagesequence/dpx/final_with_text_mod_04.jpg

(newlines added for clarity)


2
谢谢。那个有效了。虽然我给了一个错误的例子。输入是一个序列,输出是一张单独的图像。应该是 ffmpeg -threads 8 -i D:\imagesequence\dpx\brn_055.%04d.dpx -vf "[in]drawtext=fontsize=18:fontcolor=Green:fontfile='/Windows/Fonts/arial.ttf':text='shotcam':x=(w)/2:y=(h)-25, drawtext=fontsize=18:fontcolor=Green:fontfile='/Windows/Fonts/arial.ttf':text='Focal Length':x=(w)/1.2:y=(h)-25[out]" -y -r 30 -vcodec png -pix_fmt rgb32 D:\imagesequence\dpx\test.mov - nish
太棒了,这是我的多重字幕 drawtext 和多种字体的示例,具有 Unicode 字符波斯文本或阿拉伯文本 C:\Users\taba\Videos>"c:\Program Files\ffmpeg.exe" -t 20 -i "input.mp4" -vf " [in]drawtext=fontfile=myfirstfont.ttf:textfile=Unicode_subtitle.txt:fontsize=30:fontcolor=white: box=1: boxcolor=gray@0.9:x=30:y=480 , drawtext=fontfile=DejaVuSerif.ttf:text='@blobblob.Tanzil.ir ':fontsize=38:fontcolor=black: box=1: boxcolor=white@0.9:x=3:y=380[out]" output.mp4 - saber tabatabaee yazdi
如果您在 -vf 中使用了其他视频过滤器(缩放),则方案 -vf "[in]scale=iw*2:ih*2, drawtext=fontsize..., drawtext=fontsize...[out]" 也适用。 - drake7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接