Subtitles "only with foreign audio" option

Hi all, new user here. I recently switched to using Infuse from Plex chiefly to get higher quality audio vs what Plex on the ATV can provide (yes, I’m aware of the current DTS passthrough issues and solutions). Although I’m generally satisfied with Infuse, one thing it is lagging behind in is handling subtitles, at least compared to how Plex handles them. It seems to be basically an all-or-nothing affair, at least when it comes to non-forced subtitles. I have a lot of non-English movies with SSA or SRT subs and the way Plex handles these is to recognize that my preferred audio language is English. If it detects an audio language other than English, it will then display English subtitles if available. Infuse won’t handle them in this intelligent manner and instead has a more simple “On” or “Off” option. The problem this causes for me is that I sometimes have English subtitles available for English-language movies that I don’t want on normally, but sometimes do turn on if I have trouble understanding what’s being said in a scene. This is chiefly a problem for me in scenes where the actor has a heavy accent, or sometimes where they are speaking very softly.

The workaround that I’ve seen recommended and am using is to have subtitles turned “Off” in Infuse’s settings but change the properties of the subtitles to “forced” in the movies that I always want these on for. It’s an adequate solution for embedded subtitles since it’s so easily done using jmkvpropedit, but far from elegant. Still, it’s an incomplete workaround because this is only effective for subtitles embedded in the mkv file. For external subtitles, I’ve found that Infuse doesn’t read the “forced” modifier in the file name, and so the workaround doesn’t work in these cases. So I’m back to an all-or-nothing affair. Just as an fyi, the reason I have started using external subtitles is to make it easier to edit them if I have an error or want to adjust the font size. I prefer to OCR the subs from my own blu-rays and use the SSA format over SRT so I can control the placement of the subtitles. For widescreen movies, I actually prefer them at the bottom of the video rather than in the black frame below the video so I don’t have to glance far from the scene to read them.

At the minimum, I need Infuse to recognize the “forced” modifier in the name for external subtitles. Ideally, it would also adapt Plex’ method of recognizing “foreign” audio and auto-select subtitles as a result.

+1

This is something I would love. I also have plenty of movies and shows in various languages. I would love to see the Plex way of handling intergrated into Infuse. Switching on and off is annoying and I have too many files to go back through to switch to forced. This is one of the last major things I’d love to see in the Infuse app.

Also hoping for some more audio/subtitles options. Another problem i have is that infuse always picks the english audio track even if it isn’t track 1. I’m watching a lot of Anime and really can’t stand the english dubbed versions. My workaround so far is to set my default language to japanese, what is a problem when there is a japanese audio track for english movies, also it wouldn’t work with subtitles with foreign audio anymore what is much needed indeed.

Is there any update or plan for this to happen? Would be great to have this feature! Thanks in advance

There’s an easy way to change the properties for subtitles in your mkv files if you want to do this, barring Infuse getting updated as suggested here. Grab an app titled “JMkvpropedit” on GitHub. The pre-compiled download includes a Windows exe and a JAR version for other operating systems (works great on macOS). Just drag and drop all your subtitled videos into the app; switch to the “Subtitles” tab; adjust the properties to “Forced”; and click “Process Files”. It takes just seconds to run. There’s no re-muxing involved here… just the internal metadata is changed.

Well folks, a partial solution has been implemented in the update posted yesterday. An option to select “Forced only” subtitles was added, which seems to really just address the problem with external forced subtitles since having subtitles set to “off” would still let forced subtitles through if they were embedded in the video file. Not “quite” the complete “with foreign audio only” solution we were hoping for, but this definitely helps a lot.

Hi, was wondering if there was any update on this? So many of my English language shows and films have subtitles built into the file so remuxing them would take so long. The function is already in the plex server, for the subtitles to only appear for foreign audio. This would be an incredible addition. Would like to add that I super appreciate everything you guys have done. My primary plex app these days and have made it enjoyable viewing my content on the Apple TV. Thank you!

Unless/until Firecore addresses this, there is an easy way to flag an embedded subtitle as “forced” without remuxing it. I wound up doing this myself. Look up an app titled “JMkvpropedit” on GitHub. The download comes with a Windows executable and a .JAR version that runs on pretty much anything (I use it on macOS). It’s super easy, just add your mkv files to the input list; switch to the Subtitles tab; check “edit this track”; check “forced track”, set to “Yes”, then hit apply. It will simply apply that flag to the existing files you put in the list without remuxing. Takes under a second, maybe a couple seconds for very large lists of files. If you have multiple subtitle tracks in one file, then you’ll need to determine which one you want to be the “forced” one in advance, then apply the change to the correct subtitle track number.

Was wondering if there was any update on this? Any plans at all? Plex has this built in to the server so is there a way to just use that function and copy it over to infuse. Or just implement natively to infuse. I have way too many shows and films to go back through and change subtitle tracks etc. I only want subtitles for non English audio tracks. This would really make this the perfect player for me. Thanks!

