I have been experimenting with ffmpeg and trying to learn how to use it better - it is extremely powerful and there seem to be so many options, so I figured I would just try to do some things to learn amount mappings and tags etc.
There is nothing special about the file - it is just a small test MKV file that I can run through quickly when trying things.
Currently, I am trying to add a language tag to the video stream within the MKV file, but it is not working as expected (to me at least!)
The file (input.mkv) has four streams:
Stream #0:0: Video: h264 (Main)
Stream #0:1(eng): Audio: ac3
Stream #0:2(eng): Subtitle
Stream #0:3(eng): Subtitle
As you can see, three of the streams are tagged as Eng(lish), but the video stream is not. I realise that video is probably not often tagged with a language, but I am just trying to understand how this all works.
This is the command I am using:
ffmpeg -i input.mkv -metadata:s:v:0 language=eng -codec copy mkv.ext
What I thought this meant, was just to set the language tag = 'eng' to the first video stream (0:0), which it does, but for some reason it also deletes (or omits) the second subtitle stream (0:3) from the output.mkv file so that what I get in the output.mkv is:
Stream #0:0(eng): Video: h264 (Main)
Stream #0:1(eng): Audio: ac3
Stream #0:2(eng): Subtitle
so that we have successfully added the 'eng' tag to the video stream, but somehow lost the second subtitle stream along the way.
Questions:
What would be the correct command to achieve what I wanted?
Please help me understand what I am missing that leads to the deletion of the second subtitle stream?
Thanks,
Alan.