Subtitles¶
To turn subtitles on, open the settings menu in the player and choose Subtitles. To get them in your language every time, set Settings → Playback → Default Subtitle Language.
Most subtitles appear straight away. Two cases are different:
- The first time anyone picks a subtitle stored inside the file, Evey has to take it out of the file. The player shows Subtitles are being prepared…, the video keeps playing, and the subtitles appear by themselves. On a very large film this can take a few minutes, once: after that, they show at once for everyone. See The first time a subtitle is shown.
- DVD and TV-broadcast subtitles are pictures, not text. The server draws them into the video itself, which makes it work much harder. The profile setting Subtitle Burn-in (Settings → Playback) can refuse this, but then those subtitles cannot be shown. See Subtitle Burn-in.
The rest of this page explains each subtitle format and what it changes for the server.
What each format does to the video¶
| Format | Examples | How it is shown | Effect on the video |
|---|---|---|---|
| Text | SRT, ASS/SSA, WebVTT, subtitles inside the file | Sent alongside the video and drawn by the player, with your Subtitle Style | None |
| PGS (Blu-ray) | hdmv_pgs_subtitle |
Decoded into images once by the server, cached, and drawn by the player as they are | None |
| Other picture formats | VobSub (DVD), DVB, XSUB | Burned into the picture by the server | The video is re-encoded |
Every player (web, Android, Android TV) draws text and PGS subtitles itself, so choosing one never changes how the video is delivered. Only the last row does: burning subtitles into the picture requires decoding and re-encoding the video, so a title that played directly becomes a transcode. Stream info then lists Subtitles burned into the picture.
A picture subtitle is burned in only when you actually select it. A file that merely carries one, or marks it as default, keeps its Direct Play.
Subtitle Burn-in¶
The profile setting Subtitle Burn-in (Settings → Playback) governs the formats of the last row:
| Setting | A selected VobSub, DVB or XSUB track | Text and PGS |
|---|---|---|
| Auto | Burned in, the video is re-encoded. | Drawn by the player. |
| Always burn in | Same as Auto. | Drawn by the player: text is never burned in, whatever the setting. |
| Never burn in | Cannot be shown: the video is never re-encoded for a subtitle. | Drawn by the player. |
The first time a subtitle is shown¶
A subtitle carried inside the file (text or PGS) is extracted by the server the first time someone selects it, then kept: every later viewing, by anyone, gets it at once. When the file's own index covers the track, the server reads only the subtitle's blocks and it takes seconds. Without that index it reads the whole file: several minutes for a large film (a few minutes for a very large file, longer while the same server is streaming).
Meanwhile the player shows Subtitles are being prepared… where the subtitles appear, checks back on its own and shows them as soon as they are ready; the video keeps playing. Choosing another track does not stop the work: the server finishes it for the next time.
A track the server cannot extract stays empty. The failure is remembered, so selecting it again does not start another full read; an update of MKVGo, the library that extracts it, tries again. See MKVGo in Evey for what is read and when.
Choosing and adjusting¶
- The players select the subtitle of the profile's Default Subtitle Language, then the track the file marks as default (a forced track, for example). A track chosen by hand is never overridden, and a new title starts the choice from scratch.
- Subtitle sync in the player shifts the subtitles for the current title (positive values show them later). It applies at once.
- Subtitle Style sets the size, text colour, background, font, shadow and position of text subtitles. PGS images are drawn as they are.
- Upload subtitle… adds a file for the title.
- With an OpenSubtitles key (see Libraries and metadata),
the server API can search for and download a subtitle the file does not carry
(
GET /api/v1/media/{id}/subtitles/search, thenPOST /api/v1/media/{id}/subtitles/download). The file is saved in a.subtitlesfolder next to the film. The apps do not offer this search.