My wife and I are not the kind of people to get rid of things because there is a new version available to purchase; in this case, we currently have 2 TVs: our main TV being a 42" Sony 1080p LCD from 2009 and our bedroom TV, which is a 32" Samsung 720p LCD from 2012. We’ve mostly always just used the speakers built into the TVs, no surround sound or soundbars (until a few months ago) so any movies we play with 5.1 or greater audio tracks, the dialog was very difficult to understand. Our “old” TV speakers could not “downmix” surround sound audio tracks to a stereo level. We were constantly adjusting the volume; music would scream while voices were just left somewhere in the background. This was an annoying problem to say the least.

We did purchase an entry level Sony soundbar with subwoofer a few months ago and this has made the world of difference, however we still use the TV speakers on our other TV and the original problem still exist. If only I could get the audio track to play in stereo, the problem would vanish…..

So the question remained: how can I make my movies on my server a little more “flexible” when it came to the audio tracks? Most DVDs and Blu-Rays that I have ripped have a 5.1 or greater surround sound source, not stereo.

The answer is actually easy, that is, if you want to put in the time and effort: FFMPEG.

The Goal

The goal here is that we want to add a new stereo audio track to our movies, keeping surround sound as the primary audio track and stereo as a secondary. This way, we can have stereo as an option when we watch them via Plex or Jellyfin. Some people might want to replace the surround sound audio track with a stereo downmix audio track, so I’ve included that code below as well.

NOTE: These commands are tested in Ubuntu Linux and the official FFMPEG package as of this post date. If you run this in Windows or MacOS, you may need to change a few things.

The Code

REPLACE the Surround Sound Audio Track with a Stereo Audio Track

The code below will REPLACE the existing Surround Sound audio track with a Stereo audio track.

ffmpeg -i "SOURCE MOVIE.mkv" -map 0:v -c:v copy -map 0:a:0 -c:a:0 copy -map 0:a:1 -c:a:1 aac -b:a:1 320k -ac 2 -metadata:s:a:1 title="Eng 2.0 Stereo" -metadata:s:a:1 language=eng -disposition:a:1 default -disposition:a:0 none "SOURCE MOVIE FIXED.mkv"

REPLACE the Surround Sound Audio Track with a BOOSTED Stereo Audio Track

The code is similar to the one above, however audio levels will be “directed” more towards the Front Left and Front Right Channels.

ffmpeg -i "SOURCE MOVIE.mkv" -map 0:v -c:v copy -map 0:a:0 -c:a:0 copy -map 0:a:0 -c:a:1 aac -b:a:1 320k -ac 2 -metadata:s:a:1 title="Eng 2.0 Stereo" -metadata:s:a:1 language=eng -disposition:a:1 default -disposition:a:0 none -filter:a:1 "pan=stereo|FL=FC+0.30*FL+0.30*FLC+0.30*BL+0.30*SL+0.60*LFE|FR=FC+0.30*FR+0.30*FRC+0.30*BR+0.30*SR+0.60*LFE" "SOURCE MOVIE FIXED.mkv"

ADD a Stereo Audio Track, keeping the Surround Sound Audio Track

The code below will ADD an additional Stereo audio track, while preserving existing audio tracks. Note that this new Stereo audio track will be secondary, keeping the existing primary audio track primary.

ffmpeg -i "SOURCE MOVIE.mkv" -map 0:v:0 -c:v copy -map 0:a:0 -c:a:0 copy -map 0:a:0 -c:a:1 aac -b:a:1 320k -ac 2 -metadata:s:a:1 title="Eng 2.0 Stereo" -disposition:a:0 default -metadata:s:a:1 language=eng "SOURCE MOVIE FIXED.mkv"

ADD a BOOSTED Stereo Audio Track, keeping the Surround Sound Audio Track

Finally, this code will ADD an additional BOOSTED Stereo audio track, while preserving existing audio tracks. Note that this new Stereo audio track will be secondary, keeping the existing primary audio track primary.

ffmpeg -i "SOURCE MOVIE.mkv" -map 0:v:0 -c:v copy -map 0:a:0 -c:a:0 copy -map 0:a:0 -c:a:1 aac -b:a:1 320k -ac 2 -metadata:s:a:1 title="Eng 2.0 Stereo" -disposition:a:0 default -metadata:s:a:1 language=eng -filter:a:1 "pan=stereo|FL=FC+0.30*FL+0.30*FLC+0.30*BL+0.30*SL+0.60*LFE|FR=FC+0.30*FR+0.30*FRC+0.30*BR+0.30*SR+0.60*LFE""SOURCE MOVIE FIXED.mkv"

Once you have ran one of the FFMPEG commands above, you will have your original file, along with the new one that we’ve created. I would suggest that you test your new file, whether you know how to use FFPROBE (and confident in reading the results), or want to use an application like VLC to check the audio streams available.
When you are confident and pleased with the results of the new file, remove the original and rename the new file to what you want. Update your library in Plex and/or Jellyfin, then test it out by selecting the proper audio stream of your choice!

In the end, one of these methods will help you get more balance out of the volume levels if you don’t have a soundbar or surround sound system.