Where subtitles live: embedded and external
A video file (MKV, MP4) is a container holding a video track, an audio track and subtitle tracks at the same time. Subtitles sealed inside are embedded; a separate .srt / .ass file sitting outside is external, and an embedded track is also called muxed in.
External subtitles can be used as they are. The problem is the embedded ones: to edit them, translate them or build a bilingual track from the original, you have no subtitle file in hand — you have to read the track out of the container first. This step is not transcoding: the video is not re-encoded, only the data already stored in the container is read out.
Which container carries what
Different containers hold different subtitle formats, and extraction difficulty differs too:
- MKV / WebM — the most permissive: plain text, ASS and WebVTT tracks all fit, and multiple language tracks are common.
- MP4 / MOV — usually a `mov_text` / `tx3g` track: plain text with a little style information.
- Plain text track — comes out as text and becomes SRT directly.
- ASS track — carries a style header and resolution; exporting ASS preserves them, exporting SRT leaves only the text.
- Image subtitles (Blu-ray PGS, DVD subtitles) — store pictures, not characters, so no text can be extracted.

Why image subtitles cannot be extracted
Blu-ray PGS and DVD subtitles store no characters at all, only a series of images with an alpha channel. When a player shows them it is pasting a picture, not rendering text.
So there is no text in such a track to read — it is not that the tool does not support it, it is that no characters are there. The page says plainly when it runs into one.
The only way to get words is to recognise the characters in those images first (OCR) and build subtitles from that. That is a separate process from pulling a track out.
What usually comes after extraction
What comes out is the track as it was: the tool does not guess encodings and does not correct timelines. So two things come up often:
One is garbled text — an encoding problem in the source track that comes out garbled all the same; go to How to repair garbled text to identify the encoding. The other is wrong timing — whether the source has an intro logo, or the frame rates do not match, the result is offset as a whole; use Timeline adjustment to offset or scale it.
After that, to translate go to Subtitle translation, and to make it bilingual see Two ways to make bilingual subtitles.

A few things easy to get wrong
Extracting subtitles is not burning them in. The video is not re-encoded, so picture quality and audio are unaffected.
Extraction does not affect the original file. Read only, never written, and not a byte of the video changes.
A large file being slow is not a connection problem. The tool scans track information chunk by chunk, and the bigger the file the longer it takes; all of it happens locally.
External subtitles do not need this page. If you have a .srt / .ass, go straight to Format conversion; only subtitles sealed inside a video need extracting first.
Related tools and guides
For the full walkthrough see How to extract subtitles embedded in a video; to translate what you extract go to Subtitle translation, to make it bilingual see Two ways to make bilingual subtitles; for garbled text start with Garbled text repair.