после ночи попыток разных вариантов с применением моего водяного знака на видео я сдался :).
То, что я пытался сделать, это:
- масштабировать видео до желаемого размера (то есть масштаб = 640x480)
- добавить водяной знак в верхнем левом углу (10:10)
- помечать видео водяным знаком с
blend=all_mode='multiply'
Я перепробовал много вариантов, и я думаю, что почти правильный:
fmpeg -i "${2}${3}" -i ${WMARK} -r 20 -y \
-filter_complex "[0:0]scale=${6}x${7}, setsar=sar=1[a];[a][1:0] overlay=0:0[b];[a][b]blend=all_mode='multiply'" \
-an -c:v libx264 -crf "${8}" -preset "${9}" -tune "${10}" \
-profile:v high -level 4.0 -movflags +faststart \
"${4}${5}";
но в любом случае я получаю ошибки.
Ближайшее, что я ищу, это:
ffmpeg -i "${2}${3}" -i ${WMARK} -r 20 -y \
-filter_complex "[0:v] scale=${6}:${7}[vi];[1:v][vi]scale2ref=(1510/408)*ih/3/sar:ih/3[wm][base];[base][wm]overlay=10:10" \
-pix_fmt yuv420p \
-an -c:v libx264 -crf "${8}" -preset "${9}" -tune "${10}" \
-profile:v high -level 4.0 -movflags +faststart \
"${4}${5}";
- Видео масштабируется до желаемого разрешения ($ [6}: $ {7})
- водяной знак также масштабируется
- ... но я не знаю, как добавить blend = all_mode = 'multiply' к нему.
Есть идеи, ребята?