2015-05-01 3 views
0
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: [email protected]: 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: [email protected]: draw='if(gt(n,50),lt(n,300))': 
text='JAMISON'" /home/mysite/public_html/videos/thankyou_2.mp4 

При выполнении приведенного выше я получаю следующее. Кажется, что он работает правильно на других дистрибутивах. Не уверен, где проверить следующее.Проблема с FFMPEG drawtext

[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: [email protected]: draw=if(gt(n,40),lt(n,300)): text=THANK YOU' 

Error opening filters! 

Кроме того, эта оригинальная команда отлично работает в unbuntu, но дает видели ошибки при работе в CentOS

+0

Два вопроса: 1) Вы не включают в себя полный вывод консоли, так что поэтому важная информация была опущена. 2) Переполнение стека - это только вопросы программирования. Вы можете отметить этот вопрос, чтобы он был перенесен на [su] модератором. – LordNeckbeard

ответ

1

Согласно документации FFmpeg drawtext фильтра:

рисовать

Эта опция не существует, см. Временную шкалу

Это означает, что вместо этого вы должны использовать timeline editing.

Чтобы сделать это заменить draw='...' часть вашей команды с:

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

Вы должны также проверить:

  • FFmpeg версии на каждой машине. Возможно, на Ubuntu установлена ​​более старая версия, которая поддерживает опцию draw и более новую версию CentOS, в которой эта опция была удалена.
  • если файлы шрифтов существуют
Смежные вопросы