Tuesday, April 30, 2024
14
rated 0 times [  14] [ 0]  / answers: 1 / hits: 11504  / 2 Years ago, thu, april 28, 2022, 7:31:10

I have a collection of videos, in the .mkv and .mp4 (AAC+H.264) formats. The .mkv files are ok, but all the .mp4 files have such a low volume that I can hardly hear it on my phone, even when volume is maxed.



I convert them using avconv so they're smaller for my phone. It works fine, but I have not yet found out how I can normalize the volume on all the .mp4 files so they match the .mkv files.



Just raising the volume alone would be a great achievement.


More From » video-conversion

 Answers
5

I've just been searching for a similar problem and used this solution from SuperUser



Basically, just extract the audio from the file as wav, run normalize-audio on it and then re-encode it as aac and remux.



I just wrote this quick script to do it:



VIDEO_FILE=$1
VIDEO_FILE_FIXED=${VIDEO_FILE%.*}-fixed.${VIDEO_FILE##*.}
avconv -i $VIDEO_FILE -c:a pcm_s16le -vn audio.wav
normalize-audio audio.wav
avconv -i $VIDEO_FILE -i audio.wav -map 0:0 -map 1:0 -c:v copy -c:a libvo_aacenc
$VIDEO_FILE_FIXED


Put it in a file like normalize.sh, then run bash normalize.sh file_to_convert.mp4. You'll get a file out file_to_convert-fixed.mp4.



You might want to tweak the normalize-audio command to just raise the volume by some dB with the -g siwtch, or use another command entirely. I saw aacgain and wavegain mentioned elsewhere. normalize-audio is in the package normalize-audio, funnily enough.



Hope this helps you.


[#32992] Friday, April 29, 2022, 2 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
errettas

Total Points: 160
Total Questions: 118
Total Answers: 91

Location: Laos
Member since Fri, Sep 11, 2020
4 Years ago
;