MKV SRT Extractor for Samsung Plex users
After I finally built the Gunpla I got a couple years ago (Which I’ll write about later on). I felt more interested about the series, Gundam 00.
Since I watch most of the series and movies with Plex, I set everything up to watch these new series on my TV. The opening started to play, but there was something missing: The subs! Unless you understand Japanese, subtitles are essential.
Unable to watch anything, I tried to figure out whether it was my TV’s Plex client or the Plex Media server configuration. Searching on the web, I found out that the problem was that Samsung’s Plex App doesn’t support embedded subtitles (e.g. subtitles contained in a MKV container file).
But subtitle files on the same root directory were supported, so what I had to do was to use two tools form MKVtoolsnix:
-
mkvinfo to identify the track inside the MKV containing the subtitles.
-
mkvextract to extract the subtitles from the identified track. Since mkvextract is a command line tool, all I needed was to make a small bash script to iterate and extract the subttiles file from each of the MKV files from the current directory:
for file in *.mkv
do
name=`echo $file | cut -f1 -d'.'`
mkvextract tracks "$file" TRACKNUMBER:"$name".ass
done
Even though each subtitle file was extracted and named the same as it’s corresponding video file, the same problem persisted, the subtitle files were detected but not shown.
It turns out that Samsung’s Plex App only support SubRip Text (SRT) files, and the subtitles contained on those MKVs are rich SubStationAlpha (ASS/SSA) subtitles.
Apparently the support for both SSA subtitle files and embedded subtitles were due to Samsung SDK restrictions.
Having no success finding a proper SSA to SRT batch converter (for Linux or OSX), I made a little script to extract those SSA subtitles from the MKVs, and converting each of them into SRT format.
You can grab the script here.
Make sure to have both Ruby and MKVToolnix installed