Я пытаюсь размыть конкретную часть видео в зависимости от определенного интервала, как в 2-10 секунд размыть эту часть, а в 12-20 размыть другую, но я не могу заставить это работать. Вот команда, которую я могу сделать до сих пор

'ffmpeg -y -i with_out_sound.mp4 -filter_complex [0:v]crop=206:169:32:121,boxblur=10:enable='between(t,2,10)'[fg];[0:v]crop=206:169:62:100,boxblur=10:enable='between(t,12,20)'[fg1];[0:v[fg]overlay=32:121:enable='between(t,2,10)'[tmp];[0:v][tmp]overlay=62:100:enable='between(t,12,20)'[tmp2]-map [tmp2] with_blur.mp4'

Но с приведенной выше командой я получаю сообщение об ошибке Filter Boxblur имеет неподключенный вывод

1 ответ1

1

использование

ffmpeg -y -i with_out_sound.mp4 -filter_complex \
"[0:v]crop=206:169:32:121,boxblur=10:enable='between(t,2,10)'[fg]; \
 [0:v]crop=206:169:62:100,boxblur=10:enable='between(t,12,20)'[fg1]; \
 [0:v[fg]overlay=32:121:enable='between(t,2,10)'[tmp]; \
 [tmp][fg1]overlay=62:100:enable='between(t,12,20)'[tmp2]"
-map [tmp2] with_blur.mp4

Результатом первого наложения должен быть фон для 2-го наложения.

Ошибка произошла, потому что fg1 не использовался. Все выходные данные фильтра должны быть: 1) отображены для кодирования, 2) использованы другим фильтром или 3) отправлены в приемник.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .