Отключение звука определенных разделов аудиофайла с помощью ffmpeg

У меня есть файл JSON, содержащий области, которые я хочу отключить в данном аудиофайле. Как я могу обработать аудиофайл, чтобы отключить звук между перечисленными разделами?

3 ответа

Решение

Следующая команда отключит звук в двух разделах: между 5-10 и 15-20:

ffmpeg -i video.mp4 -af "volume=enable='between(t,5,10)':volume=0, volume=enable='between(t,15,20)':volume=0" ...

Я наткнулся на этот пост, потому что пытался увидеть, как уменьшить звуковые фрагменты в видео.

Например, мне нужна громкость от 34 до 35 минут, от 37 до 40 минут, что в 0,1 раза больше входной громкости. Ниже работает для меня и надеюсь, что это сработает для других, которые выполняют ту же задачу:

      C:\ffmpeg-4.4-full_build\bin>ffmpeg -i in_video.mp4 -filter:a "volume=enable='between(t,34*60,35*60)':volume=0.1, volume=enable='between(t,37*60,40*60)':volume=0.1" -vcodec copy out_video.mp4

Обратите внимание, что время между ними должно быть в секундах.

См. Ссылку ниже для получения дополнительной информации о фильтре громкости звука (-filter:a).https://trac.ffmpeg.org/wiki/AudioVolume

Благодаря @aergistal у меня это сработало:

командная строка:

ffmpeg -i input.mp4 -af "volume=enable='between(t,1,2)':volume=0" output.mp4

nodejs свободный ffmpeg:

ffmpeg('input.mp4').audioFilters("volume=0:enable='between(t,1,2)'").output('output.mp4')
Другие вопросы по тегам