NOTE: This post should be considered deprecated in favor of this update for 2021. I’m leaving this here, but the new post is the preferred version.
Saved here for my own reference, and possibly others’ if they should stumble across it: the easiest workflow I’ve found yet for converting DVDs or Blu-Rays (if you have a Blu-Ray reader, of course) for personal use on OS X, including OCR conversion of subtitles in either VOBSUB (DVD) or PGS (Blu-Ray) format to text-based .srt files suitable for use as soft subtitles, either as a sidecar file or included in the final movie file.
The flow diagram to the right gives an overview of the process I’ve landed on. Here’s a slightly more detailed breakdown.
- Use MakeMKV to rip the DVD or BluRay disc to an .mkv file (if I run into a stubborn DVD, or one with a lot of multiplexing, I’ll use RipIt to create a disk image first, then run that image through MakeMKV). To save space, you can select only the primary audio track for inclusion, or you can select others if you want other languages or commentary tracks archived as well (though this will require more storage space). I also select all available English-language subtitle tracks, as some discs will include both standard subtitles and subtitles for the hearing impaired or closed captions, which include some extra information on who is speaking and background sounds, or occasionally even transcriptions of commentary tracks.
- Use Subler to OCR and export the subtitle files. This takes two runs through Subler to complete.
- First run; drag the .mkv file onto Subler, and only select the subtitle track(s). Pop that into the export queue, and after a few minutes of processing (this is when the OCR process happens) Subler will output a tiny .m4v file.
- Second run; drag that file back onto Subler, click on the subtitle track, and choose File > Export… to save the .srt file(s). The tiny .m4v file can then be deleted.
Now, the OCR process is not perfect, and the resulting .srt file(s) are virtually guaranteed to have some errors. How many and how intrusive they are depends on the source. BluRay subs seem to come out better than DVD subs (likely due to the higher resolution of the format giving better quality text for the OCR process to scan), DVD subs are also affected by the chosen font and whether or not italics were used. For correction, I use one of two methods.
- For a quick-and-dirty “good enough for now” run, I use BBEdit (but just about any other text editor would work) to do a quick spellcheck, identifying common errors and using search-and-replace to fix them in batches.
- For a real quality fix, I use Aegisub to go through line-by-line, comparing the text to the original audio, adding italics when appropriate, and so on.
Of course, these two processes can be combined, done at different times, or skipped entirely; right now, I’m just living with the OCR errors, because I can always go back and use Subler to extract the .srt files for cleanup later on when I have more time.
- Use HandBrake to re-encode and convert the .mkv file (which at this point will be fairly large, straight off the source media) to a smaller .m4v file. You can either embed the .srt files at this point, under HandBrake’s ‘Subtitles’ tab, or if you prefer…
- …you can use Subler to .srt files into into the .m4v: Drag the .m4v file from HandBrake on to Subler, drag the .srt file(s) into the window that opens, and then drop that into the queue for final remuxing (optionally, before adding the files to the queue, use Subler’s metadata search tools to add the description, artwork, and other metadata). Then run the queue to output the final file.
And that’s it. Now, you should have a .m4v file with embedded text-based soft subtitles for programs that support that (VLC, Plex, etc.), or you can just use the .srt file(s) created by Subler earlier as a sidecar file for programs that don’t read the embedded .srt.
thanks a lot for the tips on subler. exactly what I was looking for. the OCR results haven’t been great, but it’s a good start. I found your site as the first result on google. thanks again
Nice — happy to have helped!
Thanks for the well written info. Any thoughts on the handbrake settings you are using?
I’m using settings that I found somewhere on the net during this experimentation. Unfortunately, I didn’t think to save the source, and so at this point I can neither point to the source, nor give justification for just why I’m using the settings that I am other than it seems to be working for me. If I remember correctly, the settings I’m using give a bit more priority to quality than to compression, and I know they keep the original resolution rather than downsampling 1080p video to 720p for space saving reasons. Off the top of my head, the .mkv file from a BluRay rip comes in at around 20GB, and my final .m4v files are coming in at around 5GB after running through Handbrake. Basically, it’s “good enough for me”, but I can’t guarantee they’ll be the perfect settings for anyone else. However, you’re welcome to use my settings as a starting point for experimentation, if you’d like. Here’s the settings as exported from Handbrake, you should be able to import them into your copy of Handbrake: https://dl.dropboxusercontent.com/u/2330241/HB%20Presets.zip
First off, thank you so much for this walkthrough. I’ve been having a terrible time trying to get soft subtitles to show up on my Apple TV and this process seems to have done the trick. Especially with DVD rips, it’s so nice to have nicely rendered text instead of the giant pixelated yellow text of the original subtitle files.
One question though, is there any reason you reimport the SRT using Subler instead of including it when you’re converting the mkv in Handbrake?
Glad this is helping!
As far as using Subler instead of Handbrake, it’s pretty much a combination of two things. The first being that sometimes I’ll use the time that Handbrake is doing the conversion to clean up the subtitle files exported from Subler; the second is that Subler also lets you add metadata about the video (description, cover artwork, etc.) as it saves the final file. If you’re not concerned about including the optional metadata (which, really, most people probably wouldn’t be), there’s no reason not to use Handbrake to add the subtitles during its conversion process.
Thanks a lot. I know Subler and use it almost daily, but was not aware of its power to create subtitles.
Hi! Thankyou for the info and I have tried the process, however I have not been able to get it to work for my Bluray ripped as MKV with MakeMKV. In Subtler, the Export option appears to be greyed out. I would appreciate some help. :)
Many thanks for this – it has been extremely helpful
I can’t thank you enough for this guide Michael, I didn’t think it could be this simple. Your time and efforts are more than appreciated.
Hi djwudi, I just tried to to do this thing in Subler but what I get as a result is not a .m4v file (though a tiny) .mp4 file – with .m4v not being available in the list of formats. If I then load it into Subler again, the format displayed in the list is VobSub (or Tx3g when “convert VobSub to Tx3g” is checke in th Preferences). But with neither of the two formats in the list I can export it as anything at all, as File > Export remains grayed out. Any idea what might be wrong or what I can do?