10

I have a bunch of .mkv video files which audio is REALLY low volume.

How can i adjust the volume higher permanently in the .mkv file? preferrably with lossless methods (if even possible?).

Yes, i know i could just turn my speakers full volume, but then again if i watch some other video with normal sound levels, then my speakers would kill me!

1

6 Answers 6

9

I use FFMPEG (https://ffmpeg.org/download.html), a powerful free command-line tool. First, I analyze the video file with the command:

"C:\Program Files\ffmpeg\bin\ffmpeg" -i video.avi -vn -af "volumedetect" -f null /dev/null

In the output, I get something like

mean_volume: -24.8 dB

This means that to normalize the audio, I can increase it by about 24db. Here's the command to do it with FFmpeg:

"C:\Program Files\ffmpeg\bin\ffmpeg" -i myvideo.mkv -vcodec copy -af "volume=24dB" myvideo-boosted.mkv

Hope it helps!

1
  • There might be clipping if adjustment is done above max_volume reported.
    – mlt
    Aug 4, 2023 at 18:51
1

Mkv is a container format that can hold almost any video or audio codec. You would need to figure out which audio codec(s) is/are being used in your files and see if any kind of lossless volume adjustment tool exists for that codec.

3
  • howcome mkvtoolnix can merge files so easily? or can it not? it's really popular people convert the file to mkv and join then with it.
    – barlop
    Oct 14, 2011 at 6:25
  • @barlop: How can mkvtoolnix merge files so easily? Because that's what it is built to do! :) Seriously though, read up on what container formats are. Obviously a tool like mkvmerge can only deal with audio/video/text etc. streams whose format it recognises and which are allowed to be stored in the container as per the format specifications.
    – Karan
    Sep 13, 2012 at 4:10
  • @Karan I guess i've found other tools that have a switch to do the join, or a method i'd seen recommended to use the tool to do it, but are temperamental or whatever must be passed to it to get it done, if anything can, would require great expertise with the tool. maybe ffmpeg and avidemux gave me trouble with it, (better luck with avidemux than ffmpeg but was a little bit fiddly particularly ffmpeg is nastily fiddly if ffmpeg managed it at all), but mkvtoolnix might've worked on a case that neither of them could - and with no trouble at all.
    – barlop
    Sep 13, 2012 at 7:24
0

You can use this tool to extract and insert the audio track. http://www.videohelp.com/tools/MKVtoolnix and you can use this tool to adjust audio levels http://www.howtogeek.com/howto/20700/how-to-adjust-the-volume-of-your-mp3-files/ .

Note: I have not used these programs since I have not had this issue, but these pieces of software seem to be able to do what you have requested.

1
  • Get mkvtoolnix from the author's site, and mkvextract GUI from here. The exact tool to boost the audio track's volume will depend upon the codec used, so you can't assume that MP3 will be the only one. MediaInfo can be used to display a comprehensive report of what codecs the file uses, although mkvmerge (mmg.exe) among other utils in the mkvtoolnix distribution will also give you that info.
    – Karan
    Sep 13, 2012 at 4:16
0

Rather than re-encoding the sound, you could watch the videos in VLC. The volume control in VLC goes up to 200%. Normal full volume is 100%, and then after that it adjusts the volume in software.

In other words, you can boost sound that is recorded at a too-low level without having to turn the system volume or your amplifier volume up too high.

2
  • Unfortunately the sound quality suffers when you do this in VLC...
    – Vitas
    Mar 16, 2014 at 16:10
  • @Vitas, it shouldn't affect the sound quality. They are just amplifying a digital signal. Maybe the sound quality was bad in the first place.
    – dangph
    Mar 17, 2014 at 0:24
0

Using VLC is one option, but if you want to burn the file as a DVD to be played on a stand-alone player, that is not a suitable option.

You could use MediaInfo, as mentioned above, to determine the Video framerates & Audio bitrates, then configure Handbrake (https://handbrake.fr/) to use those values.

In the Video tab select the framerate that matches the original file via drop-down menu, select 'Constant Framerate (FPS) - leave 'Quality' unchanged and repeat in the Audio tab, matching the original audio bitrate then increase the gain (volume) via the drop-down menu ('v' shaped symbol next to the red X) in the audio options tab. Range 1-20. 10 should boost the volume to a reasonable level.

Not an elegant solution, but it works well.

1
  • I don't see how to pass the video feed through unchanged (e.g. I am forced to choose a codec). Recompressing with a similar bitrate as the original should, theoretically, decrease video quality slightly (and wastes lots of time, too).
    – Qwertie
    Jan 10, 2021 at 20:27
0

another alternative is 'FFmpeg Batch' (freeware). You can import all your video files, then tell the program to copy the video stream and then edit the audio stream ... all using the Wizard on the main page. Then also on the main page their is an option to increase the audio by decibels. Just check the volume box, then increase the volume by between 5-10 decibels. Then just click on Sequential encoding button to encode ALL the files in the Queue.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .