#linux #filter #ffmpeg
Вопрос:
У меня есть следующая команда ffmpeg, которая накладывает изображение поверх видео. После завершения кодирования ffmpeg наложенное изображение кажется слишком большим, больше, чем его фактический размер. Как я могу управлять размерами ширины и высоты для наложения изображения.
ffmpeg -i 1.wmv -s 640x360 -f mp4 -b 800k -acodec libfaac -ab 64k -vf "movie=0:png:dollar.png [wm];[in][wm] overlay=0:0:1 [out]" out.mp4
Ответ №1:
Попробуйте добавить настройки фильтра с scale=width:height
помощью такого предложения:
ffmpeg -i 1.wmv -s 640x360 -f mp4 -b 800k -acodec libfaac -ab 64k -vf "movie=0:png:dollar.png, scale=120:120 [wm];[in][wm] overlay=0:0:1 [out]" out.mp4
Комментарии:
1. масштаб=120:120 не изменяет размер водяного знака. Это ничего не дает. Вы пробовали это сделать?
2. Я только что использовал синтаксис масштабирования, и он работает в сочетании с фильмом, например, для наложения. Например: -vf ‘фильм=доллар.png, масштаб=120:120 [логотип]; [в] …’
Ответ №2:
Попробуйте это сработало для меня : ffmpeg -i basevideo.xxx -vf «фильм=overlayvid.xxx [в]; [в] масштаб=ширина:высота [масштаб]; [в][масштаб] наложение=x:y [выход]» вывод.xxx
Комментарии:
1. Это не сработает так, как ожидалось. Вы определяете
movie
поток как[in]
, а затем масштабируете его. А затем наложение масштабируетсяoverlayvid
overlayvid
. И если масштабированное видео больше, чем исходное, ffmpeg даже ничего не сделает и выйдет с ошибкой