Ответ 1
Команда:
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).