A friend of mine wanted to learn about displaying subtitles by default when DVD is inserted. I initially didn’t know about going about it so we did a search and read a lot of threads and a DVD authoring book. From multiple sources, I decided to post this working method so that people who want to turn on or off their subtitles by default, can hopefully have a easier time understanding.

2/9/2003 NOTE:This guide has been updated in consideration of stripped subpictures. Thanks to jmartina for pointing this out. And also, there is a change in hex value in “Turning Subtitles Off by Default” guide. (previous value was 9f). Thanks to mpucoder for his recommendation.

2/27/2003 Update: You must also set your default subtitle language on your standalone DVD Player.

Tools used:
IfoEdit

Note: Assumption is made in this guide that VTS_01_0.IFO is your main movie’s IFO.
______________________________________________________1. In VTS_01_0.IFO/VMG Overview/ Title Set (Movie) attributes section, we need to find out which Subtitle we want turned on.

Select the following options that describes your subpictures status.

If you did not strip any subpictures out then go to next step.

If you’ve STRIPPED any subpictures, then goto step 4.

______________________________________________________2. Since you didn’t strip any subpictures out, all we need to know is the byte value (highlighted to the left in blue) associated with your selected SubPicture. Write your value down that’s associated with language you want to display.

______________________________________________________3. Go to step 5.
______________________________________________________4. If you had stripped any subpictures, all your remaining subpictures will have shifted up in order but their Ids will be kept. Disregarding your ID : 0x## , use Step 2’s values . Write your value down that’s associated with language you want to display. So, if your Subpicture 32 became Subpicture 3, then your Subpicture’s new value would be C2.
______________________________________________________5. Go to /VTS_PGCITI/VTS_PGC_1/PGC Command Table, and select the following option below which describes your pre commands.

If you have...

...NO "Break" commands in your pre-commands, then go to next step.

...have ANY "Break" commands in your Pre-commands section, then go to step 9.

We need to add another pre-command so right click on any pre-command line and select “Add PreCommand”. You will get a new pre command at the end containing “NOP”.
______________________________________________________7. Double left click on this new pre command line and you will be presented with your HexEdit Module window. In our example, substitute “XX” with the hex value you wrote down in step 2 or 4. Edit the hex value as follows.
OLD > Pre Command...NOP......................................[00 00 00 00 00 00 00 00]
NEW > Pre Command...(SetSTN) Set Subpicture Stream: #(Off)...[51 00 00 00 XX 00 00 00]
______________________________________________________8. Now go to step 16.
______________________________________________________9. Break commands present

Your DVD might have one Break command but some have more. For ease of selecting the right one to work with, we’ll just do them all. So right click on your first break command line and select “Insert PreCommand” on your pop-up menu. You will get a new pre command before your Break containing a “NOP”.
______________________________________________________10. Double left click on this new pre command line and you will be presented with your HexEdit Module window. In our example, substitute “XX” with the hex value you wrote down in step 2 or 4. Edit the hex value as follows.
OLD > Pre Command...NOP......................................[00 00 00 00 00 00 00 00]
NEW > Pre Command...(SetSTN) Set Subpicture Stream: #(Off)...[51 00 00 00 XX 00 00 00]
______________________________________________________11. You may have commands before your new inserted commands that contained “Goto” statements. Pre-Commands have shifted down, 1 line after your SetSTN command, so those prior Goto commands need to be fixed. Just edit them to next hexadecimal number. Just edit the ones from your last break line or if you have just one, from pre-command #1.
______________________________________________________12. Repeat steps 9 to 11 for all pre commands that have that “Break” in them.
______________________________________________________13. Now go to step 16
______________________________________________________14. No Pre Commands

There will be a line near the bottom saying “There is no PGC Command Table.” Right-click on text and select “Add PreCommand”.
______________________________________________________15. You will have a new pre command containing a “NOP” command Double left click on this new pre command line and you will be presented with your HexEdit Module window. In our example, substitute “XX” with the hex value you wrote down in step 2 or 4. Edit the hex value as follows.
OLD > Pre Command...NOP......................................[00 00 00 00 00 00 00 00]
NEW > Pre Command...(SetSTN) Set Subpicture Stream: #(Off)...[51 00 00 00 XX 00 00 00]
______________________________________________________16. OPTIONAL: If you want your subtitle permanently ON and your subpictures button on our remote disabled, just go to your /VTS_PGCITI/VTS_PGC_1/Prohibited user operations and double click in section. Check “Subpicture Stream Change” and press OK
______________________________________________________17. Save VTS_01_0.IFO
______________________________________________________18. Get VTS Sectors
______________________________________________________19. Press DVDPlay to preview and test.
______________________________________________________

