[in][watermark] overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2 [out], scale=480:-1"
..не [out]
в неправильному місці, що робить фільтруючий сенс безглуздим. Вона повинна бути:
[in][watermark] overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2, scale=480:-1[out]"
Особисто мені не подобається фільм фільму з чисто естетичних причин (я думаю, що це робить командний рядок менш чітким). Я б зробив це, використовуючи filter_complex замість цього:
ffmpeg -i Wildlife.wmv -i /tmp/icon.png \
-filter_complex '[0:v][1]overlay=W/2-w/2:H/2-h/2,scale=480:-1[outv]' \
-map [outv] -map 0:a -c:a libvorbis -b:a 128k -c:v libvpx -b:v 384k output.webm
Зауважте, що filter_complex несумісний з [in]
, оскільки за своєю природою він потребує декількох входів.
Я видалив -ar 44100
і -r 25
, оскільки вони вам, мабуть, не потрібні - якщо джерело вводу має частоту кадрів 25 кадрів в секунду і частоту звуку 44100, вихід буде успадковано ці налаштування за замовчуванням. І якщо цього не відбудеться, ви, мабуть, нічого не виграєте, змінивши їх.
Щоб спочатку масштабувати відео, а потім додати водяний знак, ви можете використовувати щось подібне:
-vf 'movie=/tmp/icon.png[wm];[in]scale=480:-1[int];[int][wm]overlay=W/2-w/2:H/2-h/2[out]'
Я насправді не впевнений, чи спрацювало б це; особисто я б використовував filter_complex, як зазначено вище:
ffmpeg -i Wildlife.wmv -i /tmp/icon.png \
-filter_complex '[0:v]scale=480:-1[int];[int][1]overlay=W/2-w/2:H/2-h/2[outv]' \
-map [outv] -map 0:a -c:a libvorbis -b:a 128k -c:v libvpx -b:v 384k output.webm
[in][watermark] scale=480:-1,overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2[out]
не працює.