2016-08-05 18 views
0

Привет, я хочу добавить текст на .mp4.Ошибка Avconv и «Не удалось найти подходящий выходной формат»

Я пытаюсь это:

shell_exec("avconv -i input.mp4 drawtext=\"fontfile=OpenSans-Italic.ttf: text='Test Text'\" output.mp4"). 

Но я получаю

Не удалось найти подходящий формат вывода для 'DrawText = fontfile = OpenSans-Italic.ttf: текст =' Test текст '' DrawText = fontfile = OpenSans-Italic.ttf: текст = 'Test Text': Invalid аргумент

Любая идея о том, что происходит?

ответ

0

Ошибка в вашем аргументе drawtext. Это фильтр, но вам нужно -vf, прежде чем он сможет понять, что это такое. В целом ваша команда должна быть:

shell_exec("avconv -i input.mp4 -vf drawtext=\"fontfile=OpenSans-Italic.ttf: text='Test Text'\" output.mp4") 

Это выглядит как PHP, так что я хотел бы также предложить вам проверить:

  • права чтения/записи,
  • Путь OpenSans-Italic.ttf файла,
  • Execution путь против пути к файлу
  • был ли libav скомпилирован с опцией --enable-libfreetype (который необходим для DrawText фильтра)

Источник: https://libav.org/documentation/libavfilter.html#drawtext

+0

Спасибо вам, что это работает, но я думаю, что libav не скомпилирован с опцией --enable-libfreetype, потому что я получил эту ошибку: «Кодер„КРК“является экспериментальным, но экспериментальные кодеки не включены, добавьте ' -strict -2 ', если вы хотите использовать его. " –

+0

Я не знаю вашу текущую ошибку, так как моя версия работает нормально, но вот еще один ответ на тот же вопрос: http://stackoverflow.com/a/35247468. Надеюсь, поможет! – Fma