Subtitles trigger transcoding when the selected client cannot render that subtitle stream while preserving the original video playback path.
A movie may direct play perfectly until subtitles are enabled because video, audio, and subtitles are negotiated as one client-specific session. The server may need to extract a text track, preserve complex ASS styling, overlay image-based PGS or VobSub graphics, or keep subtitles synchronized while audio is converted. The first task is to reproduce the change with one file and one client, then identify exactly which stream and compatibility rule changed.
Confirm That Subtitles Are the Only Changed Variable
Play the same title on the same device at the same quality with subtitles disabled, then enable one subtitle track without changing audio, remote quality, or playback application. Record the server dashboard before and after the change.
The playback decision should show whether video moved from Direct Play or Direct Stream to a full transcode and should name the subtitle-related reason when the server exposes it. A Plex troubleshooting case recommends checking the active stream because the playback mode changes only under a particular subtitle and client combination.
If playback was already transcoding before subtitles were enabled, do not attribute the entire conversion to subtitles. Preserve the original reason—such as remote bitrate, unsupported audio, or video compatibility—and note whether subtitles add burn-in or merely remain selected.
Identify Whether the Subtitle Is Text, Styled Text, or Image Based
Inspect the selected track rather than relying on the language label. SRT and WebVTT are simple text formats; ASS or SSA can contain fonts, positioning, animation, and styling; PGS and VobSub are image-based subtitle streams.
Unsupported formats commonly require the server to render each subtitle onto the video frames. A Jellyfin issue describes how unsupported subtitle formats trigger burn-in and can delay or stall the transcoding path.
Compare another track from the same title, preferably a plain SRT track in the same language. If SRT preserves direct playback while ASS or PGS forces a video transcode, the video codec is not the primary problem; the client cannot render the selected subtitle representation directly.
| Subtitle type | Typical client task | Likely server fallback |
|---|---|---|
| SRT or WebVTT | Render plain timed text | Extract, convert, or direct render |
| ASS or SSA | Render fonts, positioning, and effects | Strip styling or burn into video |
| PGS or VobSub | Overlay timed subtitle images | Client overlay or video burn-in |
Use the table as a diagnostic map, not a universal compatibility list. The same format can direct play on one app and force burn-in on another because subtitle support belongs to the player implementation.
Compare the Client App, Not Only the Television or Streaming Box
Test the same account, file, audio track, and subtitle through another client such as a desktop player, mobile app, browser, or different TV application. A display that decodes the video codec may still rely on its app for subtitle rendering.
Client capability can be the complete boundary. One Android TV feature request describes complex subtitles that were difficult for the device to render locally and explicitly notes that server-side burn-in requires transcoding.
If another client direct plays the same combination, keep the server and media file unchanged while checking the failing app’s subtitle burn preference, native player selection, and application version. Replacing the server hardware will not add subtitle support to a limited client.
Check Whether Audio Conversion Changes the Subtitle Path
Repeat the test with a compatible audio track, such as stereo AAC or AC-3 when available, while keeping the video and subtitle track fixed. Some television clients can overlay subtitles only during full Direct Play and request burn-in when the server must remux or transcode audio.
A Plex client analysis documents this interaction: on some smart-TV clients, audio transcoding plus subtitles can force the video into a burn-in path even when the video codec itself is supported.
If changing only the audio track restores direct playback with subtitles, the real trigger is the combined client profile rather than the subtitle file alone. Keep the supported audio track, use a more capable client, or create a compatible secondary audio track instead of re-encoding the original video.
Choose the Least Destructive Way to Avoid Burn-In
Start with a subtitle track the client can render natively. Prefer a correctly synchronized text subtitle when styling is not essential, or use a client that supports the original ASS, PGS, or VobSub track.
Do not automatically OCR or convert an entire library. Text conversion can lose positioning, forced-sign markers, hearing-impaired cues, fonts, and timing accuracy. Preserve the original subtitle and create a compatible sidecar only for titles and clients that need it.
The ZimaSpace explanation of subtitle burn-in cost provides the adjacent mechanism when the server still shows high CPU use even though hardware video transcoding is enabled.
If subtitle burn-in is unavoidable, test whether the server can sustain it in real time before allowing several remote sessions. A GPU may accelerate video decode and encode while subtitle rendering or filter movement still creates a CPU-bound stage.
Validate the Final Playback Combination on the Real Client
Retest the exact remote or living-room client with the selected video, audio, and subtitle tracks. Confirm playback mode, transcoding reason, CPU and GPU use, buffering, subtitle appearance, and synchronization after seeking.
Repeat the test after stopping and resuming the title because some clients renegotiate a different playback path on resume. Also test one forced subtitle track and one full-dialogue track when both exist.
The issue is resolved only when the intended client either renders the subtitle without converting video or completes the necessary burn-in at stable speed and quality. Document the working client, subtitle type, audio track, and burn preference so a future app update can be compared against the same baseline.
Support & Tips
More to Read

Can Plex Share a GPU With Another Docker Container?
Plex and another container can often access the same GPU, but you must test driver support, device mapping, video-engine load, memory, and recovery behavior.

How to Tell Whether a Plex Error Comes From the Client or Server
Reproduce the same item on another client, compare the session path, then collect server evidence only after scope tells you where the failure actually...

How to Configure Plex Cache and Transcode Temporary Storage
Protect persistent Plex state while placing transcode temp files on suitable local storage, then verify cleanup, free space, and restart behavior.

