WebVTT subtitles in MKV and sidecar files not detected

Hi guys,

I’m trying to understand the current state of WebVTT subtitle support in Infuse, and I’m hoping someone can tell me whether I’m doing something wrong or whether this continues to be a limitation/bug.

I searched the forum and found several older threads about WebVTT subtitle issues in Infuse, especially reports that embedded WebVTT subtitles were apparently not being played or detected at all. However, I haven’t been able to find clear, current confirmation of exactly what is supposed to work: external sidecar WebVTT files, or only manually imported WebVTT files.

According to the Infuse release notes, support for VTT subtitles was added in Infuse 6.4.4, so I assumed that most, if not all, of these would be supported in some form.

I started this journey with MKV files with WebVTT subtitle tracks inside the container. When I play these files in Infuse on iOS or MacOS, the WebVTT tracks do not appear in the subtitle dropdown at all, and I therefore cannot select or play them.

I then tried using the same WebVTT subtitles as external sidecar files in the same folder, named to match the video file. Unfortunately, Infuse does not seem to detect those either.

The only method I’ve found that works is to manually drag/drop a subtitle file into the playing video. Even then, after dropping the file into the player, each time I still have to go into Advanced Options, scroll down to Subtitles, select “Imported,” and then choose the subtitle language I just added.

This becomes a real problem because I have five subtitle languages per episode. For the first series I’m working on, which has more than 250 episodes, that would mean repeating this process roughly 1,250 times manually. As others have mentioned in previous threads, this would over time create an extremely unwieldy imported-subtitle list as well. In my case, across multiple series, this could easily grow to many thousands of entries.

My questions are:

Are embedded WebVTT subtitle tracks inside MKV files supposed to by now be supported by Infuse? I’m guessing this is still a no, but this is just based on forum contributions and not actual help files or release notes from Infuse.

Are external WebVTT sidecar files supposed to be detected automatically? From what I can tell, this ought to be possible but I cannot get it to work.

Is there a specific naming convention required for VTT sidecar subtitles different from the one I’m using? My files are named like this: Series Title S01E01.mkv for the video file, and then Series Title S01E01.es.vtt, Series Title S01E01.en.vtt, etc. for the subtitles.

Is there a better way to batch-add or manage multiple WebVTT subtitle languages per episode, or is the manual drag/drop import method really the only currently working option?

One other thing I noticed: WebVTT placement does not appear to be respected in Infuse. All subtitles are displayed at the bottom of the screen. When I play the same MKV file in VLC, which handles WebVTT without issue for me, the subtitle positioning is respected correctly, so for example opening credits are not cluttered by subtitles that should appear elsewhere.

I would be very happy to find out that I’ve simply missed something obvious. But at the moment, I can’t get either embedded WebVTT subtitles or sidecar WebVTT files to work in a practical way.

Thanks so much in advance for any advice you can give me.

My experience with webvtt is that as a sidecar file to a VOD via Plex (mpegts in my use case) they work with font colour but not positioning.

When streaming from a HLS live stream with a .vtt sidecar (can’t be embedded to .ts or .mp4) I also have the same experience.

One additional issue I’ve had with hls w/ vtt subs is that if the LOCAL time is some huge number (think added up to 3 years) that infuse just ignore the subs. I had to run the .vtt through a proxy to subtract the large number from both LOCAL and from the cues to get them to display. So still have the same offset to the cues, just was closer to 0.

Thank you, that’s really helpful. Good to hear the positioning thing isn’t just me. It sounds like that’s just how Infuse handles WebVTT at this point.

I’m trying to work out whether our setups are actually doing different things though. Mine are local files on the device (MKV with .vtt sidecars in the same folder, named to match), and Infuse doesn’t pick them up at all. The only way I can get them to show is by adding each one manually via settings. I also tried renaming everything without spaces (dots instead), in case that was tripping up the matching but no change.

So when yours load, do they get detected automatically, or do you also have to add them by hand each time? Trying to figure out whether the difference between us is local-vs-network, or just whether auto-detection works at all for anyone.

And more generally: has anyone actually got Infuse to auto-detect local sidecar VTTs without importing each one by hand?

My guess would be that infuse is just getting whatever info Plex has - so if Plex has detected the .vtt, it appears as a sub in infuse too.

If you remux the subs to .srt, does that help at all? Is it vtt specific or subtitle specific for local files? I suspect it may be the nature of the way your media is seen by infuse.

Would spinning up a Jellyfin server potentially help for infuse seeing them?