问题与FFMPEG drawtext

时间:2015-05-01 13:55:35

标签: command-line ffmpeg

ffmpeg -i /home/mysite/public_html/videos/thankyou/thankyou_1.mp4 -strict -2 -vf 
"[in]drawtext=fontfile=/home/mysite/fonts/OswaldFont/Oswald-Bold.ttf: x=450: 
y=150: fontsize=152: fontcolor=0xAE0216@1: draw='if(gt(n,40),lt(n,300))':
text='THANK YOU',drawtext=fontfile=/home/mysite/fonts/OswaldFont/Oswald-Bold.ttf: 
x=450: y=320: fontsize=200: fontcolor=0xAE0216@1: draw='if(gt(n,50),lt(n,300))':
text='JAMISON'" /home/mysite/public_html/videos/thankyou_2.mp4

运行上述内容时,我得到以下内容。它似乎在其他发行版上正常运行。不确定下一步要去哪里检查。

[Parsed_drawtext_0 @ 0x2835480] Option 'draw' not found
[AVFilterGraph @ 0x283f980] Error initializing filter 'drawtext' with args 'fontfile=/home/mysite/fonts/OswaldFont/Oswald-Bold.ttf: x=450: y=150: fontsize=152: fontcolor=0xAE0216@1: draw=if(gt(n,40),lt(n,300)): text=THANK YOU'

Error opening filters!

此外,这个原始命令在Ubuntu中运行正常,但在centOS中运行时会出现错误。

1 个答案:

答案 0 :(得分:1)

根据FFmpeg drawtext过滤器文档:

  

<强>绘制

     

此选项不存在,请参阅时间轴系统

这意味着您应该使用timeline editing代替。

为此,请用以下命令替换命令的draw='...'部分:

enable=if(gt(n\,50)\,lt(n\,300))

您还应该检查:

  • 每台机器上的FFmpeg版本。您可能在Ubuntu上安装了旧版本,它支持draw选项,在CentOS上安装了更新版本,其中删除了该选项。
  • 如果字体文件存在