Jump to content

Feature request: Disable embedded subtitles


Recommended Posts

sluggo45
Posted

I'm partially deaf so subtitles are perhaps more important to people like myself than others. I spend a lot of time making sure I get good external subtitles for my programs. This request - disabling the display of embedded subtitles when the list is displayed -  has come up a couple times, such as this thread, or this one where a user came up with an interesting, but not long term, workaround. However it doesn't seem to go anywhere so let me try to explain the problem.

 

Sometimes you get files with a lot of embedded PGS subtitles. When you do it looks like this:

 

(apologies for the crappy TV screen caps but you get the idea)

 

qeMBUOvl.jpg

 

A long list that doesn't differentiate between external and internal subs (in this case, the two on the bottom are external, though I've found that isn't always consistent).

 

With the Roku client, a list this size completely breaks it:

 

eFmpchll.jpg

 

You can't even scroll that list; it is effectively broken. Which is a separate bug that should be addressed but not the point of this post.

 

Emby's orange-themed competition does this:

 

Ol545MOl.jpg

 

It breaks the list up and also clearly identifies the external files. A lot better, but probably requires client-side changes for all clients for Emby to implement it. There's a much more simple server-only solution here:

 

Give users the option to simply disable the display of embedded subtitles. Since Emby loads the list each time based on the JSON output generated by ffprobe it is pretty straightforward.

 

"But Sluggo45, you can simply use MKVMerge to remove the subtitles!" I know. FFMpeg works too. The problem with this is it is A) it's another post-process step to automate, which many users won't be able to do and B) More important, it changes the file hash. This means (ironically) it'll be harder to find external subs that match as Emby has the feature to match hashes to subs. It can also cause issues with some file systems like ZFS (FreeNAS, etc.).

 

In short, it's a workaround, sure, but not a great one.

 

User @@ddurdle worked around it by piping ffprobe through a simple script that set PGS to "none" whether it had them or not. Creative, but it requires back end work, and complicates upgrades, and otherwise also isn't a great long term solution.

 

However in working out my own solution based on his it occurred to me this is a fairly simple thing for Emby to add as a feature. As a developer myself I am very wary of saying things like "this is so easy, just add it!" but in this case I believe it is true :) At least from what I am able to see of how Emby handles it today (given that the 3.6 source code isn't available, so I had to go by 3.5.x).

 

Emby, after all, already knows how to handle situations where no embedded subtitles are present. So no major changes, or client side changes, are needed. What's needed is an option to disable them, and if said option is true, then when ffprobe reads in the file, set the internal subtitles to 0. Much like ddurdles script workaround does now.

 

I'd recommend making it an option per user, if possible. I think this would be very useful considering all the work that has already gone in to Emby being able to find and download good external subtitles in the first place.

Thoughts?

Happy2Play
Posted

All requests are monitored for feed back as you see in the feature request forum duplicates get linked and locked.  There is no need to create additional topics when you can Like and post in the existing request.

Posted (edited)

@@sluggo45 We know this is an issue. There is presently work being done in this area for subtitles and audio streams while video is playing. We wont be depending on that unscrollable dialog much longer. The audio streams/subtitles chooser changes are coming. Stay tuned.

Edited by speechles
sluggo45
Posted

Awesome, very happy to hear it.

Posted

Just curious but have you thought of scripting a pre-process used before adding files to Emby?

In this script you could remove all subs not in a language you want to keep.  I do this because I don't want the problem you showed with a ton of subs I'll never use/need showing up.

sluggo45
Posted

Just curious but have you thought of scripting a pre-process used before adding files to Emby?

In this script you could remove all subs not in a language you want to keep.  I do this because I don't want the problem you showed with a ton of subs I'll never use/need showing up.

 

I've done this, yes. The problem is it then changes the file hash. This makes searching for good external subs more difficult since the hash is what's used for identification - Emby used to call this "Perfect" matching but I think they renamed it in the latest beta. Anyway, that's what it does (and other programs like Subliminal).

 

I also store my files on FreeNAS, which uses ZFS, and not to get in to the details there but if I retroactively go back and change a bunch of hashes for large video files it can really mess with snapshots.

 

In short it is doable, sure, and better than nothing, but far better still to have Emby give the option to deal with them. Which it sounds like they are working on.

Posted

Yes it would change the hash match feature.  Best bet if you want to go that route is download the sub outside of Emby while processing your files.  For example you pull down the "perfect match" of the subtitle, then remove the subs not needed in other languages.  A great tool for doing this and so much more is.

 

https://github.com/mdhiggins/sickbeard_mp4_automator/blob/master/README.md which is roughly what I use but mine is customized.  It can do a ton of really useful things.

 

Another way this could be "solved" quite easily is an option in Emby server to only show Subs not identified or in X language.  Basically a "filter all but these" option for displaying subs.

sluggo45
Posted

Yes it would change the hash match feature.  Best bet if you want to go that route is download the sub outside of Emby while processing your files.  For example you pull down the "perfect match" of the subtitle, then remove the subs not needed in other languages.  A great tool for doing this and so much more is.

 

https://github.com/mdhiggins/sickbeard_mp4_automator/blob/master/README.md which is roughly what I use but mine is customized.  It can do a ton of really useful things.

 

Another way this could be "solved" quite easily is an option in Emby server to only show Subs not identified or in X language.  Basically a "filter all but these" option for displaying subs.

 

The latter is basically what I'm suggesting.

 

Embedded subtitles are scanned each time the file is read, both via library scan and playback, by ffprobe. Emby server spits the output (of more than the subtitle info, of course) to json and the client interfaces load that list. If there's no embedded subtitles present it just returns a null value and the clients handle it.

 

One option, which can be done via a somewhat complicated scripted workaround now, is simply to report null embedded subtitles whether they are present or not if the option to do so is enabled. The result would be how clients handle it today - only external subs will be shown for selection.

 

Filtering by language is possible too, but slightly more complicated, and you'll still run in to the problem of which is which - for example if you have embedded English subs as well as external Emby will display them both. Manually appending them with a supported suffix like "Default" or "Forced" isn't ideal either (for one, the embedded sub may already be marked as one of those, in which case you'd be back to the first problem). So if language filtering is the path they take (or are taking, it's not clear what solution is actually being pursued) then it would also be necessary to mark external vs. internal subs. Plex already does this as my last screenshot shows so maybe that is the overall best solution? Marking external and filtering by language?

 

Because of my hearing loss I generally display subtitles however the rest of my family doesn't if I'm not there, so the auto-pick feature isn't a good solution. I also have a family member who doesn't speak English and therefore I download Spanish subs for them, which also complicates the auto-pick feature.

 

Basically I would just like it to be easier to display and choose external subs :)

  • 4 weeks later...
sluggo45
Posted

I've got the new updates (beta I think) to the Android and Roku clients and much prefer the subtitle selection menus now, thank you! Big improvement :)

Posted

Thanks for the feedback.

  • 5 years later...
garavelusta
Posted

@Luke Is there any plans to implement this feature or we should just keep removing subtitles from video files?

Posted

Hi, there's already an open request for this or something functionally equivalent. Please join in and contribute to the existing discussion at:

 

Guest
This topic is now closed to further replies.
×
×
  • Create New...