I’d like to see an additional option for controlling subtitles.
Currently, there are only the subtitle options: “On”, “Forced” an “Off”.

But I think the most obvious one is missing, something like “On for foreign audio”.
I’m Swedish, and I want subtitles enabled for all movies with non-Swedish audio, but NO subtitles for Swedish movies…

Right now I’ve set subtitles “off” so my kids can watch their movies (dubbed in Swedish) without subtitles, but whenever I want to watch something (almost always with English audio), I always have to fiddle with the subtitles setting per-movie…

Not a big deal, but it’s getting a bit tedious, and I suppose “everyone” would like a “On for foreign audio”-feature really :slight_smile:

Cheers,
Tobias

It is a standard feature, that infuse lacks.

The way it is supposed to work is: you set your language. The app then gets this from system settings, or app settings can override default system settings. If a subtitle track is set “forced” that one is shown. If not, then if a subtitle track is set “default” then that subtitle is shown. If not (no forced and no default subs), then if the audio is not in your language (as determined by metadata tag), then an app setting takes effect to show the subtitle in your language if one is available.

The 3-valued subtitle setting in infuse needs to be 4-valued, with a new value as you suggest.

The subtitle on setting should be reserved for SDH subs. The limitation there, however, is that no container has tagging for SDH subs. Infuse could look at the name of the sub and if it include ‘SDH’, prefer that sub for the ‘on’ setting.

Wow. Going on two years now and NO progress on this front? Plex handles these properly. MrMC handles these properly. Kodi handles these properly. Literally everything EXCEPT Infuse handles subtitles properly. What the actual freaking heck?

Agreed this is pretty bad. It seems like such a small feature to implement but makes a huge difference to the use experience. It’s the one major thing that lets Infuse down, such a strong product otherwise

Right, it’s almost like they don’t care about subs. I’ve had a second issue with subtitles for a long time that I finally raised a couple weeks ago (see link below) but no one so much as acknowledged or asked for more information on it. I finally more or less narrowed the problem down myself, but still not a peep. I quite frankly am skeptical that this will get fixed, and it’s deeply aggravating. I’m in the process of overhauling my library files since I decided to start embedding cover art and the subtitle files back into the mkv video files to clean things up a bit, and I’m having to make adjustments to the metadata after re-muxing just to accomodate these flaws in Infuse.

Bump! Could be a great feature

I had this cool idea recently and figured its worth mentioning here.
A weird but common issue with films is that often there can be a scene where characters speak in a foreign language to the language of the film. This is often done intentionally to preserve thematics and obfuscate what they are saying, however sometimes it’s not clear if this is intentional and there can be extended dialogue which confuses the viewer.

Most importantly, often times this audio is not represented in subtitle files, or when it is having the subtitles on during understood spoken language dialogue is distracting.

The idea was to be able to intelligently display subtitles for foreign languages only when they are spoken.

To achieve this one could possibly:

  • Track the existing language via meta data
  • Train a NN on language classification
  • Read ahead and check to see if the language deviates
  • If so, display subtitles (potentially checking for deviation in the text as well) only during that period, in fact some deeper analysis of different srt files across languages might actually prove valuable to this prediction
  • Alternatively offer an option to transcode using STT, potentially even offline with a model like DeepSpeech, and then feed through a translation model like Google Translate.

I totally get that this is a non trivial idea, but I wanted to write it down anyway since I think it really stands out as something which is truly intelligent and only really possible within very recent advances in DL and Edge Hardware.

Or simply use a subtitle file that contains the relevant only

Hint:
Forced subtitle

If only it were that simple. It seems that the existence and reliability of forced subtitles varies greatly between releases, as shown by this 47 page thread attempting catalogue and describe methodology for reliably extracting them.
https://www.avsforum.com/threads/movies-with-forced-subtitles.1176923/page-47

The goal is the same “Automatic Foreign Language Subtitling”, however I suspect implementing it in a fool proof way will require some combination of intelligent subtitle suppression and possible real time ASR and translation to reliably support any media and any language.

I am open to suggestions on other approaches to achieve this in a completely automated way. However having worked with DeepSpeech for ASR and NLP tools for text translation, and given the enormous power of the Apple TV hardware this is not out of the reach of possibility, albeit a very challenging task for which the initial use case appears small. Later however I would fully imagine we would expect this kind of real time contextual understanding to be developed for media viewing to augment the experience in other unanticipated ways.

Bizarre that this hasn’t been fixed.

It would be awesome if there was a way to correlate certain subtitle languages with certain audio languages. For example if the video has English audio the subtitles aren’t there but if the video is playing with a different audio it automatically plays with subtitles. So if I’m watching a show in Japanese the subtitles are automatically activated to a preset language and if I’m watching content in English it’s set so no subtitles play. Plex has this feature and it would be awesome if infuse could implement it.