I need to batch convert a large set of videos with audio into audio only streams, and I need the speech on the audio be loud enough on all tracks and parts of tracks that the user can listen to them without having to use their volume controls all the time.

Here is how I use ffmpeg to get the audio only:

ffmpeg -i $1 -q:a 0 -map a $2.mp3

This results in audio tracks with a large variation in loudness. Some of the tracks become so quiet that you cannot raise the volume on the end device enough to hear it in a noisy environment. So I would like the resulting audio to use the full amplitude, or perhaps even more. A little distortion or clipping is preferable to not being able to hear the audio. Also some filtering emphasizing the frequencies of normal speech perhaps around 1kHz would be useful.

How can I do this from a batch script/command line?

  • 1
    I'm not sure how the community may take this kind of question. It seems more like it is about getting audio out of video than it is about working with audio, so it may be a better fit for Video Production, which deals with lots of FFMPEG questions. – AJ Henderson Jun 4 '14 at 18:18
  • 1
    I already know how to get the audio out of the video, simply using the ffmpeg command in the question. This question is about processing the audio either with ffmpeg or with something else. – tomsv Jun 5 '14 at 9:29
  • ok, but that is still very basic audio knowledge not sound design related. perhaps it's better to learn more about compression/limiting and loudness and consult the ffmpg community how to achieve your desired results. or ask/hire a sound engineer to take care of it. – Arnoud Traa Jun 9 '14 at 12:10
  • Someone else has asked basically the same question on Video Production. It doesn't have an answer yet, but may be worth following. – AJ Henderson Jun 10 '14 at 18:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.