Я пытаюсь нарисовать текст на видео, используя команды avconv или ffmpeg. При указании x = для того, где в последнем видео разместить текст, значение text_w оценивается как 0, а не как ширина отображаемого текста, как это должно быть.

  • Я использую Ubuntu 12.04
  • У меня есть версия avconv 0.8.3-4:0.8.3-0ubuntu0.12.04.1
  • и ffmpeg версия 0.8.3-4:0.8.3-0ubuntu0.12.04.1

Пример команды:

avconv -i test.mov -vf "drawtext=fontfile='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf':text='test text':x=text_w:y=50:fontsize=24:fontcolor=black" texted.mov

Эта команда заставляет текст печататься так, как если бы x было установлено в 0.

То, что я действительно хотел бы сделать, это центрировать текст по горизонтали, используя что-то вроде этого:

avconv -i test.mov -vf "drawtext=fontfile='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf':text='test text':x=(main_w-text_w)/2:y=50:fontsize=24:fontcolor=black" texted.mov

Использование ffmpeg для попытки выполнить то же самое заканчивается с тем же результатом

ffmpeg -i test.mov -vf "drawtext=fontfile='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf':text='test text':x=(main_w-text_w)/2:y=50:fontsize=24:fontcolor=black" texted.mov

0