ffmpeg提供文本和文本文件。请只提供一个

时间:2019-03-25 09:22:14

标签: ffmpeg

我有以下命令:

ffmpeg -i vid.mp4 -vf "[in]drawtext=fontfile=C:\Windows\Fonts\arial.ttf:fontsize=40:fontcolor=yellow:x=2048/2:y=720/2:textfile='credits.txt':enable='between(t,6,12)' [out]" -c:v libx264 -t 30 -max_muxing_queue_size 1024 scrolling.mp4

然后ffmpeg抛出错误:

  

[Parsed_drawtext_0 @ 000002354c44eb00]提供了文本和文本文件。请只提供一个

我完全不知道它如何传递文本,因为我在命令中没有定义。对于为什么会引发此错误的任何帮助,我们将不胜感激。

-max_muxing_queue_size 1024也是因为我没有此错误:

  

为输出流0:1缓冲的数据包太多。

1 个答案:

答案 0 :(得分:2)

您需要转义字体文件路径,因为“ C:\”中的:是drawtext过滤器的参数分隔符。由于没有其他“ arg = value”对,因此它尝试使用某些命令行作为文本。

根据您的外壳以及要进行多少级解析,您可能需要修改转义。

这对我有用:

ffmpeg \
-i vid.mp4 \
-vf "[in]drawtext=fontfile='C\\:/Windows/Fonts/arial.ttf':
fontsize=40:fontcolor=yellow:
x=2048/2:y=720/2:textfile=credits.txt:
enable='between(t,6,12)'[out]" \
-c:v libx264 \
-t 30 \
-max_muxing_queue_size 1024 \
scrolling.mp4