Команда:
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv
создает видео с изображением «watermarklogo.png» в верхнем левом углу.Вызов этой команды из другой программы должен быть достаточно простым.
Разбивая это по частям, чтобы понять это:
ffmpeg
- это программа, которую вы будете использоватьдля добавления водяного знака.
-i
используется для указания входных файлов.
inputvideo.avi
- ваш входной файл, заданный -i
.
-vf
используется для указания видеофильтра.В этом случае это все в кавычках.
movie=watermarklogo.png
загрузит файл, который вы хотите использовать в качестве водяного знака.Здесь мы загружаем файл как источник видео (используя movie
) независимо от того, является ли файл видео.В данном случае это изображение.
[watermark]
обозначает файл, который вы только что загрузили.Эта метка будет использоваться в остальной части кода.
[in]
и [out]
относятся к входному потоку и выходному потоку видео.
overlay
используется правильнопосле метки [watermark]
, чтобы он ссылался на нее.В этом простом случае мы помещаем overlay
в 10:10
.Это означает, что водяной знак будет смещен на 10 пикселей сверху и слева.Если бы вы хотели внизу справа, вы бы использовали overlay=main_w-overlay_w-10:main_h-overlay_h-10
, где main_w
- ширина входного потока, overlay_h
- высота оверлейного файла и т. Д.
Наконец, outputvideo.flv
явнофайл, в который вы хотите сохранить результаты.
Дополнительная информация:
Я нашел эту информацию на сайте, о котором Дмитрий упоминал в комментариях.Алекс упоминал, что эта страница может быть слишком сложной для тех, кто плохо знаком с такими вещами.Тем не менее, я никогда не делал ничего подобного, и в течение пары минут я получил результаты, которые, как я считаю, ищутся.
Примечание: у меня был момент проблемы, когда я получал ошибку:
error while opening encoder for output stream #0.1
Если у вас возникла та же проблема, вам, вероятно, потребуется вручную установить частоту дискретизации с помощью параметра -ar (например, -ar 22050).