It's not entirely clear what you mean by improved audio, but here are three ffmpeg-based options that should get you what you need. Just combine the appropriate code below. I've included an audio conversion to high bitrate aac in all of the commands, but this will not actively improve your audio. If you're looking to optimize the audio for voice, check out ffmpeg's highpass, lowpass, and anequalizer audio filters to filter out unwanted high end and low end frequencies, and to enhance vocal frequencies (probably around 1khz and 5kz).
This line processes all of one file type in a folder. Just cd
into the appropriate directory. Replace [original file extension] with your file extension, eg. for i in *.mov; do
mkdir output; for i in *.[original file extension]; do
Use that first line, plus one of the following
Option 1) -vn will ditch the video altogether. Consider just sending audio files.
ffmpeg -i [input] -vn -acodec aac -b:a 320k [output];done
Option 2) -vf scale will scale all your videos into a smaller size without messing with the audio.
ffmpeg -i [input] -vf scale=320:240 -crf 30 -acodec aac -b:a 320k [output];done
Option 3) The first line gets the duration of your video $t using ffmpeg. The second line creates black video to replace your video with, then uses -map to combine the new black video and the audio. Then it uses -ss and -t to set a start and end time $t. Replace [original file extension] with your file extension, eg. "$(basename $i .mov).mp4"
You should really only consider using this if your transcription service demands a video file, but either of the previous options is probably a better choice.
t=$(ffmpeg -i "$i" 2>&1 | grep "Duration"|grep -o '00:*.*'|cut -f1 -d","|awk -F: '{seconds=($1*60)*60; seconds=seconds+($2*60); seconds=seconds+$3; print seconds}');
ffmpeg -f lavfi -i color=c=black:s=2x2:r=1/1 -i "$i" -map 0:v -map 1:a -acodec aac -b:a 320k -ss 0 -t $t "output/$(basename $i .[original file extension]).mp4";done
Again, if your transcription service doesn't care about or even want video, you could shortcut all of this and just send them high quality wav files.
ffmpeg -i [input.mp4] [output.wav]
ffmpeg -i recordingsample
. In what format is the output required or preferred? Do you want to filter the audio to improve clarity or simply maintain the source audio - in short, this will be more fruitful if you mention what are the deficiencies with the current workflow, and specifics of what you would like to achieve. – Gyan Feb 19 '20 at 17:26