Отключение звука определенных разделов аудиофайла с помощью 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')