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?