I am working on Disc 3 of the "Blade Runner Ultimate Collector's Edition" (DVD), it has 3 versions of the movie (seamless branching).
What I want to achieve is to separate the three versions and put each one on its own disc, keeping menu.
I am almost there but I'm stuck at this point: I need to identify each subtitle stream ID.
I'm using PGCEdit.
For the audio streams I think I got it, but for subs I get numbers like 63 or 65 (in Trace mode), but the subs are identified by numbers like 0x20, 0x21 and so on.
Show me the light.
+ Reply to Thread
Results 1 to 14 of 14
Thread: Identify subtitle streams ID
How did you rip the video and audio? You should try PgcDemux in PGC mode. It should be able to demux each version of the movie (which all should have their own PGC), inculding the subtitles.
The numbers such as 63 to 65 represent the current selected subtitle tracks. You will find those in SPRM 2, but it's nothing you need to worry about. 0x20 and so on are the generic tracks of the subtitles.
Subtitle (and audio) stream numbers are confusing. There are 2 different numbers to identify them.
1. Track Numbers:
In PgcEdit, right-click on a Title and select "Domain Stream Attributes". You will see a dialog with info about the video, audio and subtitle tracks. They have a track number ranging from 0 to 7 for the audio tracks, and from 0 to 31 for the subtitle tracks. It's that number that is displayed to the user when he uses the audio or subtitle button of the remote to change a track. It's also in Domain Stream Attributes that a particular track is associated with a language code and special mode such as "Director Comment". That numbers are also used by the SetSTN command and displayed in Trace mode in the virtual player panel. (However, in SetSTN/Trace mode, the tracks numbers are rarely used alone. They are usually ORed with flags indicating "enabled", "turned on" or "forced", hence the strange values 63 to 65 you can see in the trace panel.)
Note: The DVD-Video specs calls that audio and subtitle tracks "streams", exactly like the real physical streams of the VOBs. Since it's very ambiguous, in the next version of PgcEdit, "stream" will be renamed "track", and therefore "Domain Stream Attributes" will become "Domain Track Attributes". I have decided to abandon the official "stream" term, too confusing, and adopt the mpucoder terminology, used by muxman.
2. Stream Numbers:
To a specific track corresponds one (or several) physical stream(s). The physical streams are the real streams muxed together in the VOBs. Subtitle streams have hex IDs 0x20, 0x21, and so on, but audio streams have different IDs, depending of the audio codec. That IDs are used to identify each stream in the VOB file. They are the numbers you have to know to demux the right streams.
Note that a specific subtitle track can have several different subtitle streams, when the video is in 16:9, because different subtitles can be used when the video is displayed on a 16:9 TV, or on a 4:3 TV in letterboxed or pan&scan mode. (Of course, if the video is in 16:9 and the 2 or 3 subtitle streams have the same ID, that means that the same stream is used, regardless of the display mode of the video.)
In PgcEdit, double-click the PGC to open the PGC Editor. Then click on the subtitle button corresponding to the track you want to analyse. You will see a small dialog with 4 stream numbers. The streams displayed in grey are not used and should be set to 0. The streams displayed in black are real physical streams, and you can see their corresponding hex IDs.
In summary, to determine the ID (or IDs if the video is in 16:9) of a specific subtitle track (say, the French subtitles), you have to locate the French track in "Domain Stream Attributes" and remember its track number, then go in the PGC Editor, open the subtitle track corresponding to that number, and you will see the ID(s) of the physical stream(s) in black.
Thanks for replying to both of you.
Maybe I wasn't clear in my first post, hope to be now.
The problem is that this disc is one of those nasty "seamless branching" DVD, which are a pain in the neck to me since I want to keep menus.
A long trial and error process seems to indicate that DVDFab is the only program (at this time) capable of dealing with this kind of disc so I settled on this workflow:
- rip the disc with DVDFab (Full Disc) as a .iso file.
- reload the image into DVDFab (Customize), pick up all the stuff I want to keep, save as DVD files (VIDEO_TS folder).
- load the files into IfoEdit and remove seamless branching.
- load the IfoEdit output into PgcEdit, delete angles if needed, then working on menu buttons, etc...
This is the only way I was able to backup my "Alien Quadrilogy" DVDs (the ones with the movies).
Now I was trying the same method on Blade Runner (Disc 3 of 5).
I started with the US Theatrical Version, it has the following audio tracks:
- English 5.1
- English (2.0 I suppose)
- French (removed by DVDFab while creating the .iso)
and the following sub tracks:
- French (removed by DVDFab)
- Italian for hearing impaired
- Dutch (removed by DVDFab)
For some reason that I don't understand, when I loaded the files into PgcEdit the movie had more than 4 audio tracks and more than 5 sub tracks (in other words, the audio and sub tracks from the other two versions of the movie were there too).
In PgcEdit (Trace Mode), I managed to find out the ID of the three audio streams (English, English, Italian) actually used (in the Preview Pgc Window, the audio track number is visible) but I haven't been able to understand which are the sub streams that I need to keep.
It's always a pleasure to come across the mastermind behind PgcEdit!
Thanks for your extensive explanation, I knew already much of it but repetita juvant.
I think I can't use your method because there are too many tracks, so I have to understand first which are the ones really needed.
If I understand correctly, the problem is that some tracks are used only by some of the versions of the multi-story movie. Of course, you have to keep only the tracks that are suitable for the version you keep. IMO, you can simply play the movie in trace mode and read its stream number in the trace panel. Repeat for all available streams. Then, subtract 64 from the number displayed in the trace panel to get the track number (the one in Domain Stream Attributes), and you can find easily its stream IDs in the PGC Editor.
It's not a matter of quality, simply all the stand-alone DVD players I've had (two actually) have playback issues with seamless branching backed up discs (even if burnt on DL blank DVD).
The reason is beyond my understanding.
64 (bit 7) is the ON flag. As you know, a subtitle stream can be current but off. To turn it on, the flag must be ORed with the number of the stream. So, to turn, say subpic stream #2 on, you have to use 2 OR 64 = 66. In the SetSTN command, it is also necessary to OR bit 7 (value 128) to tell that the value must be changed, and the correct value is therefore 2 OR 64 OR 128 = 194.
BTW, that means that in fact the correct calculation of the stream number is: Value AND 63. The -64 trick is not sufficient for the SetSTN command. Note also that two special values can exist: 62 and 63, meaning respectively "not set" and "forced". Of course, in that cases, the -64 or AND 63 calculation is irrelevant.
It is very strange that your players crash with seamless branching. When properly burned, that should work with all players. Anyway, it's a good reason to separate the different versions. Good luck!
Uhm... gotta read what you wrote again.
Anyway I think I have to re-rip the whole disc since DVDFab removed some tracks (French) by itself and this confuses me a bit.
It is very strange that your players crash with seamless branching.
It doesn't "crash", at some points it makes small jumps from one point of the movie to another.
I followed the aforementioned method with "Alien Quadrilogy" and it played the discs flawlessly.
Ok, I'm back.
I re-ripped the whole disc with DVDFab, keeping all audio and sub tracks this time.
Then I went through the workflow I described already.
In PgcEdit I was able to tell what is what now.
I didn't have to use the -64 "thing" 'cause the selected sub track was visible on the left bottom part (I don't know why I didn't see it the first time).
I think I understood why there are more tracks then expected: before the movie there's a little (optional) intro by Ridley Scott, I think the extra tracks belong to this clip.
Now this is what I usually do:
- unselect each track that I don't need in DVDShrink (no remap), then shrink.
- re-enable the removed track in PgcEdit (the tracks aren't there actually, but this is needed to have each track labelled correctly by the player).
In this case I think I can disable everything not belonging to the movie or the intro, then re-enable all the tracks dumped by DVDShrink (both in the movie and intro) to restore the status quo ante.
Am I correct?
Anyway, I am almost there, the only problem is that for some unknown reason I can't enable subs via menu (PowerDVD menu, not the DVD menu).
When you remove a track with DVDShrink, it leaves a gap in the list of streams (unless the option to remap the track numbers is ticked), and indeed, that can cause problems with some players. My trick is to duplicate another track to fill the gap. For example, if I have removed, say, track #1, Spanish, and left in place #0 English and #2 French, I copy the track characteristics of #2 in "slot" #1 in Domain Stream Attributes, and in the PGC, I copy the also the stream ID(s). There is a drawback, as the same French track is now present two times in the list, but at least, when I change the track with the remote, there is no empty track to skip any more, and changing it with the audio/subtitle menu works still as expected (although the "Spanich" button leads now to the French language).
Note that in some cases, it is safe to remap the streams with DVDShrink, to avoid the problem of the gap, but that doesn't work always. Unfortunately, DVDShrink is unable to tell you if it can remap the streams safely. There is a function in the DVDShrink plugin for PgcEdit to do just that. It analyse if there are only direct SetSTN commands in the DVD, and when it's the case, it tells you that you can safely remap the streams.
PowerDVD is often picky, and I suppose it can't enable the subs because there is still a gap. Try my trick. Also, verify the PUOs.
Well, I use another approach.
I do not remap the tracks in DVDShrink, then in PgcEdit I reset everything as before.
The removed tracks are mute obviously, but this doesn't bother me, as far as I am able to switch via remote and the menu continues to work correctly.
And it is so usually, everything works both on my stand-alone player and in PowerDVD.
In this specific case there must be something wicked somewhere.
After my last post I noticed that it's not possible to enable the subs from the DVD menu too (other than from PowerDVD menu).
The subs are there (they are visible in the PowerDVD menu), but the option to enable them is grayed out.
I think this kind of issue is easy to fix with IfoEdit, unfortunately it is an extremely user-unfriendly piece of software and I don't know how to do it.
As far as I understand there is no PUO.
I noticed another thing: if I play the ISO (FullDisc) or files ripped from it, PowerDVD freezes just after the WB intro clip.
I bypassed this jumping directly to a menu.
If I try to go to a menu while the movie is playing PowerDVD freezes again.
Are you sure there are no PUOs in the VOBs? (Check them with the PUO plugin for PgcEdit.) Also, if the movie was protected, it is possible that a few cells at the beginning of the movie have the Access Restricted flag set. If it's the case, that can explain why you can't change the subs from the player's subtitle menu. However, the Access Restricted flag affects only the cells where it is set, and they are usually extremely short. And the flag should not prevent to change the subtitles with the DVD menu.
Also, try my trick and re-enable a real subtitle stream by duplicating another one. I doubt that it's sufficient to solve the problem, but it's possible. As I wrote earlier, PowerDVD is very picky!
Anyway, IfoEdit will not help you more than PgcEdit to enable the subs.
I can't help you much more without more info.
Are you sure there are no PUOs in the VOBs?
I installed the plugin you suggested but, unfortunately, I don't understand how to use it.
I used your trick (I mapped the Italian sub track to all the empty tracks), now it works, only I have 7 identical extra tracks.
It bothers me a little but it seems this is the only way this time so I think I'll have to live with it.
In the meantime, I am backing up my "LOST" DVD collection and I stumbled on a very strange problem: PgcEdit says it doesn't found a "target" PGC.
If you could give a look when you have time I'd appreciate it.
The thread is here.