28

Whenever I play a video with multiple audio tracks on vlc the first audio track is played. How do I enable both tracks so that I hear both tracks playing at the same time while playing the video?

1
  • 1
    I doubt that is possible, try running two separate instances of vlc.
    – terdon
    Feb 23, 2013 at 9:19

9 Answers 9

17

2023 Update: This answer is now somewhat outdated; see the additional arguments in benok's answer below.


Launch VLC with the following command line options:

vlc --sout-all --sout #display

All audio tracks in the file will play.

Source: https://forum.videolan.org/viewtopic.php?t=145140

4
  • 2
    I found it superuseful to create a .cmd file with this - start "" "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" --sout-all --sout #display %1%.. I can now just drag audio+video files on the cmd file and they both play in sync. Idea from the link as well.
    – charsi
    Mar 22, 2020 at 18:10
  • awesome, hard for me to understand why they did not make this an option in the context menu but alright...shortcut it is, I guess
    – Vinz
    Aug 30, 2020 at 10:20
  • doesn't work in recent versions Feb 14, 2022 at 2:58
  • James' suggestion seems to work still. If you're trying charsi's suggestion, however, you probably need to add the following flag now: --started-from-file
    – jsea
    Mar 22, 2022 at 11:53
3

If you're running windows, the default player (windows media player) mix all tracks by default, at least on Win8. I don't like WMP and I'm still using VLC but WMP does the job when you need it.

3

One of the possible ways is to to run multiple instances of VLC. This page from VLC wiki details how this can be done; in a nutshell:

  • Windows: Tools > Preferences... > Interface > playlist and instances:
    • uncheck "Allow only one instance"
    • uncheck "use only one instance when started from file manager"
  • OS X:
    • paste the code below into a new AppleScript Editor script
    • save it as an application

on run
    do shell script "open -n /Applications/VLC.app"
    tell application "VLC" to activate
end run

on open theFiles
    repeat with theFile in theFiles
        do shell script "open -na /Applications/VLC.app " & quote & (POSIX path of theFile) & quote
    end repeat
    tell application "VLC" to activate
end open
1
  • I'm on Windows and your solution actually worked very well. Thank you.
    – SyncroIT
    Nov 27, 2021 at 17:54
3

In the recent (3.0.18) version, I tried @james's answer, but no luck.

Next, I tried options @chiristian wrote in the reg file, and it worked.

You can make a bat file like the one below and drag & drop a file you want to play.

"C:\Program Files\VideoLAN\VLC\vlc.exe" --sout-all --sout #display %1 --started-from-file --no-playlist-enqueue %1
1
  • 1
    The following worked on Linux (Fedora 39, KDE): /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=/app/bin/vlc --file-forwarding org.videolan.VLC --started-from-file --sout-all --sout=#display @@u %U @@ (Leave the part before --command= out if you don't use flatpak).
    – gilex
    Jan 25 at 18:53
2

I was able to get James answer to work, but in newer versions it doesn't seem to play the tracks automatically. I had to use the cycle tracks hotkey (US keyboard, 'b') and each press of that would add the next track.

for example, if I am playing a video with 3 tracks, I would execute the following steps:

  1. run VLC with the command vlc --sout-all --sout #display "[Path to video file]"
  2. The video starts to play, but only playing back the first audio track.
  3. I press 'b' on my keyboard, and now the first and second tracks are playing.
  4. I press 'b' again, and now all 3 tracks are playing.

I assume that if there are more than 3 tracks, you would repeat pressing b to add them.

This was confirmed on VLC 3.0.16 Vetinari on Windows 10

I hope this was helpful!

2

Using James' method works great, if you want to go the extra mile you can do the following:

  1. Create the .bat anywhere, it doesn't matter where.
  2. Convert the .bat to a .exe
  3. If VLC is already your default media player then right-click your video file and click open with>choose another app>your new exe.

You can use a program like "resource hacker" to change the icon to be the cone if you want to go even farther into being a VLC developer.

1

This was driving me crazy for MXF files. We output to different channel to allow editors to work with sounds separately. This thread has helped to resolve my issue with a decent work around. I chose to make the changes in the registry to avoid workarounds. I used both James and yurkennis clues.

I did this specifically for MXF files. VLC did not have any root clases for MXF so I copied the mp4 hive and made a .reg file to be imoported. I then edited the mp4 to my needs for MXF and imported the hive... boom it worked. Now MXF files launch auto with all channels of audio.

You can copy the code below and create a file with the extension .reg such as SAMPLE.reg.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\VLC.mxf]
@="MXF Video File (VLC)"

[HKEY_CLASSES_ROOT\VLC.mxf\DefaultIcon]
@="\"C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe\",0"

[HKEY_CLASSES_ROOT\VLC.mxf\shell]
@="Open"

[HKEY_CLASSES_ROOT\VLC.mxf\shell\AddToPlaylistVLC]
@="Add to VLC media player's Playlist"
"Icon"="\"C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe\",0"
"MultiSelectModel"="Player"

[HKEY_CLASSES_ROOT\VLC.mxf\shell\AddToPlaylistVLC\command]
@="\"C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe\" --sout-all --sout #display --started-from-file --playlist-enqueue \"%1\""

[HKEY_CLASSES_ROOT\VLC.mxf\shell\Open]
@="Play"
"MultiSelectModel"="Player"

[HKEY_CLASSES_ROOT\VLC.mxf\shell\Open\command]
@="\"C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe\" --sout-all --sout #display --started-from-file \"%1\""

[HKEY_CLASSES_ROOT\VLC.mxf\shell\PlayWithVLC]
@="Play with VLC media player"
"Icon"="\"C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe\",0"
"MultiSelectModel"="Player"

[HKEY_CLASSES_ROOT\VLC.mxf\shell\PlayWithVLC\command]
@="\"C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe\" --sout-all --sout #display --started-from-file --no-playlist-enqueue \"%1\""

0

I used James command line options to create a context menu option in windows for my Shadowplay mp4 files. Also I know this is old, but they still don't have a gui option for this for some reason. At least not that I could tell.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\VLC.mp4\shell\PlayWithVLCMixAudio]
@="Play with VLC media player with mixed audio tracks"
"Icon"="\"C:\\Program Files\\VideoLAN\\VLC\\vlc.exe\",0"
"MultiSelectModel"="Player"

[HKEY_CLASSES_ROOT\VLC.mp4\shell\PlayWithVLCMixAudio\command]
@="\"C:\\Program Files\\VideoLAN\\VLC\\vlc.exe\" --sout-all --sout #display \"%1%\" --started-from-file --no-playlist-enqueue \"%1\""
-2

The following link will help you solve your problem but using WMM http://www.thewindowsclub.com/play-audio-tracks-simultaneously-windows-live-movie-maker

1
  • excuse me for the word but movie maker sucks, I could demux the video file though and combine the tracks. I just want to get it playing at the same time. thanks for the answer though Feb 23, 2013 at 10:59

You must log in to answer this question.

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