Синтаксис для добавления водяного знака немного отличается. Для этого вам нужны видео фильтры, которые уже поставляются в комплекте с 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. Это входит в детали позиционирования.