Я пытаюсь добавить водяной знак значка (стрелка, указывающая вправо) в верхний правый угол двух разных видео с помощью FFmpeg. Оба видео имеют одинаковое разрешение (1280x720), и я использую одну и ту же команду для добавления значка. В одном видео значок появляется в правильном месте, а в другом видео значок появляется в правом нижнем углу.
Кто-нибудь сталкивался с такой же проблемой?
Изображение слева представляет собой портретное видео, сохраненное как альбомное, но с тегом поворота. Таким образом, координаты изображения наложения вступают в силу относительно сохраненного представления. В таких случаях вы должны заранее повернуть видео, 1) добавив фильтр транспонирования перед наложением 2) отключив автоповорот на входном видео * и 3) вручную сбросив тег поворота на выходе, например
ffmpeg -noautorotate -i input.mp4 -i arrow.png -filter_complex "[0]transpose=1[bg];[bg][1]overlay=X:Y" -metadata:s:v rotate=0 out.mp4
* не требуется, если ваш ffmpeg выпущен в апреле 2015 года или ранее.
Чтобы проверить тег поворота для видео, вы можете запустить
ffprobe input.mp4 -show_entries stream_tags=rotate -v 0 -of compact=p=0:nk=1
Вы получите значение угла. Если это 90, используйте transpose=1
. Если это 270, используйтеtranspose=2
103король
Гьян