Skip to content

Subtitles

Credenza plays subtitles embedded in your video files and subtitle files saved beside them. How a subtitle reaches the screen depends on whether it is text or a picture, and that difference decides whether turning it on costs your server anything.

Subtitles are off until you choose one. Use the CC button in the player, or Captions in the player’s settings menu (the gear icon), and pick a track. Each entry is labelled by its title if the file gives one, otherwise by language. Forced tracks are marked (forced). A smaller hint beside each entry gives more detail: the language, External for a file on disk, the format, and burned in for picture subtitles.

The player remembers the language you chose, per browser. When the next film or episode starts, it turns on a subtitle in that language by itself. If the file has more than one, it picks a full track over a forced one. Choose Off and subtitles stay off until you pick one again.

Text subtitles (SubRip .srt, ASS and SSA, WebVTT, MP4 text and similar) are converted into a format the browser displays itself, on top of the video. This is the cheap kind:

  • Switching between text tracks, or turning them off, is instant and doesn’t restart the video.
  • They work with direct play, so choosing one never forces a transcode.
  • The browser draws them, so they stay sharp at any size.

The first time you turn on a track that is embedded in the video file, the server has to read through the whole file to extract it. On a large file this can take a little while. The player shows “Preparing English…” (or whichever track you picked) until it is ready, then keeps the result for the rest of the session. Subtitle files beside the video are ready almost at once.

Converted subtitles show the text and its timing. The more elaborate styling some ASS and SSA subtitles use, such as custom fonts, colours and positioning, is not reproduced.

Blu-ray and DVD rips often carry subtitles as images rather than text: PGS on Blu-ray, VobSub on DVD, and also DVB and XSUB. There’s no text to hand to the browser, so the server draws these into the video itself (burning them in). Any subtitle format Credenza doesn’t recognise as text is treated the same way.

Burning in has costs:

  • The video has to be transcoded, even if your device could otherwise play it directly.
  • Choosing or turning off a picture subtitle restarts the stream at the second you were watching, with a new conversion.

Picture subtitles appear in the same Captions menu as text ones, with burned in in their hint. If a file has only picture subtitles, look for Captions in the settings menu instead of the CC button.

Credenza looks for subtitle files in the same folder as the video when playback starts. A file is matched when its name starts with the video’s file name (without the extension) and it has one of these extensions:

Extension Format
.srt SubRip
.ass, .ssa Advanced SubStation Alpha / SubStation Alpha
.vtt WebVTT
.sbv SubViewer
.smi SAMI

.sub files are not supported, because the extension is used both for a text format and for VobSub images, and the two can’t be reliably told apart. .idx/.sub pairs are not picked up.

Whatever comes after the video’s name, separated by dots, dashes, underscores or spaces, describes the subtitle:

  • A language, as a two-letter code (en), a three-letter code (eng, ger, deu) or an English name (English).
  • forced or foreign marks a forced track, one that only covers foreign-language dialogue and signs.
  • sdh, cc or hearingimpaired marks subtitles for the deaf and hard of hearing. They’re labelled SDH.

For example, for a film saved as Arrival (2016).mkv:

Arrival (2016).mkv
Arrival (2016).en.srt
Arrival (2016).en.forced.srt
Arrival (2016).en.sdh.srt
Arrival (2016).fr.ass

And for an episode:

Severance S01E01.mkv
Severance S01E01.en.srt
Severance S01E01.spa.srt

A file with no recognisable language still appears in the list, just without a language name.

Because subtitle files are found when playback starts rather than during a scan, you don’t need to rescan a library after adding one. Start the video again and the new file is in the menu.

The Subtitles section of the playback stats panel shows which track is on and how it’s delivered: Text — drawn by the browser or Burned into the picture. If a video is being transcoded only because of a picture subtitle, the Reason row under Video says so.