Extract hard-coded subtitles

I would like to extract hard-coded subtitles from a video I recorded from the screen with OBS Studio. A typical frame from the video looks something like this.

I found a description on how to go about it at this page, but it felt a bit funny that I would have to download a portable version of MKVToolNix to do this rather than using my already installed version.

So my question is: Can I do this in my installed version? And is someone willing to give me some handholding support?


As far as I can tell the article only says to use the portable version so that you can put gMKVExtract into the same folder — which you can do with the installed version as well (with admin privileges, of course).

That being said, the article is pretty wrong about MKVToolNix being able to extract hardcoded subtitles from a Matroska file. It starts of correctly, stating:

Hardcoded subtitles are embedded within the video and they are very difficult to remove whereas Soft subtitles are independent, easy to remove, and can be turned off and on at your convenience.

This is correct. However, the article goes on to describe how to use the combination of MKVToolNix with gMKVExtract (which is a GUI wrapper around the mkvextract command-line utility from the MKVToolNix package) to get a subtitle track out of a Matroska file — having subtitles inside their own track are soft subtitles, not hardcoded ones. Here the article is just plain wrong.

If you really have hardcoded subtitles in a file (meaning you cannot turn the subtitles on & off in your player), then MKVToolNix simply cannot help you.

Thank you for a quick and very informative answer.

Yes, the subtitles became hard-coded as I recorded whatever was on the screen. I could have recorded with or without subtitles, maybe I could do that and then run an application that saves the difference between the two files. (Just kidding.)

I was hoping to extract the subtitles (and subsequently translate them) for the benefit of a Portuguese girl whose English isn’t too good, but I will have to continue my noble quest elsewhere.

There are tools that can OCR certain image-based subtitles (e.g. the ones on DVDs are image-based), but I don’t know if they can also OCR them if they’re hardcoded into the video itself. You might want to look in that direction.

Yeah, that triggered a memory, SubRip to be exact.

I gave it a try but got the error Could not open video file using AviSynth.

However, this gave me an idea, and my ideas are always top class, I might add. What if I burn the video file to a DVD? Will SubRip be more welcoming then? It’s worth a try.