Turning Subtitles OFF by Default

Note: Assumption is made in this guide that VTS_01_0.IFO is your main movie’s IFO.
______________________________________________________1. Go to /VTS_PGCITI/VTS_PGC_1/PGC Command Table, and select the following option below which describes your pre commands.

If you have NO break commands in your pre-commands then go to next step.

If you have ANY “Break” commands in your Pre-commands section, then go to step 5.

If you NO pre-commands present, then go to step 10.

Note: Using the preferred value of 0xbe will disable the subpictures completely. This is interpretted as Stream 62 off as there can never be a stream 62. It will be confusing to know that (SetSTN) Set Subpicture Stream: 30(On) should really say “Off” in the following steps. This is an error that Derrow, IFOedit’s author, needs to fix.
______________________________________________________2. NO break commands

We need to add another pre-command so right click on any pre-command line and select “Add PreCommand”. You will get a new pre command at the end containing a command “NOP”
______________________________________________________3. Double left click on this new pre command line and you will be presented with your HexEdit Module window. Edit the hex value as follows.
OLD > Pre Command...NOP............................................[00 00 00 00 00 00 00 00]
NEW > Pre Command...(SetSTN) Set Subpicture Stream: 30(On).........[51 00 00 00 be 00 00 00]
______________________________________________________4. Now go to step 12.
______________________________________________________5.Break commands present

Your DVD might have one Break command but some have more. For ease of selecting the right one to work with, we’ll just do them all. So right click on your first break command line and select “Insert PreCommand” on your pop-up menu. You will get a new pre command before your Break containing a command “NOP”
______________________________________________________6. Double left click on this new pre command line and you will be presented with your HexEdit Module window. Edit the hex value as follows.
OLD > Pre Command...NOP............................................[00 00 00 00 00 00 00 00]
NEW > Pre Command...(SetSTN) Set Subpicture Stream: 30(On).........[51 00 00 00 be 00 00 00]
______________________________________________________7. You may have commands before your new inserted commands that contained “Goto” statements. Commands shifted down 1 line after your SetSTN command so those prior Goto commands need to be fixed. Just edit them to next hexadecimal number. Just edit the ones from your last break line or if you have just one, from pre-command #1.
______________________________________________________8. Repeat steps 5 to 7 for all pre commands that have that “Break” in them.
______________________________________________________9. Now go to step 12.
______________________________________________________10. No Pre Commands

There will be a line near the bottom saying “There is no PGC Command Table.” Right-click on text and select “Add PreCommand”.
______________________________________________________11. You will have a new pre command containing a “Break” command Double left click on this new pre command line and you will be presented with your HexEdit Module window. Edit the hex value as follows.
OLD > Pre Command...NOP............................................[00 00 00 00 00 00 00 00]
NEW > Pre Command...(SetSTN) Set Subpicture Stream: 30(On).........[51 00 00 00 be 00 00 00]
______________________________________________________12. Save VTS_01_0.IFO
______________________________________________________13. Get VTS Sectors
______________________________________________________14. Press DVDPlay to preview and test.
______________________________________________________

Stream 31 is not "off", it is just very unlikely that it will be present. There can be as many as 32 subpicture streams, numbered from 0 to 31 (0x00 to 0x1f, or substream numbers 0x20 to 0x3f). The designation for "off" is stream 62 (ox3e, combined with the required flag to cause the new value to be stored is 0xbe).
I know IfoEdit is messed up in its interpretation, and we had a long thread about the values. Since that was awhile ago, it bears repeating.
value meaning
00-7f will do nothing, bit 7 must be set to cause any change
80-9f stream 0 to 31 selected, but off
a0-bd meaningless
be no subpicture
bf stream 0 forced, but off - ie, invalid
c0-df stream 0 to 31 selected and displayed
e0-fe meaningless
ff stream 0 forced and displayed.

Sorry if I am in the wrong department but this sounds a little like what I want to do. I am reauthoring with ifo edit and do include some subtitles. Among them, I have the alien subtitles (i.e Klingon or Elvish translations, usually only a few lines in the movie).

I did some search and found out that I can not only label them with the propper language, but also with the propper extension as forced. (I think I had to right click on them or something like that to get an extended menu) Unfortunately, this did not make them play by default. I would like to have the alien subtitle come up that corresponds with the preset audio language. When I see the original, I see the klingon translation in my native language, not in english. (though my subtitles are set to off in my player) I would like to get this effect recreated. Perhaps I didn't search for the right term? Perhaps someone could help me with a link or a short explanation?

