avconv - не работает фильтр drawtext
Я собираюсь добавить текст в видео фрагмент, используя -vf
но это не работает Вот что я пробовал
avconv -ss 00:00:20 -i input.mp4 -t 00:00:10 -vcodec copy -acodec copy \
-vf "drawtext=fontfile='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf':text='hello world':x=0:y=0:fontsize=24:fontcolor=black" output.mp4
Но текст не появляется. я знаю это -t
аргумент должен появиться после -i
или продолжительность не будет установлена. Интересно, если я ошибся -vf
в этом случае. Кто-нибудь скажет мне, как это сделать?
PS я устанавливаю это с apt-get install ffmpeg
, Информация о программном обеспечении:
avconv version 0.8.9-6:0.8.9-0ubuntu0.13.04.1, Copyright (c) 2000-2013 the Libav developers
built on Nov 9 2013 19:09:48 with gcc 4.7.3
2 ответа
Решение
Если мы хотим добавить текст к нашему видео, используя drawtext
Фильтр мы не можем использовать copy
видео кодек.
Добавление текста к видео изменит данные видео. Поэтому мы должны перекодировать видеопоток, используя любой кодек, кроме copy
,
Следующая команда работала для меня:
avconv -i input.mp4 -vf "drawtext=fontfile='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf':text='hello world':x=0:y=0:fontsize=24:fontcolor=black" output.mp4
протестировано на этом примере файла mp4.