Subtitles don't show when casting to Chromecast
Subtitles work in the browser but not on the TV. Why it happens and how to fix it.
The TV needs WebVTT
The Cast receiver reads WebVTT (.vtt) only. SRT files have to be converted; the difference is small. Use the SRT to VTT converter, which also shifts the timing if the subtitles run early or late.
The TV fetches the subtitle file itself
Like the video, the subtitle file is downloaded by the TV, and the server hosting it must allow that (a CORS header). Many sites don't, so the subtitles silently don't appear. Passing the file through something on your computer that adds the header fixes it; Castmate's relay does that and also converts SRT.
Subtitles inside the stream
HLS streams can carry subtitle tracks in the playlist. The receiver lists them but shows none until one is picked. Castmate's cast page shows a subtitle menu and picks your browser's language when it's there.
Burned-in or image subtitles
If the subtitles are part of the picture, they always show. Image-based subtitles (common on discs) aren't supported by the Cast receiver.