Jump to content

Embedded Forced subtitles do not display


puithove

Recommended Posts

puithove

Videos with forced subtitles are not displaying.  These are MKV with a full PGS subtitle stream embedded.  Stream itself is not forced, but individual subtitles in the stream are marked forced (foreign language parts). 

 

For example - Avatar - English audio stream, matching English subtitle stream.  This is on a fresh install of ET (wiped out all config and started fresh).  Defaults to subtitles as "Only Forced" in the general playback settings in the GUI (which is exactly how I want it).

 

I'm attaching the ET log and also mediainfo output for the MKV file.  I can see that it's not setting the "Only forced" in LAV Splitter - that may be fine if selecting the forced subtitles is handled in the player... but I also see that it's not selecting any subtitle stream so it looks like no stream is being passed to the player.

theater-63607279025.txt

mediainfo.txt

 

For comparison, if I change the subtitle setting to always, it does display all subtitles including the forced ones (did this to confirm that it's able to display the PGS subtitles).  In this case I can see that it is selecting a stream from the file.

theater-63607279939.txt

 

 

<Edit>

Thought it'd be good to try subtitle mode "Smart" also.  Interestingly on this MKV it worked the same as having the mode set to "Always" - it displayed all subtitles even though all my language settings are set to English, and the streams in the file are properly tagged English.

theater-63607280873.txt

 

Edited by puithove
Link to comment
Share on other sites

Stream itself is not forced, but individual subtitles in the stream are marked forced (foreign language parts). 

 

I don't understand that statement.  How are "individual subtitles in the stream marked forced"?

Link to comment
Share on other sites

puithove

I don't understand that statement.  How are "individual subtitles in the stream marked forced"?

 

There are two ways a subtitle can be marked as forced:

  1. The entire stream inside a video container can be marked as forced.  This is at the level of the container metadata (MKV in this case).  If this flag is set, every subtitle in that stream should be treated as forced.
  2. Each subtitle inside a subtitle stream has it's own metadata and can be marked as forced as well.  This is used for English language subtitle stream paired with a English language audio track.  You can choose to display only the forced subtitles so that you see only those for parts where someone is speaking a foreign language, or if you are hearing impaired, you can choose to show all. This way you can have a single subtitle stream that works for both the hearing impaired and others.

This is one of the things that LAV splitter's subtitle options can help with (at least for PGS subtitles).  The "Enable automatic subtitle stream" option creates and passes a new subtitle stream on the fly (one that doesn't exist in the file).  In that stream it will deliver any and only subtitles that are marked forced in either of the ways above - it will evaluate each individual subtitle for the forced flag and will drop it in that automatic stream.  Used in combination with "Deliver only forced subtitles" you will always get only one subtitle stream out of the splitter, and it will have only forced subs from any of the streams with the selected language in the video file. This way the player can be set to show all subtitles from this stream and it'll only get the forced subs from that file.  I've used this and it works well.

 

Since that's only for PGS though I guess, I'm not sure that's viable for ET's player, but using it as an example of how the forced subs can work.  The "Only Forced" option in ET though should work similarly.  It should select the matching language subtitle stream from the file but only display the ones marked forced inside it - unless the stream itself is marked forced in which case it should display all.

 

For media info, please supply the media info as seen in the emby web interface. thanks.

 

Attached for the example file from above.

post-8311-0-64844100-1471778905_thumb.jpg

Edited by puithove
Link to comment
Share on other sites

puithove

Here are a couple screenshots to further demonstrate what I'm talking about.  I exported the subtitle stream from Avatar (you noticed that media info shows the stream as not forced).  I opened it in BDSUP2sub (an old-skool java utility that we used to convert PGS to VOBsub before players started to implement PGS subtitles).

 

Here you can see subs for default language parts (actors speaking english) shown as not forced.

 

57b99781f087d_Screenshot_20160821_075253

 

And parts where the actors are speaking Na'vi are forced.

 

57b99798bac97_Screenshot_20160821_075323

Link to comment
Share on other sites

Guest asrequested

I just tested this. They don't work for me either. Nor in the web app or web client

 

57ba1665124c3_Snapshot_223.jpg

Edited by Doofus
Link to comment
Share on other sites

Guest asrequested

Well you might have to select them if they're not on by default.

 

Toggling on off, makes no difference, I tested that. Curiously, this one displays the sub.

 

57ba193e6ba51_Snapshot_224.jpg

 

I also had forced subs, defaulted. They used to play just fine.

 

57ba19d216555_Snapshot_225.jpg

Link to comment
Share on other sites

puithove

do they work as you expect in the web app?

 

Well, actually, no.  They work the opposite way in the webclient.  It's playing all subtitles, non-forced and forced.  Playback settings as shown in the webclient:

 

57bae9f64ad76_webclientsettings.jpg

 

Non-forced subtitle displaying:

 

57baea1aaebe3_Notforced.jpg

 

 

Forced subtitle displaying:

 

57baeb22a9ef5_Forced.jpg

Link to comment
Share on other sites

puithove

Alright - to make this easier, I've cut a single chapter so I could upload it for you.  It's the same as I've been using above, just transcoded the video track so it'd be smaller to upload/download.  I've verified that the subtitle metadata is a straight copy, and that it works the same during playback.

 

https://drive.google.com/drive/folders/0B_bzwvu0gyw3VndaNXU2cXYzS3c

 

The forced subs outlined above start around 3:15.

 

