Синтаксис для додавання водяного знака дещо відрізняється. Для цього вам потрібні відеофільтри, які вже поставляються в комплекті з FFmpeg.
Я не впевнений, що ви можете додати прозорий водяний знак до окремої доріжки. Причина полягає в тому, що саме зображення (PNG "потік") потрібно перетворити на фактичну відеодоріжку (наприклад, з x264) - а оскільки кодери відео не підтримують прозорість на цьому етапі, ви не отримаєте прозоре зображення .
Далі буде додати logo.png
до base.mov
в верхньому правому куті. Ви можете використовувати наступні параметри, щоб визначити позицію - у моєму прикладі я лише розмістив її за десять пікселів від межі:
main_w
(основна ширина відео)
main_h
(основна висота відео)
overlay_w
(ширина накладеного відео)
overlay_h
(накладене відео з накладанням)
Команда фільтра буде:
movie='logo.png' [logo]; [in][logo] overlay=main_w-overlay_w-10:10 [out]
Перетворення цього в повну команду FFmpeg:
ffmpeg -i base.mov -vf "movie='logo.png' [logo]; [in][logo] overlay=main_w-overlay_w-10:10 [out]" -c:v libx264 -crf 20 out.mov
В -c:v libx264 -crf 20
параметрах визначають вихід відео кодека і його якість (де CRF, ймовірно , буде від 19 до 24 років , в залежності від якості ви хочете, нижче , тим краще).
Тут досить хороша публікація в блозі: Як нанести водний знак на відео за допомогою FFmpeg . Це переходить у деталізацію позиціонування.