Використовуючи overlay
відеофільтр, щоб додати логотип до відео:
ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay" \
-codec:a copy out.mp4
Щоб зрозуміти цю команду, вам потрібно знати, що таке специфікатор потоку , і допоможе прочитати Вступ до фільтрації FFmpeg . [0:v]
посилається на відеопотік (и) першого входу ( video.mp4
) і [1:v]
посилається на відеопотік другого входу ( logo.mp4
). Ось як ви можете сказати, overlay
які входи використовувати. Ви можете опустити [0:v][1:v]
, і overlay
все одно буде працювати, але рекомендується бути явним і не покладатися на можливі невідомі значення за замовчуванням.
За замовчуванням логотип буде розміщено у верхньому лівому куті.
Використання -codec:a copy
буде потік копіювати аудіо. Це просто переутворює звук замість повторного кодування. Подумайте про це як про "копіювання та вставлення" аудіо.
Переміщення логотипу
Цей приклад перемістить логотип на 10 пікселів праворуч і 10 пікселів вниз:
ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=10:10" \
-codec:a copy out.mp4
Цей приклад перемістить логотип на 10 пікселів з правого боку та на 10 пікселів вниз:
ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=main_w-overlay_w-10:10" -codec:a copy out.mp4
main_w
відноситься до ширини "основного" вводу (фону або [0:v]
) і overlay_w
посилається на ширину введення "накладення" (логотип або [1:v]
). Отже, у прикладі це можна перекласти на overlay=320-90-10:10
або overlay=220:10
.
Час накладання накладки
Деякі фільтри можуть обробляти редагування тимчасової шкали, що дозволяє використовувати арифметичні вирази, щоб визначити, коли слід застосувати фільтр. Дивіться, щоб ffmpeg -filters
побачити, які фільтри підтримують редагування часової шкали.
Цей приклад показуватиме логотип до 30 секунд:
ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=10:10:enable=between(t\,0\,30)" -codec:a copy out.mp4
Якщо ви хочете згасати логотип, зверніться до відповіді mark4o .