1. In VTS_01_0.IFO/VMG Overview/ Title Set (Movie) attributes section, we need to find out which Subtitle we want turned on. All we need to know is the number (highlighted in blue) associated with your selected SubPicture. See example below. Write your number down that’s associated with language you want to display.

A little correction:

Blue number IS NOT important! Let's say that during language striping
in IFOEdit you lefted only English and Spanish Subtitles and have:

Thanks for pointing that out. The example I've used wasn't stripped of any subtitles and the most subtitles I've ever encountered on a DVD is 5. I didn't take into consideration that maybe all 32 subtitles would be present. I'll make the necessary changes to the guide as well as mpucoder's recommendation on using "BE" as our value for subpictures off.

I have succeefully authored StarWars II to play as on the original disc for zone two. I have removed all the subtitles except the english and forced "alien" subs. I folloed 2Cools method to the T for forced subs. It works on DVD play in ifoedit and on Power DVD

However, when I play the disc on my Pioneer 535, no forced subs are available and only the english ones come up when requested via the hand set.

[font=century]C0 SubPicture 1: Language (2-bit rle ) (ID: 0x20) C1 SubPicture 2: Language (2-bit rle ) (ID: 0x21)
__________________________________________________________________________14. There will be a line near the bottom saying “There is no PGC Command Table.” Right-click on text and select “Add PreCommand”.
__________________________________________________________________________15. You will have a new pre command containing a “Break” command Double left click on this new pre command line and you will be presented with your HexEdit Module window. In our example, substitute “XX” with the hex value you wrote down in step 2 or 4. Edit the hex value as follows.

Seems a bit confusig for me here. In my case of a RC-2 Buffy DVD with only english/german subs I do not have any PGC Command Table so I insert my own Pre-Command as you did in step 14. Now I want the second subtitle stream (German) to be turned on by default so I would have to add the value 'C1'. But do I really have to do it manually? I did a right-click on the newly generated emtpy command line and selected 'edit command' and in the upcoming drop-down box I selected

Well, I'm not digging it totally but it seemed to work ok. I just got confused cause my method of using the pulldown menu instead of manually changing the settings also came up with the same results. I guess, by turning off the primary subtitle stream PowerDVD and my standalone automatically switched to the next stream which in my case was the one I desired.

And this makes me wonder: would it make any sense to also set the default audio stream to make a more standard-compatible DVD that is likely to run in more standalones? You see, I ripped three eps from a Buffy DVD that has 4 eps, I changed the number of chapters to 3 so you can skip straight to the next ep and I changed the fuzzy green subtitles to the normal white ones. So far so good.

However, it appears to me that by making my own DVD over several steps I still may not have set all the standard 'settings' a DVD requires. I guess that both PowerDVD and my standalone did not find any command as to which audio/subtitle to display so they just picked the first ones they could find in the vob, which was english.

Maybe by also setting this with a pre-command as I did on the subtitle would result in a more standard conform DVD? OTOH I'm maybe just getting too technical...

Is this a better way of turning subs off by default? The Stream-62 method works, but I've noticed that my Apex standalone player seems to be displaying an (invisible?) subtitle stream as a result. When I press the "Subtitle" button on my remote, the TV displays "SUBTITLE OFF." The second press displays the subtitle(s).

I've authored a disc using the "80" pre-command shown above, and it works like I want it to: first press of the "Subtitle" button on my remote brings up subtitle (only one subtitle stream on this test disc), and the second press turns it off. My question is, is there anything wrong with this method? I know Apex players aren't very picky, am I running the risk of this disc not playing on other standalones?

Thanks for your guide, 2cool!
I got a DVD and have no subtitle these days.
I am trying to add a new subtitle in my movie and follow your way to change my subtitle settings, but the new subtitle just can display in IFOedit's "DVD PLAY" option, if I preview it in my POWERDVD player,it gone and with nothing subtitle be choosed.

Originally posted by XCPU Thanks for your guide, 2cool!
I got a DVD and have no subtitle these days.
I am trying to add a new subtitle in my movie and follow your way to change my subtitle settings, but the new subtitle just can display in IFOedit's "DVD PLAY" option, if I preview it in my POWERDVD player,it gone and with nothing subtitle be choosed.

PS. I remux the main movie in IFOedit.

If I understand correctly, you have a DVD with no "existing" subtitles. I don't see how you could get subtitles in by just remuxing the m2v file. You would to use IFOedit's "Author New DVD" feature to mux in a subtitle stream. Did you say that it "can" display in IFOedit but not in PowerDVD? Hmmm...