I've downloaded a few movies in mp4 and mkv format.
When I look at the properties of some of them, I see that the language of the audio stream is set to "Undefined", and not "English", while the movie itself is in English.

I tried to change this using File Properties in Windows 8.1, but the only things I can change there are "Director", "Producer", etc, and not the audio streams.

(just to clarify, I want to change the audio stream properties, not the audio itself)
Is there a program that can do this?

  • I'd prefer if it has a GUI, but CLI should also be fine (as long as it isn't too complicated).
  • It should save the changes directly to the original file, no converting required.
  • And, of course, it has to be gratis (open-source not required, but preferred).
  • Did you ever find a piece of software that can do this? I can do this with subbler but need a windows alternative – SteCor May 18 '17 at 14:16

Avidemux can do that too.

  • GUI
  • free / open-source
  • cross-platform
  • it doesn't re-encode video as long as you keep the same codecs

Open you video file, go to Audio menu and choose Select Track. You'll see this:

Audio Tracks Configuration: Track 1: Enabled: English

Change the language to whatever you want then save the file using Copy for both audio and video codecs.

This applies only to the Windows version of Avidemux.

Although Avidemux is a cross-platform application, on Linux the Audio menu looks different. It can only handle two audio streams and cannot modify the language.

enter image description here

  • It works, although it does create a copy of the original file (that luckily is roughly the same size as the original), which isn't completely what I want... Well, at least I can easily delete the original. I'll set this as the accepted answer for now. – nidunc May 19 '14 at 21:19

Libav can be used:

  • freeware / open-source
  • command-line
  • cross-platform
  • creates a copy of the original file

To set the language of the first audio stream:

avconv -i input.mp4 -metadata:s:a:0 language=eng -codec copy output.mp4

If you have multiple audio streams and you don't know which one you want to change:

avprobe input.mp4

will show format and type of each media stream in the video file.

  • FYI: libav is a fork of the much more popular ffmpeg; I'd recommend using ffmpeg instead (the command is exactly the same; just replace "avconv" with "ffmpeg"). I couldn't even find a pre-built version of libav for my platform (Fedora). – Hayden Schiff Nov 4 '16 at 17:26

VLC media player's Media Info dialog (Ctrl-I) will show a Save Metadata button if you type in any of the fields.

VLC media info with 'save metadata' button showing

Takes a long time so it too must work by making an intermediate copy.

Another possibility is one of the many MP3/4 Tag Editors

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.