1

Я делаю видео из одного изображения с помощью ffmpeg и рисую текст поверх видео.

Как я могу drawtext который будет накладываться поверх масштабированного размера видео вместо масштаба изображения?

Прямо сейчас, когда я добавляю текст, X и Y начинаются с верхнего левого угла изображения, а не самого масштабированного видео. Изображение имеет меньшие размеры, чем масштаб видео, поэтому мне нужно рисовать текст независимо от размера изображения. Если текст выходит за пределы масштаба изображения, он обрезается, хотя незаполненная черная граница оставшегося масштабированного видео все еще сохраняется.

Это команда, которую я использую.

ffmpeg -loop 1 -r 1 -i image.jpg -b:v 1M -vf "scale=320:240, drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: text='Test Text': x=200: y=100: fontsize=30: fontcolor=black@0.7: box=1: boxcolor=red@0.2" -t 20 output.mp4

1 ответ1

0

Если изображение является единственным источником видео, тогда видео - это просто изображение, а « наложение в верхнем левом углу видео » означает то же самое, что « наложение в верхнем левом углу изображения ». Итак, вы делаете это правильно.

Черная рамка, которую вы упоминаете, не является частью видео. Он вставляется некоторыми медиа-плеерами при открытии очень узких видео, потому что панель управления медиа-плеером шире, чем видео. Например, VLC media player имеет довольно широкие элементы управления / строку меню и дополняет видео большими границами. Но проигрыватель Windows Media не отображает черную рамку, поскольку его элементы управления соответствуют ширине видео 320p.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .