sluggo45 47 Posted March 1, 2019 Posted March 1, 2019 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) 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: 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: 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 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 9780 Posted March 1, 2019 Posted March 1, 2019 There is already a feature request. https://emby.media/community/index.php?/topic/62556-setting-to-disable-embedded-subtitles/
sluggo45 47 Posted March 2, 2019 Author Posted March 2, 2019 There is already a feature request. https://emby.media/community/index.php?/topic/62556-setting-to-disable-embedded-subtitles/ I know, I linked it in my post. It didn't go in to detail, got no feedback, and died after 4 posts back in September.
Happy2Play 9780 Posted March 2, 2019 Posted March 2, 2019 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.
speechles 2055 Posted March 2, 2019 Posted March 2, 2019 (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 March 2, 2019 by speechles
Carlo 4561 Posted March 2, 2019 Posted March 2, 2019 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 47 Posted March 2, 2019 Author Posted March 2, 2019 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.
Carlo 4561 Posted March 2, 2019 Posted March 2, 2019 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 47 Posted March 3, 2019 Author Posted March 3, 2019 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
sluggo45 47 Posted March 28, 2019 Author Posted March 28, 2019 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
garavelusta 1 Posted October 15, 2024 Posted October 15, 2024 @Luke Is there any plans to implement this feature or we should just keep removing subtitles from video files?
Luke 42079 Posted October 15, 2024 Posted October 15, 2024 Hi, there's already an open request for this or something functionally equivalent. Please join in and contribute to the existing discussion at:
Recommended Posts