Also, for reference - Kodi handles this properly.  If you don't mind installing Kodi, you can see it in action.  Documentation around the intended function is here:  http://kodi.wiki/view/subtitles

 

 

Link to comment
Share on other sites

puithove

What about in the web app? http://tv.emby.media

 

Works the same as the Windows ET client.  Playback settings have subtitles set to "Only Forced".  If subtitles are "off" via the CC option in the OSD, then you get no subtitles (not even the forced one).  If "on" via the CC option in the OSD, then you get ALL subtitles.

Link to comment
Share on other sites

Guest asrequested

In your screenshot of the file details in Emby, it says the subs aren't set to forced. Try opening the file in mkvtoolnix, and see if it says they are set to forced. If not, remux and try playing it again

Link to comment
Share on other sites

puithove

In your screenshot of the file details in Emby, it says the subs aren't set to forced. Try opening the file in mkvtoolnix, and see if it says they are set to forced. If not, remux and try playing it again

 

That is not correct.  Please re-read what I've written.

Link to comment
Share on other sites

The problem here is going to be that there is no way for Emby to know that your subtitle stream contains subs that are forced if the stream is not marked as such.  So the subs won't even be delivered to the player in some instances.

Link to comment
Share on other sites

puithove

The problem here is going to be that there is no way for Emby to know that your subtitle stream contains subs that are forced if the stream is not marked as such.  So the subs won't even be delivered to the player in some instances.

 

Right - exactly as I noted from the first log - that it looks like it just doesn't select that stream at all since the stream isn't marked as forced in the container.  However, this is pretty common practice from what I've seen.  This is an example ripped straight from bluray.  It would be more proper to still select the stream, but then decide whether or not to display each subtitle based on the user's settings, and whether or not each title itself is marked as forced.

Edited by puithove
Link to comment
Share on other sites

puithove

Another point of reference - Handbrake also handles this properly with their "Foreign language search" (which is fancy speak for include only the forced subs).  I used to transcode all my stuff and use this to burn in the forced subs - this was before Kodi got it right.  They used to have the same issue.

 

Edit:  Just took a look at current HandBrake (haven't used it in a while), and looks like they're just calling it "Forced Subtitles Only" now - which is more accurate.

Edited by puithove
Link to comment
Share on other sites

Guest asrequested

So if I'm understanding you correctly, the file is a rip from blueray and in the settings you selected to use 'forced'? When I've ripped discs, I also select (if applicable) forced subtitles. But the reality is that they aren't marked as forced, and so I run it through mkvtoolnix to correct this. As you can see in your screenshot, it's not selected as forced. Regardless of how you have created the file, the end result is something that Emby isn't recognizing as forced as is not utilizing it as such, I imagine Handbrake would also mark it as forced. 

 

57bbab965edb0_Snapshot_226.jpg

 

Using mkvtoolnix, you can specify the order, default sub and forced sub. Move your forced sub up and mark it as forced and default. It only takes a minute to remux and everything works perfectly. But maybe I'm not understanding why this won't work for you.

 

57bbad5c3897d_Snapshot_227.jpg

Edited by Doofus
Link to comment
Share on other sites

puithove

No Doofus, you're still not getting it.  Please refer back to post #4 and the example I gave in post #5.  You are still only thinking about the forced flag for the subtitle STREAM (or track, whatever you want to call it).  Each subtitle inside the stream can also be individually marked forced.  The stream can have both forced and un-forced subtitles in it.  THIS is what I'm talking about.

Edited by puithove
Link to comment
Share on other sites

In order for this to work, there would have to be a relationship between a particular audio track and a subtitle track (I guess that exists somehow in the metadata) as well.

 

The bottom line here is that this has several components outside of what we are doing now.  For Theater, we may be able to get it to work but for the system overall there would be a lot of complexities involved - like the fact that many of the players being used wouldn't recognize these special subs and there wouldn't be much we could do about it.

 

IMO (and this could be overridden by Luke or Bab) I think the quickest way you are going to get the solution you want is going to be to create a true "forced-only" subtitle track for these items so it can be selected and displayed properly throughout our system.

Link to comment
Share on other sites

puithove

Yea, that's fair.  Now that I've played with some other playback methods and I see it to be an overall Emby system issue, I know it would be quite a bit more complicated to work out.  You are of course free to determine what functionality Emby implements.  It's important for you to know that this does exist and is not implemented currently.

 

It would seem like the scan process would require scanning the entire video for forced subs, and put a flag on item saying that it needs to load the subtitle track and look for forced subs at playback (or transcoding) time.  Either that, or skip the scan step and just always load a subtitle track if the language matches, look for and only display the ones that are forced.  i can see where this might not be an easy answer though.

Link to comment
Share on other sites

Guest asrequested

I understand, Emby isn't recognizing the text within the subtitles that is marked as forced, so it isn't presented. Emby's forced selection only recognizes an entire stream as forced. That's why I offered an alternate solution. As I've had the same problem you are reporting. It would be nice if when we rip a disc and select the forced option, that Emby would utilize it.

Link to comment
Share on other sites

puithove

I understand, Emby isn't recognizing the text within the subtitles that is marked as forced, so it isn't presented. Emby's forced selection only recognizes an entire stream as forced. That's why I offered an alternate solution. As I've had the same problem you are reporting. It would be nice if when we rip a disc and select the forced option, that Emby would utilize it.

 

Yup, now you've got it.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...