View Full Version : default and forced track flags for matroska subtitles
mindbomb
21st April 2013, 00:08
i wanna make sure I get this straight. I'm not sure if I'm 100% clear on when to use default vs the forced tag vs no track flag for subtitles in an mkv.
I think concrete examples might best illustrate proper usage. Let's take 3 cases, assuming I've recorded 3 speeches for an english speaking audience, and I am creating mkv files for each:
A speech in english with english subtitles. Do I give these subs the default tag or no tag?
A speech in French with english subtitles. Do I give these the default tag or no tag?
A speech in english with bits of french, english subtitles for the french bits. Do i give this the forced tag or the default tag?
I think there are 2 schools of thought here, one that treats default as a small preference and forced as an absolute, and one that uses no track flag in general, and uses default as an absolute.
I'm hearing that it is done both ways, I'm wondering which usage is better adhering to player and container standards.
ranpha
21st April 2013, 02:04
If you want to dump all audio and subtitle streams into the Matroska file, mirror the markings in the source disc. If you want to selectively put the audio/subtitle streams, then flagging is done according to your preferences.
mindbomb
21st April 2013, 20:34
could you expand on what you mean for selectively putting in subtitles?
I'm confused as to when to use each flag.
edit: so after talking to mosu in the mkvtoolnix thread, I think I am clear on the subject.
A speech in english with english subtitles - no tag
A speech in French with english subtitles - default tag, assuming it is for an english audience.
A speech in english with bits of french, english subtitles for the french bits. - default tag.
ranpha
22nd April 2013, 00:17
That's not exact canon.
Let's take LotR - Fellowship as an example. That movie is in English (with some Elvish in it) and you want to make a Matroska out of it, and don't want to dump all available tracks in it.
Let's say you want to make a Matroska for an English-only speaker. Normally, you would made the Matroska file like below:-
1. A video track (the movie).
2. An audio track - in English.
3. An English subtitle track for the Elvish dialogue, with 'forced' flag on.
4. An English closed caption subtitle track, for those who is hard on hearing, that's also incorporates the translation of the Elvish dialogues. No flag should be set for this track.
Now let's say you want to make a Matroska of the same movie, but for someone who only knows Japanese (and doesn't know Elvish).
Case A.
1. A video track (the movie).
2. An audio track - in Japanese.
3. A Japanese subtitle track for the Elvish dialogue, with 'forced' flag on.
4. A Japanese closed caption subtitle track, for those who is hard on hearing, that's also incorporates the translation of the Elvish dialogues. No flag should be set for this track.
Case B (for the purists).
1. A video track (the movie).
2. An audio track - in English.
3. A Japanese subtitle track for the Elvish dialogue, with 'forced' flag on.
4. A Japanese subtitle track for normal dialogue, with 'default' flag on.
5. A Japanese closed caption subtitle track, for those who is hard on hearing, that's also incorporates the translation of the Elvish dialogues. No flag should be set for this track.
Plenty of ways to do this thing, according to your preferences.
mindbomb
22nd April 2013, 01:33
well, the movie in question that made me originally ponder this question was Argo. The warner bros. bluray has 2 english subtitles of interest:
1. subtitles for all dialogue,
2. subtitles for the handful of farsi scenes and the epilogue - these were in fact marked as forced on the bluray, but I wasn't sure if it had the same meaning in mkv.
The latter is a subset of the former. Now, if I understand you right, you would force the subtitles for the farsi dialogue and default the regular english subtitles?
Chetwood
22nd April 2013, 06:00
I'm not sure if I'm 100% clear on when to use default vs the forced tag vs no track flag for subtitles in an mkv.
Which would be a good reason to read up on it (https://trac.bunkus.org/wiki/FAQ%3ADefaultAndForcedFlagsAndDefaultYesNoInMMG), Mosu just posted a link to it the other day.
Now, if I understand you right, you would force the subtitles for the farsi dialogue and default the regular english subtitles?
No, you would set the farsi dialogue to forced (and also default to yes since VLC does not play it with forced flag only) and the regular to default = no.
sneaker_ger
22nd April 2013, 07:35
That's not exact canon.
None of your examples fit the spec, because they all have the Elblish translation twice.
Now, DVDs and Blu-Rays work differently compared Matroska, because they don't have any default track/forced track markings but select tracks through the menus. They also have the concept of forced lines which does not really exist in Matroska. (Well, you can kinda have it if the subtitle format bitstream has such info itself, e.g. in sup or idx/sub.)
ranpha
22nd April 2013, 08:29
None of your examples fit the spec, because they all have the Elblish translation twice.
Now, DVDs and Blu-Rays work differently compared Matroska, because they don't have any default track/forced track markings but select tracks through the menus. They also have the concept of forced lines which does not really exist in Matroska. (Well, you can kinda have it if the subtitle format bitstream has such info itself, e.g. in sup or idx/sub.)
Close captioning != normal subtitles. It is rare for people who rips an English BD movie for consumption of English-only-speaking viewers into a final file that has English audio and English normal subtitles. If the viewers understand English, they won't need subtitles. Close captioning is used only for those with hearing problems.
Only DVD selects subtitles using the menu. Any good Blu-rays follows STB settings when it comes to audio/subtitles stream selection.
DVD/Blu-ray rippers out there can rip out forced lines in DVD/BD and put them in a separate subtitle stream. Any good ripper (the person, not the program) will not dump a full English subtitle that has normal English dialogue + the Elvish dialogue in a single stream if the audio is English.
sneaker_ger
22nd April 2013, 08:52
Only DVD selects subtitles using the menu. Any good Blu-rays follows STB settings when it comes to audio/subtitles stream selection.
But it goes through the menus as well, right? You cannot simply play an m2ts and expect that magically the correct subtitle settings are chosen.
Close captioning != normal subtitles. It is rare for people who rips an English BD movie for consumption of English-only-speaking viewers into a final file that has English audio and English normal subtitles. If the viewers understand English, they won't need subtitles. Close captioning is used only for those with hearing problems.
DVD/Blu-ray rippers out there can rip out forced lines in DVD/BD and put them in a separate subtitle stream. Any good ripper (the person, not the program) will not dump a full English subtitle that has normal English dialogue + the Elvish dialogue in a single stream if the audio is English.
Still, all your examples have the Elbish twice. Let's take your Case B and a hearing impaired Japanese speaker. He will choose track 5. Now a spec compliant player would play track 5 and the forced track 3 simultaneously and since both of them contain the Elbish you would have the same dialog twice on the screen during those scenes.
ranpha
22nd April 2013, 11:55
But it goes through the menus as well, right? You cannot simply play an m2ts and expect that magically the correct subtitle settings are chosen.
You never have a Blu-ray STB right? Let say you set up the STB to prefer only Cantonese audio and English subtitles, when you play a BD movie that has those tracks, the STB will automatically play the said movie using the STB preferences. The correct audio + subtitle setting will be used, no need to set it up in the BD menu first.
Still, all your examples have the Elbish twice. Let's take your Case B and a hearing impaired Japanese speaker. He will choose track 5. Now a spec compliant player would play track 5 and the forced track 3 simultaneously and since both of them contain the Elbish you would have the same dialog twice on the screen during those scenes.
With any other player that isn't KMPlayer, this will not happen.
sneaker_ger
22nd April 2013, 12:21
You never have a Blu-ray STB right? Let say you set up the STB to prefer only Cantonese audio and English subtitles, when you play a BD movie that has those tracks, the STB will automatically play the said movie using the STB preferences. The correct audio + subtitle setting will be used, no need to set it up in the BD menu first.
I don't mean manually setting it up, but your box always loads the menus first and they program which subtitle track - if any - is to be activated and whether or not only forced lines are to be displayed. There are no flags for that in the m2ts.
With any other player that isn't KMPlayer, this will not happen.
That may be true, but your examples were not "canon". They are a violation of the Matroska specs, even though most players work in a way that only one track at a time can be loaded.
mindbomb
22nd April 2013, 14:34
I've been reading the specs (available at http://www.matroska.org/technical/specs/index.html -ctrl+f flagforced), and I've noted 2 things-
First, "Overlay MAY happen between a forced and non-forced track of the same kind", the operative word is may. I'm starting to wonder, as a lot of people are assuming, if it was meant that forced would always persist after a different track was selected.
Second, in my Argo case, where I am interested in only english subtitles, since one track is a subset of the other, there would be no issues even if it did persist on a track switch, since the subs would occupy the same position and have identical content. So presumably using the forced flag in this case would cause no issue?
ranpha
22nd April 2013, 17:12
I don't mean manually setting it up, but your box always loads the menus first and they program which subtitle track - if any - is to be activated and whether or not only forced lines are to be displayed. There are no flags for that in the m2ts.
The STB always set what default audio/subtitle languages to be used automatically, and you can override it in the BD menu if needed. Of course, the STB setting is configurable too. Menu doesn't override STB, it was the other way around by default, unless of course you manually set it back using the menu.
PGS subtitles tracks doesn't have the forced flag option, more often than not, forced lines are line-based, not track-based, unlike DVDs.
That may be true, but your examples were not "canon". They are a violation of the Matroska specs, even though most players work in a way that only one track at a time can be loaded.
It is KMPlayer that is 'broken' - as it will follow the spec. Now, in case B, if the viewer choose track 5 in MPC-HC with LAV Splitter SOurce, what do you think will happen? Is it similar if you do the same thing in players like Xtreamer Prodigy?
sneaker_ger
22nd April 2013, 20:50
The STB always set what default audio/subtitle languages to be used automatically, and you can override it in the BD menu if needed. Of course, the STB setting is configurable too. Menu doesn't override STB, it was the other way around by default, unless of course you manually set it back using the menu.
PGS subtitles tracks doesn't have the forced flag option, more often than not, forced lines are line-based, not track-based, unlike DVDs.
Unlike DVDs? Both DVDs and Blu-Ray work very similar in that regard. None of them have any forced or default flags on track level, but program everything through the menus. How would your STB know without the menu system which track it has to play? As you said, there is no standard on how to implement forced lines. Sometimes they are an extra track and sometimes they are not. Other times forced lines don't exist at all. The menu will detect the players language (or you set it manually) and then it will tell the player which track to play.
It is KMPlayer that is 'broken' - as it will follow the spec. Now, in case B, if the viewer choose track 5 in MPC-HC with LAV Splitter SOurce, what do you think will happen? Is it similar if you do the same thing in players like Xtreamer Prodigy?
So not following the specs is canon?
mindbomb
22nd April 2013, 21:22
wait, so sneaker_ger, what would you do in the case of Argo, which I describe in post 5, here (http://forum.doom9.org/showpost.php?p=1625154&postcount=5) ?
You would use the default flag on the smaller english for farsi dialogue, and no flags on the full english subtitles I presume?
sneaker_ger
22nd April 2013, 22:08
For an English speaking audience I would force #2 and not flag #1 at all. What I wanted to say is that what people are doing is against the Matroska specs, so I would be careful with the word "canon", but for the reasons discussed (like limitations of DirectShow/LAV Filters) people ignore the specs anyways. Also, most people have no idea about the specs to begin with and are not even aware of the problem.
Also possible and spec compliant on top of that would be to flag #2 "default" and don't use any forced flag. But then some configurations (like only activating tracks marked as forced in LAV) will not work very well anymore.
ranpha
23rd April 2013, 01:36
Unlike DVDs? Both DVDs and Blu-Ray work very similar in that regard. None of them have any forced or default flags on track level, but program everything through the menus. How would your STB know without the menu system which track it has to play? As you said, there is no standard on how to implement forced lines. Sometimes they are an extra track and sometimes they are not. Other times forced lines don't exist at all. The menu will detect the players language (or you set it manually) and then it will tell the player which track to play.
Contrary to what you think, the menus in BDs and DVDs has their own standardized specifications, and that's why STB's can override language selections for both audio and subtitle tracks. The same can also be said for implementing forced lines, whether it was incorporated into the main subtitle track or in a separate track. I can assure you that people at BDA isn't as incompetent as you think they are.
Now as for DVDs, unlike what you think again, flagging can be specified at the menu level. That's why a R1 version of a movie DVD may have different default (or none at all) audio/subtitle language combination than the R3 version of the same movie.
So not following the specs is canon?
I don't really get what you say here. Are you saying displaying two subtitle tracks at the same time violates the spec? Last time I checked, it doesn't. Only KMPlayer and Xtreamer Prodiy can do this properly though. MPC-HC doesn't.
There is nothing wrong with the Case B I have mentioned above. With KMPlayer, if the viewer choose track 5, the close caption will be played, and so are the forced track when the time comes. My only complaint will be that the feature will work well with PGS subtitles, but not for DVD subtitles.
Chetwood
23rd April 2013, 08:56
Now, DVDs and Blu-Rays work differently compared Matroska, because they don't have any default track/forced track markings but select tracks through the menus.
There are no flags for that in the m2ts.
PGS subtitles tracks doesn't have the forced flag option
Where does this come from? Of course do PGS subs come with an internal forced flag so it's not necessary to set forced in the BD menu (or the m2ts). I've uploaded a sample (http://www.sendspace.com/file/6y5s0e) so you can verify this in BDSUP2SUB++.
If the viewers understand English, they won't need subtitles.
I do understand English but being no native speaker, some actors are hard to understand so I always rip the movie with English subs as well and usually watch English/English. With friends we either watch English/German or German/none (some are too lazy to read subs and prefer the dubbed version).
None of your examples fit the spec, because they all have the Elblish translation twice.
Which is not violating the specs, you can have two forced subs in an MKV (what your STB makes of it is another matter).
Second, in my Argo case, where I am interested in only english subtitles, since one track is a subset of the other, there would be no issues even if it did persist on a track switch, since the subs would occupy the same position and have identical content. So presumably using the forced flag in this case would cause no issue?
Matroska cannot mimic a stream with a mixture of forced and non-forced subs. Whenever you set a stream to 'on', all items of the sub are displayed. Thus rippers like MakeMKV offer to extract only forced subs (which doesn't always work due to the variety of forced subs authoring (http://forum.doom9.org/showthread.php?p=1622976#post1622976)). Since both software players and STBs can override any flags, I'm always ripping BDs with forced subs remuxed in order like this:
#1: forced only - flags: forced yes, default yes
#2: regular (includes forced) - flags: forced no, default no
#3: director's comments - flags: forced no, default no
#4: hearing impaired (includes forced) - flags: forced no, default no
The only remaining problem is with players like the WDTV which stupidly ignores the forced setting. So if the WDTV's subtitle default is set to off, the forced sub will not be displayed automatically.
sneaker_ger
23rd April 2013, 11:13
Contrary to what you think, the menus in BDs and DVDs has their own standardized specifications, and that's why STB's can override language selections for both audio and subtitle tracks. The same can also be said for implementing forced lines, whether it was incorporated into the main subtitle track or in a separate track. I can assure you that people at BDA isn't as incompetent as you think they are.
Yes, you can manually override the selection of course, but no player is able to automatically select the correct subtitle without parsing the menu. There are often several subtitle tracks of the same language and without the menu the player has no idea which one - if any - he has to select and whether or not he has to display all or only the forced lines. Look at players/splitters that don't have Blu-Ray menu support, like LAV: It can play the main movie, but at times you'll have to manually select the subtitle track you want because it cannot know the right one. You may also have to activate or deactivate the filtering of the non-forced lines manually depending on the Blu-Ray. I'm not suggesting that the end user has to manually set the audio and subtitle track in the menus, but his player will have to parse the menu in order to automatically select the correct tracks and de-activate/activate non-forced lines.
Now as for DVDs, unlike what you think again, flagging can be specified at the menu level. That's why a R1 version of a movie DVD may have different default (or none at all) audio/subtitle language combination than the R3 version of the same movie.
That's what I've been saying the whole time: the selection is done by the programming of the menus.
I don't really get what you say here. Are you saying displaying two subtitle tracks at the same time violates the spec? Last time I checked, it doesn't. Only KMPlayer and Xtreamer Prodiy can do this properly though. MPC-HC doesn't.
I'm saying that with your examples the Elbish dialog is included in at least two tracks, with one of them being marked as a forced track inside Matroska. That means when you select the non-forced track, a player following the Matroska spec will display the Elbish dialog twice, because it mustn't unselect the forced track ever but will have to display both tracks simultaneously. You cannot really be suggesting to have the same Elbish lines be displayed twice on the screen, can you?
There is nothing wrong with the Case B I have mentioned above. With KMPlayer, if the viewer choose track 5, the close caption will be played, and so are the forced track when the time comes. My only complaint will be that the feature will work well with PGS subtitles, but not for DVD subtitles.
You said this:
5. A Japanese closed caption subtitle track, for those who is hard on hearing, that's also incorporates the translation of the Elvish dialogues. No flag should be set for this track.
Or are you saying that "incorporating" is supposed to mean "does not include"?
Where does this come from? Of course do PGS subs come with an internal forced flag so it's not necessary to set forced in the BD menu (or the m2ts). I've uploaded a sample (http://www.sendspace.com/file/6y5s0e) so you can verify this in BDSUP2SUB++.
I do understand that Blu-Rays and DVDs have the concept of forced lines. That's what I already said above. What they don't have is the concept of forced track flags. Also, authoring houses don't necessarily use the forced line flags for e.g. the Elbish dialog. Now often DVDs and Blu-Rays have multiple subtitle tracks of the same language. A Blu-Ray or DVD player cannot automatically select the correct subtitle without parsing the menu. The VOBs and m2ts' do not carry any information in that regard. Forced lines are not sufficient to make a correct, automatic subtitle track selection because you need to know which track you have to select in the first place. Also, the Elbish lines (or whatever alien language) might not be marked as forced lines at all, so you also need to know whether or not to filter out the non-forced lines.
Which is not violating the specs, you can have two forced subs in an MKV (what your STB makes of it is another matter).
Yes, you can have multiple tracks marked as FlagForced in Matroska and that is perfectly fine. The player should select the one fitting his language or the one that's also marked as FlagDefault. But ranpha's examples only have a single track marked with FlagForced, so that has no relevance to what I have said.
ranpha
23rd April 2013, 11:57
Yes, you can manually override the selection of course, but no player is able to automatically select the correct subtitle without parsing the menu. There are often several subtitle tracks of the same language and without the menu the player has no idea which one - if any - he has to select and whether or not he has to display all or only the forced lines. Look at players/splitters that don't have Blu-Ray menu support, like LAV: It can play the main movie, but at times you'll have to manually select the subtitle track you want because it cannot know the right one. You may also have to activate or deactivate the filtering of the non-forced lines manually depending on the Blu-Ray. I'm not suggesting that the end user has to manually set the audio and subtitle track in the menus, but his player will have to parse the menu in order to automatically select the correct tracks and de-activate/activate non-forced lines.
I think you have just replaced the functionality of a menu with what of a playlist. We are not talking about computer-based players that doesn't have Blu-ray menu support here; we are talking about Blu-ray STBs here. When an STB plays the main video of a BD movie, it will not play the m2ts directly, it will play the main playlist instead. And believe or not, in a multi-lingual BD movie, a playlist will only has one language per audio/subtitle stream per video. And the STB can actually discern between normal subtitles and closed-caption subtitles too.
Please do not drag the MPC-HC + LAV Splitter Source combination here. Both are not smart enough yet to automatically select the correct subtitles yet in a BD disc.
That's what I've been saying the whole time: the selection is done by the programming of the menus.
Only correct for DVD, and then, you assertion is only partially correct.
BTW, look at what I have said before and think about it.
PGS subtitles tracks doesn't have the forced flag option, more often than not, forced lines are line-based, not track-based, unlike DVDs.
I'm saying that with your examples the Elbish dialog is included in at least two tracks, with one of them being marked as a forced track inside Matroska. That means when you select the non-forced track, a player following the Matroska spec will display the Elbish dialog twice, because it mustn't unselect the forced track ever but will have to display both tracks simultaneously. You cannot really be suggesting to have the same Elbish lines be displayed twice on the screen, can you?
Try it with KMPlayer, you will see ONLY ONE Elvish line. Actually, there are TWO of them, but you will only see one. This doesn't work with OCR-ed DVD subtitles of course, which is a flaw in the implementation.
If you do this in MPC-HC, naturally you will see ONLY ONE Elvish line. Mainly because the forced track isn't loaded when the player is supposed to load it.
You said this:
5. A Japanese closed caption subtitle track, for those who is hard on hearing, that's also incorporates the translation of the Elvish dialogues. No flag should be set for this track.
Or are you saying that "incorporating" is supposed to mean "does not include"?
Or are you saying that "incorporating" is supposed to mean "does not include"?
Of course I mean what I said. You never rip BDs with forced subtitles right?
Now a question:- Do you have a BD STB? If you have one and have fiddled with its settings, you should know that its language selection routine has little difference than the ones seen
ranpha
23rd April 2013, 11:59
I do understand English but being no native speaker, some actors are hard to understand so I always rip the movie with English subs as well and usually watch English/English. With friends we either watch English/German or German/none (some are too lazy to read subs and prefer the dubbed version).
Well, that's why the closed-caption track will come in play.
Chetwood
23rd April 2013, 12:48
Well, that's why the closed-caption track will come in play.
Why closed-caption when I can use the regular subs just as well? I'm still not convinced that's the right term for any BD sub.
I'm saying that with your examples the Elbish dialog is included in at least two tracks, with one of them being marked as a forced track inside Matroska. That means when you select the non-forced track, a player following the Matroska spec will display the Elbish dialog twice, because it mustn't unselect the forced track ever but will have to display both tracks simultaneously.
I'm not sure I understand what you mean. What in the specs makes you think that the manual selection of a track during playback should be overwritten by any flag of the container? When you start playback, the player selects the sub according to the flags of the container but the moment you cycle to another sub, only the selected one has to be displayed.
How about you check this sample (http://www.sendspace.com/file/qryw4p) and tell us if it's compliant and how you think it should be played back.
A Blu-Ray or DVD player cannot automatically select the correct subtitle without parsing the menu.
Of course it can by parsing the IFO. All my DVDs and BDs are ripped without a menu. I can use the SETSTN command to make the DVD play back the track that I want (which a standalone can choose to ignore). I also don't see the relevance in your distinction between subtitle lines and tracks. If there's no menu/navigational commands, the player will fall back to the flags of the PGS stream, YMMV.
sneaker_ger
23rd April 2013, 13:50
I think you have just replaced the functionality of a menu with what of a playlist. We are not talking about computer-based players that doesn't have Blu-ray menu support here
Let me get this straight: you are trying to proof your point by saying that players with menu support do correctly and automatically select the correct tracks/playlists? That's an argument supporting my stance - not yours.
And no, without parsing the menu you don't even know what the "main playlist" is. Players without menu support (like LAV) usually just load the longest playlist, but that does not always work correctly and may require manual interference. For example a making-of might be longer than the main movie.
Please do not drag the MPC-HC + LAV Splitter Source combination here. Both are not smart enough yet to automatically select the correct subtitles yet in a BD disc.
Yes, because they do not parse the menus. Nev would've long since implemented correct automatic track/playlist selection for Blu-Ray if it would be possible without parsing the menus.
BTW, look at what I have said before and think about it:
PGS subtitles tracks doesn't have the forced flag option, more often than not, forced lines are line-based, not track-based, unlike DVDs.
Yes, I know that and wrote so more than once. Both DVDs and Blu-Rays have the concept of forced lines. Saying "more often than not" is meaningless in this context. That's like saying "more often than not, Blu-Rays use DTS instead of AC3, unlike DVDs". It does not tell us anything about the automatic selection.
Try it with KMPlayer, you will see ONLY ONE Elvish line. Actually, there are TWO of them, but you will only see one. This doesn't work with OCR-ed DVD subtitles of course, which is a flaw in the implementation.
No, that is not a flaw in the implementation. You rely on players behaving in a way that is not described in the specs. Then you call your non-spec-behavior "canon" and complain when it doesn't work.
If you do this in MPC-HC, naturally you will see ONLY ONE Elvish line. Mainly because the forced track isn't loaded when the player is supposed to load it.
Yes, I know. But the Matroska specs have nothing to do with MPC-HC, DirectShow or any other specific framework/player. If a framework is limited in a certain way it does not change the Matroska specs.
If course I mean what I said. You never rip BDs with forced subtitles right?
It looks like this:
http://www.mediasmartserver.net/blog/wp-content/uploads/2010/02/MakeMKV-Forced-Subs.jpg
Several English audio and subtitle tracks. No information about what is what. Also, the option to only extract forced lines does not guarantee that the alien language lines are actually marked as forced, so you might end up with an empty "forced" track.
Of course it can by parsing the IFO. All my DVDs and BDs are ripped without a menu. I can use the SETSTN command to make the DVD play back the track that I want (which a standalone can choose to ignore). I also don't see the relevance in your distinction between subtitle lines and tracks. If there's no menu/navigational commands, the player will fall back to the flags of the PGS stream, YMMV.
Yes, I consider this IFO programming a part of the menu system, even though you can program it without click-actions on buttons.
I'm not sure I understand what you mean. What in the specs makes you think that the manual selection of a track during playback should be overwritten by any flag of the container? When you start playback, the player selects the sub according to the flags of the container but the moment you cycle to another sub, only the selected one has to be displayed.
Matroska spec concerning forced track flag (http://matroska.org/technical/specs/index.html#FlagForced):
Set if that track MUST be active during playback.
It does not say, "must be active, unless the user chooses otherwise", but "MUST be active" - period - with a "MUST" in capital letters. This also seems to be the interpretation by Mosu, one of the main devs behind Matroska and the de-facto standard implementation.
The spec also has other things that are explicitly defined as to not be made accessible to the end user, like e.g. hidden chapters/editions.
That basically means that the "full" subtitle track would have to exclude the forced lines. Now, no one does that because 1. many players can only play one track at a time, 2. it is different from what peple find on their DVD/Blu-Ray sources and 3. they don't know about the spec anyways.
Chetwood
23rd April 2013, 16:07
Also, the option to only extract forced lines does not guarantee that the alien language lines are actually marked as forced, so you might end up with an empty "forced" track.
No, you're not. When a stream has been parsed entirely and no forced flags were found (which puts the blame on whoever did not author the disc properly), MakeMKV will remove the track from the MKV.
It does not say, "must be active, unless the user chooses otherwise", but "MUST be active" - period - with a "MUST" in capital letters.
I think that's an overly strict interpretation. Gonna ask Mosu about this.
sneaker_ger
23rd April 2013, 16:19
No, you're not. When a stream has been parsed entirely and no forced flags were found (which puts the blame on whoever did not author the disc properly), MakeMKV will remove the track from the MKV.
Oh, I didn't know that makemkv does that automatically. But this is not a fault of the authoring house - the Blu-Ray spec does not dictate anyone to put forced lines into every track.
ranpha
23rd April 2013, 17:05
Let me get this straight: you are trying to proof your point by saying that players with menu support do correctly and automatically select the correct tracks/playlists? That's an argument supporting my stance - not yours.
No, what I want to say is that STBs can select audio/video language that the owner has set in the STB without fail. There is NO SUCH THING such as correct tracks/playlists when it comes to Blu-rays. In an unconfigured STB, the video player will always load the first movie edition, first audio track and no subtitles when a video is played. By configuring the STB to what the owner desire, the player can override the menu and straight to play the movie with the owner's audio/subtitle language preferences EVEN WITHOUT accessing the menu.
Yes, because they do not parse the menus. Nev would've long since implemented correct automatic track/playlist selection for Blu-Ray if it would be possible without parsing the menus.
MPC-HC + LAV Splitter can already choose the correct track/subtitles language, as long as you configure LAV Splitter to do so. Only the playlist selection will still need work.
No, that is not a flaw in the implementation. You rely on players behaving in a way that is not described in the specs. Then you call your non-spec-behavior "canon" and complain when it doesn't work.
No, it is the flaw in KMPlayer's subtitle renderer when it comes to OCD-ed DVD subtitles. Why is that then KMPlayer doesn't have any problems with playing multiple PGS subtitles at the same time? KMPlayer is spec-compliant, unlike MPC-HC is. KMPlayer will not have problems with the Case B if the user select track 5.
It looks like this:
http://www.mediasmartserver.net/blog/wp-content/uploads/2010/02/MakeMKV-Forced-Subs.jpg
Come on man, please do not compare MakeMKV with an STB. MakeMKV will not know what those tracks are. Any decent STB knows exactly what those tracks are. And as pointed Chetwood, many of those checkboxes are created automatically by MakeMKV. Manual inspection is always a necessity for any BD rippers worth its salt.
Why closed-caption when I can use the regular subs just as well? I'm still not convinced that's the right term for any BD sub.
Because that's actually is the correct use for the closed-caption track for those situations.
Mosu
23rd April 2013, 17:42
I'm not sure I understand what you mean. What in the specs makes you think that the manual selection of a track during playback should be overwritten by any flag of the container? When you start playback, the player selects the sub according to the flags of the container but the moment you cycle to another sub, only the selected one has to be displayed.
You're assuming two things: 1. players can only ever display one subtitle track at a time and 2. we meant different things than what we actually did we we wrote the specs.
Citing the specs (http://www.matroska.org/technical/specs/index.html) for "forced":
Set if that track MUST be active during playback. There can be many forced track for a kind (audio, video or subs), the player should select the one which language matches the user preference or the default + forced track. Overlay MAY happen between a forced and non-forced track of the same kind.
Two things to note here:
1. "must be active during playback". Not at the start of it, but during. The whole time.
2. The specs mention explicitly that a forced and a non-forced track of the same kind can be played at the same time.
Yes, our intention had indeed been that players would have to display more than just one subtitle track at the same time in certain situations.
sneaker_ger
23rd April 2013, 17:42
No, what I want to say is that STBs can select audio/video language that the owner has set in the STB without fail. There is NO SUCH THING such as correct tracks/playlists when it comes to Blu-rays. In an unconfigured STB, the video player will always load the first movie edition, first audio track and no subtitles when a video is played. By configuring the STB to what the owner desire, the player can override the menu and straight to play the movie with the owner's audio/subtitle language preferences EVEN WITHOUT accessing the menu.
I'm not denying that a player could override the menu (though I haven't seen that done on an STB before myself). But this selection is a hit-and-miss operation. What I consider correct would be to play e.g. the Lord of the Rings on a player configured to English. The movie would then start with the English lossless audio track and only the Elbish subtitle lines. Now, there is no way without parsing the menu to correctly and reliably do that. The Elbish lines could be in the second English subtitle and not be marked as forced lines.
This is how people usually watch their Blu-Rays:
1. Put Blu-Ray in player
2. Wait till the menu has loaded
3. Press the "play" button of the menu
4. Enjoy the movie with the audio and the forced subtitles in your language.
The selection has been done by the menus in accordance to the player's preferences.
MPC-HC + LAV Splitter can already choose the correct track/subtitles language, as long as you configure LAV Splitter to do so.
No, it cannot. Let's pick up the example from above: the Elbish lines are in the second English subtitle and not marked as forced lines. You're screwed then, because LAV has no idea that it should play the second instead of the first English subtitle and it has no idea that the Elbish lines are not marked as forced. Each of these reasons alone would be enough to make LAV fail.
No, it is the flaw in KMPlayer's subtitle renderer when it comes to OCD-ed DVD subtitles. Why is that then KMPlayer doesn't have any problems with playing multiple PGS subtitles at the same time? KMPlayer is spec-compliant, unlike MPC-HC is. KMPlayer will not have problems with the Case B if the user select track 5.
Because I don't think displaying subtitles twice is non-spec-compliant. It is just your interpretation that it shouldn't, although it doesn't say that anywhere in the spec. You have been relying on your personal idea of a canon that does not exist.
Come on man, please do not compare MakeMKV with an STB. MakeMKV will not know what those tracks are. Any decent STB knows exactly what those tracks are. And as pointed Chetwood, many of those checkboxes are created automatically by MakeMKV. Manual inspection is always a necessity for any BD rippers worth its salt.
You brought up ripping, not I. Still, why do you think that sophisticated softwares like makemkv and LAV are not able to correctly detect and categorize the subtitles if it was so easy? The answer is: because it is not easy. Blu-Ray players don't need any subtitle categories and authoring houses do not need to categorize them. They just mux the streams together and then program a selection (partly automatic, partly through the graphical buttons of the menu) for the job. And of course the viewer can switch tracks freely (unless UOPs are in place) while viewing with the audio and subtitle buttons of the remote.
nevcairiel
23rd April 2013, 19:53
Any decent STB knows exactly what those tracks are.
Actually, it has no clue what those tracks are. It relys on the BDMV or Java menu to let the user select the one he wants to play, the STB itself could not make any better choice as LAV or MakeMKV could.
Its all hidden in programmable logic, and extracing any track information from that is virtually impossible. It could make guesses on the main feature track, but not much more.
Regarding stream selection, the Blu-ray spec outlines how the player should select streams (if the menu doesn't overwrite), without checking i believe it was as simple as "first in the list which matches the wanted language". This may however be slightly weird for those tracks with dedicated forced subtitle lines, since the STB also can't distinguish between those without the menu.
Chetwood
24th April 2013, 06:24
But this is not a fault of the authoring house - the Blu-Ray spec does not dictate anyone to put forced lines into every track.
Of course not. But it mandates flagging items as forced when the track is supposed to be forced, right?
You're assuming two things: 1. players can only ever display one subtitle track at a time
Because so far I haven't seen any that could display more.
2. The specs mention explicitly that a forced and a non-forced track of the same kind can be played at the same time.
Yes, our intention had indeed been that players would have to display more than just one subtitle track at the same time in certain situations.
Thanks for clearing that up, I stand corrected. Still, an odd choice, IMHO. I mean, what about a BD with one regular subtitle track, that has 10 or so items flagged as forced? Since the MKV container has to flag the entire track, the only way for me to watch with forced subs only, is to extract those items to a separate track. And if I don't remove the flagged items from the regular track, playing it, the player will show the forced items twice which might look weird?!
Given the specs I'm also quite astonished to see VLC not displaying sub tracks that are flagged as forced only.
sneaker_ger
24th April 2013, 16:32
Of course not. But it mandates flagging items as forced when the track is supposed to be forced, right?
AFAIK: no. The concept of flagging lines as forced is a tool available to the authoring house, but they are free to not use it.
Thanks for clearing that up, I stand corrected. Still, an odd choice, IMHO. I mean, what about a BD with one regular subtitle track, that has 10 or so items flagged as forced? Since the MKV container has to flag the entire track, the only way for me to watch with forced subs only, is to extract those items to a separate track. And if I don't remove the flagged items from the regular track, playing it, the player will show the forced items twice which might look weird?!
Yes, the situation is really unfortunate. You have the choice between ruining playback on most players and being spec-compliant and can't have both. In retrospect this was either a bad design decision of the Matroska team, lack of properly educating the users or the indifference of player devs.
Or maybe the spec could be extended to accommodate for this, i.e. lines that exist in both the forced and the user selected track should only be displayed once? idk...
mindbomb
24th April 2013, 23:17
And if I don't remove the flagged items from the regular track, playing it, the player will show the forced items twice which might look weird?!
I don't think it would look weird. It would be identical pictures at identical positions. You shouldn't be able to tell that there were forced subtitles on... unless you chose a different language.
Chetwood
25th April 2013, 06:39
AFAIK: no. The concept of flagging lines as forced is a tool available to the authoring house, but they are free to not use it.
I was referring to jdobb's comment: So in the end, there is only really only one truly forced subtitle method. The blu-ray standard spells out how forced subtitles work, not me. The standard says to set the flag.
Is there a link to the complete specs anywhere (no NDA required)?
sneaker_ger
25th April 2013, 23:16
I don't think it would look weird. It would be identical pictures at identical positions. You shouldn't be able to tell that there were forced subtitles on... unless you chose a different language.
But who says they should have identical positions? The specs don't mention it and certain formats, like simple text (srt), don't have positional informations in the first place.
I was referring to jdobb's comment
I don't know what to make of it. jdobbs seems to describe the meaning of "forced subs" in the context of the Blu-Ray spec. But it's not clear if the specs require anyone to actually use the method for alien languages. Both you and jdobbs recognize that this isn't the only method to do that.
Is there a link to the complete specs anywhere (no NDA required)?
Unfortunately not. They are not publicly available.
Chetwood
26th April 2013, 07:20
But who says they should have identical positions?
My example I made about having to remove the forced items from the regular track to stay spec compliant.
Given the specs I'm also quite astonished to see VLC not displaying sub tracks that are flagged as forced only.
Because nobody ever bothered to tell us that it didn't work.
Anyway... fixed in 2.1
mindbomb
1st May 2013, 04:44
well, that is great news.
anyway, i've recently viewed Alexander Noe's version of the specifications, which can be viewed here: http://matroska.org/files/matroska.pdf
He says, "When several subtitle tracks are forced, the one matching the audio language should be chose."
so you could have multiple forced subtitle tracks? Isn't this different than what we were discussing?
Chetwood
1st May 2013, 06:02
Because nobody ever bothered to tell us that it didn't work.
Probably because they didn't expect it to be solved any time soon, like this (https://trac.videolan.org/vlc/ticket/5411). I've always been annoyed by this bug too and was astonished to find a patch already existing for months that just isn't implemented.
sneaker_ger
1st May 2013, 07:30
so you could have multiple forced subtitle tracks?
Yes.
Isn't this different than what we were discussing?
I don't think we discussed what a player should do in the presence of multiple forced tracks, but only what it should do if a forced track exists and the user chooses to select a non-forced track.
Probably because they didn't expect it to be solved any time soon, like this (https://trac.videolan.org/vlc/ticket/5411). I've always been annoyed by this bug too and was astonished to find a patch already existing for months that just isn't implemented.
If the patch hasn't been integrated, then it most likely doesn't work or work as expected.
Some bug are hard to fix, some are not, some just need people with time to fix them. But in any case to fix them we need to know about them. So please report bugs.
I don't think we discussed what a player should do in the presence of multiple forced tracks, but only what it should do if a forced track exists and the user chooses to select a non-forced track.
I agree, a player shouldn't and surely won't bypass user preferences because the people that made the file wanted it.
Not to mention that players aren't really designed to play multiple tracks of same type at the same time.
Chetwood
2nd May 2013, 06:43
To fix bug we first have to know them
Right, but don't you guys have a common pool of various testfiles (different containers, audio, subtitle streams) that are tested against each new build?
I agree, a player shouldn't and surely won't bypass user preferences because the people that made the file wanted it.
Except for forced subtitles of course. No matter what the player is set to, forced subs should be displayed. The WDTV does NOT do this, thus when watching Avatar or District 9, you need to switch on the stream when your device is set to off usually.
Right, but don't you guys have a common pool of various testfiles (different containers, audio, subtitle streams) that are tested against each new build?
In a world were we have enough people to make these files and people to test it. It's very difficult to do with just 6 or 7 people active. If some people want to do that to help, they are more than welcome. Personnaly when I commit I run basic to test that I didn't break everything but apart from playing samples that I dl during my debug tests, seeking. I don't have 10 hours to spend to test everything each time I commit.
Except for forced subtitles of course. No matter what the player is set to, forced subs should be displayed. The WDTV does NOT do this, thus when watching Avatar or District 9, you need to switch on the stream when your device is set to off usually.
Well now it should display forced only subs if you didn't ask in your preferences that you don't want subtitles. Now different default and forced tracks won't work without modifying core, since, once again, most players I know are designed to play only one track of each type.
Chetwood
3rd May 2013, 07:58
I don't want subtitles and set my player accordingly. However, since I don't speak, Navi, Elvish or Klingon, the player should ALWAYS display a forced sub, no matter what. If the player can't display 2 sub streams at once, the it should default to the forced sub.
mindbomb
10th November 2013, 03:20
I don't want subtitles and set my player accordingly. However, since I don't speak, Navi, Elvish or Klingon, the player should ALWAYS display a forced sub, no matter what. If the player can't display 2 sub streams at once, the it should default to the forced sub.
i randomly started thinking about this again. even though these are the classical examples of when to use the forced track flag, the ones with the language that no one could possibly understand, a player that was strictly following the specs would show this under all circumstances. However, what if the user then manually selects a subtitle track like mandarin chinese? Then the english and mandarin would be shown together?
So even in an extreme case like this, it seems like you would be safer just marking it as default.
Chetwood
10th November 2013, 07:59
Which only goes to show that not all usecases have been properly thought through when coming up with the specs.
Chetwood
24th November 2013, 09:13
Citing the specs (http://www.matroska.org/technical/specs/index.html) for "forced": Two things to note here:
1. "must be active during playback". Not at the start of it, but during. The whole time.
2. The specs mention explicitly that a forced and a non-forced track of the same kind can be played at the same time.
Yes, our intention had indeed been that players would have to display more than just one subtitle track at the same time in certain situations.
So what would be the proper behaviour with two forced tracks (English and German) flagged as such? The player has to ignore language preference due to rule 1 and display both simultaneously?
sneaker_ger
24th November 2013, 14:30
The player has to select one of them, either via language preference or the one that has an additional default flag.
Mosu
28th November 2013, 14:38
The languages of the forced tracks are supposed to be taken into account. If you're generally showing German subtitles then all subtitle tracks that are both forced and German should be played as well. If you have exactly two forced tracks with different languages then only one of them should be shown. And if you're generally showing French subs then neither the German forced nor the English forced should be shown.
So in this particular case the player should chose at most one.
Chetwood
29th November 2013, 08:10
And what about tracks that are missing the default flag entirely? Apparently (http://www.makemkv.com/forum2/viewtopic.php?f=1&t=7253) MakeMKV produces them occasionally and VLC e.g. plays such a track automatically as if it were forced.
Mosu
29th November 2013, 09:25
Read this fine FAQ entry (https://trac.bunkus.org/wiki/FAQ%3AElementsNotShowingUpInOutputFile).
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.