Announcement

Collapse
No announcement yet.

Reprodicible bug in forced subtitle handling

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Reprodicible bug in forced subtitle handling

    I think I've found a reproducible bug regarding forced subtitles.

    Requires a Blu-ray that has a PGS subtitle stream with the subtitles in that stream marked as forced.

    I noticed this on Star Wars II Attack of the Clones from the UK Complete Saga box set, but have now reproduced this on several discs. A number of blu-rays with forced subtitles are listed here (google doc) if you don't have that exact disc.

    Process:

    1) Make an Main Movie HDD copy of the Blu-ray (or just the chapter you want to test), marking the stream with the forced subtitles as default by activating the little triangle next to the stream in the DVDFab BD Copy interface.

    2) Play the newly created BD folder in DVD Fab Media Player.

    On Attack of the Clones the 6th (last) English subtitle stream contains only 17 forced subs which start at 05:12 in the movie (chapter 4). Other examples are in chapter 28 and 41.

    Now, what should happen is that any subtitles marked as forced in the stream that was set as 'default' during copying should display in DVD Fab Media Player even when subtitles are turned off in the interface. But they don't.

    What does happen is that when playback of the disc folder starts, either:

    a) Sometimes the first subtitle stream is set active, in which case the forced subs in stream 6 obviously won't display, or

    b) No subtitle streams are set active (subtitles off) but forced subs in the stream that was marked as default still don't display.

    Now the weird part / bug:

    While the movie is playing, select the stream with the forced subs in the player interface and then set subs to off again.

    Suddenly the forced subs in the stream that was marked as default when copying play as expected. i.e. Subs are now set to off, but forced subs in the default stream are still displayed.

    My guess is that DVDFab Media Player is not reading which stream is marked as default when it loads the folder structure or that the stream isn't getting correctly marked as default during the copy process. However, the player seems to remember which stream was last active and will play any forced subs in that stream when subtitles are subsequently turned off.

    Thanks
    Kez

    #2
    Just noticed that you don't actually have to make a HDD copy to see this behaviour as the preview window in DVDFab shows the same thing (shared codebase with the player I guess)

    Streams with forced subs won't display when subtitles are turned off until you select the stream and then set subtitles off again. Then the forced subs display even though subtitles are off - as expected.
    Last edited by Kez; 06-13-2014, 06:28 PM.

    Comment


      #3
      Another update:

      I was using Fab Media Player in simple mode.

      Switching to menu mode the behaviour is different and the subtitle stream marked with the triangle during the copy process is set as active when playback starts.

      This is in line with what Signals said here about the default arrow just turning the stream on, but I wasn't seeing the same thing at the time as I suspect he was using menu mode and I was using simple mode during our testing.

      This is a good work around to get subs displayed but is only really viable when the stream you mark with the triangle during the copy process contains only forced subs or only the translation subs (whether forced or not).

      In a stream where only some subs are forced and others are not, what happens is that all subs in the stream get displayed by Fab as the stream seems to be simply turned "on" by Fab and not actually marked as "default" so that only the forced subs display.

      So two points:

      1) Simple mode should at least work the same as menu mode in terms of recognising which subtitle stream was marked as default during the copy process and making that stream automatically active during playback.

      2) Better would be to have two settings in the DVD Fab Copy interface for subtitle streams, one to set the stream automatically on/active during playback (as the little triangle works now on a stream) and the other to set it as default - meaning "selected" but not active so that only forced subs in the stream will get displayed (i.e. the behaviour I described above when selecting the stream and then turning subs off and the forced subs in that stream still display). This would then be in line with how stand alone players handle forced subs in default streams.

      Kez
      Last edited by Kez; 06-13-2014, 06:38 PM.

      Comment


        #4
        Kez, you are correct that it should not be necessary to manually turn a stream on, then turn it back off to force Player to show only the forced subs. But note that any sub stream that you mark with the triangle in DVDFab (which means "display me by default") will then play all of the subs in the stream on any player that I know of with the possible exception of VLC. I will try to follow your steps and see if it does the same thing for me.
        Supplying DVDFab Logs in the Forum ...........................User Manual PDF for DVDFab v11................................ Guide: Using Images in Posts
        Supplying DMS Logs to Developers................................Enlarger AI FAQ.....

        Comment


          #5
          Hi Signals,

          Yep. That is true, but I have some subtitle streams where only some of the subtitles in the stream are marked as forced, so having all the subs in those streams displayed isn't really a great solution in that case.

          I can provide a single chapter copy of an example for analysis if that would help.

          Cheers
          Kez

          Comment


            #6
            FYI I Just bought the Captain Phillips Blu-ray. Its a perfect example of where the forced subs for the foreign language parts are mixed in with the nonforced English dialogue in the same track.

            Comment


              #7
              So you need to select 'forced only' when ripping which will give you these parts of a sub only. You can't have another track that has the complete subs in your destionation file.

              MultiMakeMKV: MakeMKV batch processing (Win)
              MultiShrink
              : DVD Shrink batch processing
              Offizieller Ãœbersetzer von DVD Shrink deutsch

              Comment


                #8
                That what I do when I rip for my phone or iPad, but I'm not taking about ripping here.

                I'm creating main movie or full disc blu ray folder copies, so the 'forced only' option doesn't even exist.

                Comment


                  #9
                  I think have narrowed the issues down. Apologies in advance for the long post.

                  For the record, I am making Main Movie only blu-ray folder structure copies of discs with mutiple subtitle tracks. I'm not ripping to another format or ISOs. Also, I am talking about true forced subtitles below, not hard-coded subs or non-forced (translation) subs in their own stream, but subtitles where each is actually marked as forced either in their own stream or in a stream with other non-forced subtitles.

                  Issue 1:
                  It appears that in Fab Media Player when using Simple mode that the subtitle stream marked by the triangle in the DVD Fab UI when making a copy is not honored. It works correctly in Menu mode, but this is no good for 3D movies that have forced subtitles as 3D currently only plays in Simple mode.

                  Issue 2:
                  Setting the triangle for a subtitle stream is not a viable option when the subtitle stream contains both forced and non-forced subtitles as all subtitles end up getting displayed in this case, not just the forced ones.

                  Issue 3:
                  When the triangle isn't used during the copy process there is no way to tell Fab Media Player which subtitle stream to play forced subtitles from. There are movies that have forced subs in more than one stream. It appears that Fab Media Player (or DVD Fab during the copy process) chooses the first subtitle stream with forced subtitles and displays those.

                  Testing note: If you only keep one subtitle track (the one with the forced subs) then the issue 3 does not occur. Problem discs have multiple subtitle tracks and the forced subs are not always in the first track.

                  After considerable further testing of use cases and examining commands in the resulting MovieObject.bdmv from each copy I made, I going to take a stab at what the underlying issue is.

                  I'm guessing most of the experts here know most of this stuff already, but I'll explain what I've found in some detail for those who may not. Besides, I documented most of this as part of teaching myself, so thought I'd share

                  I'm hardly an expert though, so If I get something wrong kindly let me know and I'll correct it.

                  ----(skip the italics if you don't want the techy bit)

                  As most people are aware DVD Fab allows you to specify during the copy process a subtitle stream to automatically turn "on" (i.e. have displayed automatically) when the disc/backup is played. This is done by activating the small black triangle next to the subtitle stream in the UI.

                  What setting the little triangle actually appears to do is set the parameters for a SetStream command in the MovieObject.bdmv file.

                  The SetStream command takes two parameters of 4 bytes each: SetStream A, B

                  Parameter A is 4 bytes long:
                  From highest order (leftmost) to lowest order (rightmost) byte it specifies:
                  Byte 4 - Audio stream on
                  Byte 3 - Audio stream number
                  Byte 2 - PGS (subtitle) stream default/on
                  Byte 1 - PGS (subtitle) stream number

                  Note: There is a difference between a subtitle stream being the "default" and it being "on" or active.

                  Marking a subtitle stream as "default" means that in the absence of another subtitle stream being selected by the user to be active/on, the default stream is the one a player should consider "selected" but not necessarily turned "on".

                  If subtitle stream marked as "default" is "off" (not active/on) then only subtitles marked as "forced" within that stream should be displayed. If a "default" subtitle stream is "on", then all subtitles within it should be displayed (both forced and non-forced if they are in the same stream).

                  If a another subtitle stream is turned "on" then it should always be displayed, and this will override the "default" stream (i.e. subs marked as "forced" in the default stream will no longer display because another stream has been chosen and activated.)


                  SetStream Parameter Example:
                  10000000 00000001 10000000 00000110
                  --byte 4---byte 3----byte 2---byte 1--

                  Taking them slightly out of order:

                  Byte 3 (audio stream number):
                  00000001 - indicates audio stream 1 is selected

                  Byte 4 (audio stream default/on):
                  10000000
                  The orange bit =1 indicates that the audio stream specified in byte 3 is the "default". As only 1 audio stream can be played at a time, this also indicates the stream is "on" (near as I can tell)

                  Byte 1 (subtitle stream number):
                  00000110 - indicates subtitle stream 6 is selected

                  Byte 2 (subtitle stream default/on):
                  10000000
                  The red bit indicates that the subtitle stream specified in byte 3 is the "default"
                  The blue bit indicates that the subtitle stream specified in byte 3 is "on"

                  Parameter B is also 4 bytes long:
                  For purposes of this discussion I'll ignore parameter B as it concerns the video angle stream number/default/on and Interactive Graphics (i.e. menu) stream number/default/on conditions analogously to the above which is not relevant to my issues.

                  ---


                  Anyway...Getting back to the little triangle in the DVD Fab UI...

                  So setting the triangle for a specific subtitle stream means that DVD Fab will insert/modify the necessary SetStream command based on your subtitle selection into the MovieObject.bdmv file so that the stream number you selected is turned "on" automatically during playback and also marked as the "default" stream.

                  However, if you don't set the triangle in the UI for a particular subtitle stream it is unclear to me how DVD Fab determines which subtitle stream is the "default" and therefore which subtitle stream forced subs get played from when subtitles are turned off.

                  The behavior seems inconsistent, but near as I can determine DVD Fab seems to choose the first subtitle stream that has forced subtitles in it and makes this the default, but I'm not 100% sure. However it's done, problems can arise when there are multiple streams containing forced subtitles, such as when forced subtitles are used to show the name of who is speaking during director/actor commentary audio streams in addition to translation of non-English speech (e.g. Star Wars, Complete Saga discs. Commentary forced subs are in the 4th and 5th subtitle tracks, while the forced subs for English translation of alien speech are in the 6th subtitle track).

                  Also, setting the triangle in the Fab UI when copying is not a viable solution in certain cases.

                  In particular, the fact that setting "default" and setting "on" for a subtitle stream cannot be separate actions in the DVDFab UI can be an issue when forced subtitles exist alongside normal (unforced) subtitles in the same stream. In this case if you set the triangle for that stream then all subtitles in that stream are displayed. If you don't set the triangle for that stream than there is no guarantee that that stream will be the "default" and that any forced subs in it will play.

                  One solution to this would be to have the ability to mark a chosen subtitle stream as "default" separately from marking that subtitle stream as "on" in the DVD Fab Copy UI.

                  Proposing other approaches would require understanding how DVD Fab chooses which subtitle stream is the default when the triangle is not used:

                  Does it pick the first subtitle stream?
                  The first subtitle stream with forced subs?
                  Does it read the default stream setting from somewhere in the disc structure?
                  If so, is this area of the disc still read when making a main movie only copy? (i.e. is the default subtitle stream information contained in the blu ray menu structure which is dropped from main movie copies?)

                  Anyway, that's it in a nutshell.

                  I hope one of the developers reads this and can provide more info or make a change as proposed.

                  Cheers
                  Kez
                  Last edited by Kez; 06-17-2014, 12:41 AM.

                  Comment


                    #10
                    Hi,

                    I'll try it later and tell you the result.

                    Wilson
                    Please post your logs the default location is:
                    For DVDFab 13: C:\Users\User Name\My Documents\DVDFab\DVDFab13\Log
                    For StreamFab: C:\Users\User Name\My Documents\DVDFab\StreamFab\log
                    Please use attachment button and attach your most recent, Internal log and post right here.
                    If it's the burning issue, please also attach burn log.

                    Thanks!

                    Comment


                      #11
                      One of the problems here is terminology. In DVDFab, the result of the setting the default arrow is as I stated earlier, to turn the sub stream on. It does this correctly and you can verify that the correct bits are set (for DVDs at least) using IFOEdit. The problem seems to be that Fab Player does not correctly read (or act upon) the stream associations in simple mode and therefor does not look for or display forced subs when they are part of the main dialog sub stream and can't display them at all without user intervention when they are in a standalone stream.
                      Supplying DVDFab Logs in the Forum ...........................User Manual PDF for DVDFab v11................................ Guide: Using Images in Posts
                      Supplying DMS Logs to Developers................................Enlarger AI FAQ.....

                      Comment


                        #12
                        Minor correction to my post above:

                        Byte 2 (subtitle stream default/on):
                        10000000
                        The red bit indicates that the subtitle stream specified in byte 3 is the "default"
                        The blue bit indicates that the subtitle stream specified in byte 3 is "on"
                        Should instead read:

                        Byte 2 (subtitle stream default/on):
                        10000000
                        The red bit=1 indicates that the subtitle stream specified in byte 2 is the "default"
                        The blue bit=0 indicates that the subtitle stream specified in byte 2 is "off"
                        Last edited by Kez; 06-18-2014, 03:38 PM.

                        Comment


                          #13
                          Originally posted by signals View Post
                          One of the problems here is terminology. In DVDFab, the result of the setting the default arrow is as I stated earlier, to turn the sub stream on. It does this correctly and you can verify that the correct bits are set (for DVDs at least) using IFOEdit. The problem seems to be that Fab Player does not correctly read (or act upon) the stream associations in simple mode and therefor does not look for or display forced subs when they are part of the main dialog sub stream and can't display them at all without user intervention when they are in a standalone stream.
                          Yes, that seems to be the issue in Simple mode (Issue 1 from my earlier post).

                          I also agree terminology is an issue.

                          Calling the small black arrow (triangle) in the DVD Fab UI the "default" arrow was initially confusing me since it only covers the use case of setting the stream as the default and turning the stream on. Fab Media Player not handling the arrow setting correctly when in Simple Mode didn't help my understanding any

                          The second use case of setting a subtitle stream as default but not turning it on - so only forced subs display in stream that has both forced and non-forced subs (Issue 2 from my earlier post) - is not possible to handle with the current version of DVDFab when making an ISO or folder structure copy of the disc.

                          Interestingly, if you use BDEdit to manually set the correct bits of byte 2 of the first parameter of the SetStream command so a stream is "default" but not "on" (i.e. byte 2 = 10000000), then Fab Media Player handles this correctly as long as you play the movie in Menu mode.

                          Comment


                            #14
                            I just ran another test using the UK blu ray of Troll Hunter to check if alternate audio stream choices are handled correctly.

                            The blu ray has two audio streams:
                            1. Norwegian (the native language of the actors)
                            2. English dubbed voices

                            and three subtitle streams
                            1. Full English subtitles (all spoken words + English translations of Norwegian titles and signs) - to be used with the Norwegian audio track
                            2. Same as above, but also includes hearing impaired cues (e.g. [Loud music playing])
                            3. Only the English translations of Norwegian on-screen titles and signs - to be used with the English dubbed audio

                            I made a HDD copy with using the small black arrow/triangle to set the second audio track and the third subtitle track "on" automatically during playback.

                            Menu mode - plays the second audio and third subtitle streams as set during the copy porcess
                            Simple mode - plays the correct second audio stream but displays the first subtitle stream instead of the third.

                            So it seems that Simple mode only has an issue with subtitle stream selections. Audio choices seem to work fine.

                            Comment


                              #15
                              The QA Team and developers are working on it. All your digging on this will make the fix faster to arrive, so thanks
                              Supplying DVDFab Logs in the Forum ...........................User Manual PDF for DVDFab v11................................ Guide: Using Images in Posts
                              Supplying DMS Logs to Developers................................Enlarger AI FAQ.....

                              Comment

                              Working...
                              X