Automatic Subtitle Position Adjustment for Hardcoded Subtitles

Problem:

When watching 4K (or other high-quality) movies, many releases include hardcoded forced subtitles, often in English for non-English dialogue parts.
When users watch the movie with another subtitle track (e.g. German), these text-based subtitles are overlaid directly on top of the hardcoded ones, since .srt and similar text formats don’t support position markers by default.

This results in visual clutter and unreadable overlapping subtitles, especially in scenes where translations for different languages appear simultaneously.


Suggested Solution:

Add a feature that automatically detects hardcoded subtitles (similar to how Plex already detects intros/outros) and dynamically adjusts the vertical position of text-based subtitles during playback.

  • The detection could be based on frame analysis or existing AI/ML features Plex already uses for scene recognition.

  • When hardcoded subtitles are detected in a specific area (e.g. bottom of the frame), Plex could automatically shift .srt subtitles upwards for better readability.

  • The feature could be toggled on/off or fine-tuned per library or per playback session.


Why this would be great:

  • Provides a clean and readable viewing experience even for mixed-language content.

  • Removes the need for manual editing or re-timing of subtitles.

  • Fits perfectly with Plex’s existing intelligent features like intro/outro detection and credits skipping.

  • Improves accessibility for multilingual users and families.

@Schmitzke

  • Some Plex players like the hosted web app, Plex for Mac, and Plex HTPC for Mac have a GUI option for Subtitle Position that you just have to choose. This is the easiest adjustment for SRTs. (0) Start the move, (1) click, (2) change

Settings.Interface.While.Playing

  • Or you could try a workaround, where Plex players support ASS subs.

  • A second workaround is that a few Plex players support extended SRT position codes.
    Unzip and rename this example SRT to match your movie, then drop it in the folder.

positions.eng.srt.zip (1.0 KB)

For example you should have something like

Spaceballs (1987).mkv
Spaceballs (1987).eng.srt

Play the film and watch it move the text.
See also