ffmpeg: как я могу hstack 2 видео и отображать водяной знак за пределами области видео - PullRequest
0 голосов
/ 27 февраля 2020

Я новичок в использовании ffmpeg и хочу объединить два видео 1920x1080 с помощью hstack. Выходное видео также должно быть 1920x1080. В то же время я хочу отобразить водяной знак в нижней части экрана (за пределами области видео) и один в верхней средней части экрана.

Пока мне удалось создать hstack с отступом, но водяной знак не будет отображаться за пределами области видео.

Вот моя первая попытка:

ffmpeg -y -i input1.mp4 -i input2.mp4 -i watermark1.png -filter_complex "[0]pad=iw+5:color=black[left];[left][1]hstack=inputs=2","overlay=x=(main_w-overlay_w)*0.95:y=(main_h-overlay_h)*0.95","scale=w=1920:h=1080" Output.mp4

Вот сравнение того, что я получаю и чего я хочу:

неверный вывод желаемый вывод

Любая помощь по моей проблеме будет очень признательна!

1 Ответ

0 голосов
/ 27 февраля 2020

Базовый c требуемый порядок операций:

1) уменьшать каждое видео [, добавляя отступы при необходимости]

2) вставлять их

3) pad выходной

4) overlay lo go

(В качестве альтернативы, на шаге 1 может быть достаточно заполнения, чтобы избавиться от шага 3.)

ffmpeg -y -i input1.mp4 -i input2.mp4 -i watermark1.png -filter_complex "[0]scale=iw/2:-1[left];[1]scale=iw/2:-1[right];[left][right]hstack=inputs=2,pad=1920:1080:-1:-1,overlay=x=(main_w-overlay_w)*0.95:y=(main_h-overlay_h)*0.95" Output.mp4

...