Extract subs from (non-encrypted, on hard drive) DVDs and convert to Advanced Substation Alpha format. It can also convert sup (PGS) and sub/idx formats to same. 'I wrote this because I hate the blocky, too-high-on-the-screen look of regular DVD subtitles and wanted to re-encode my DVD collection in h264/aac/assa in an mkv container.' Step 3: Extract subtitles from MKV to ASS, SRT, SUB, etc. At last, click the Extract button to save subtitles from MKV to your computer. The subtitle will be extracted to ASS, SRT or SUB file format, depending on the original format of the caption in the MKV file. All-in-one Wondershare MKV.
Question: “Simple way to extract subtitles from VOB to SRT file? - Hi! Is there a simple and easy way to extract only the subs from a DVD? Not the whole movie! I need to generate regular soft coded subtitles. I feel it should be easy, but I've been searching everywhere and can't find a good solution! Doesn't have to be free. Looks like D-Subtitler could do it, but it doesn't work on High Sierra. Any ideas will be welcome.”
Such questions are not rare among movie fans. .srt subtitles are much handier. It's plain text, so it is small sized and can be formatted by the player. Also it is very easy to merge in containers like mkv so that you can have video, audio and subtitles in one file. However, to extract subtitles from DVD to SRT file, you might find that most DVD ripping tools out there handle video and audio pretty well but unfortunately they just do not manage subtitles that good at all. They either 'burn' the subtitles on the video, which means you cannot turn them off or create .sub files.
Well, in this guide, we would like to show you how to extract subtitles from DVD to SRT in different ways. Check the content below.
Part 1: How to extract subtitles from DVD with HandBrake
Handbrake is the very first tool we would like to recommend to you for extracting subtitles from DVD to SRT file. As a free and open-source transcoder for digital video files, Handbrake could help you easily convert video, audio, DVD, Blu-ray files for multiple media players and devices as you need.
By default, Handbrake doesn't include the subtitles when you rip DVDs so it can keep the ripped movie's file size small. Thankfully, it's really easy to keep the subtitles on when you rip the DVD. The below steps would show you how to extract subtitles from DVD with Handbrake in detail:
1. Launch Handbrake.
2. Put your movie in your disc drive and wait for Handbrake to scan it.
3. Click the “Source” button to add your DVD movies from disc drive.
4. After adding source DVD movies, click over to the 'Subtitles' tab.
5. You have two different options here. Select the language you want, and then the 'Burned In' checkbox to lock the subtitles to the movie, or select Closed Captions from the drop-down list to get the subtitles in the original language of the film.
6. Under Destination, click Browse to set output directory for saving output files.
7. Click 'Start Encode' button and you'll rip the subtitles from DVD with Handbrake.
Obviously, with Handbrake, you could easily extract subtitles from DVD in several simple clicks. The whole conversion will be finished quite soon.
Part 2: How to extract subtitles from DVD to srt via Subrip
The second tool to extract subtitles from DVD to SRT file we would like to recommend to you is Subrip, a professional subtitle extracting tool that could help you easily extract subtitles from DVD to SRT file in clicks.
The below steps would show you how to extract subtitles from DVD by using Subrip in detail. Check the guide below:
1. Download and install SubRip on your computer. Currently the latest version of SubRip is V1.57.1 released in November 2018. Download is available on SourceForge.
2. Launch SubRip tool on your computer.
3. On the main window, click the 'VOB' button in the toolbar to click Open IFO and load the first .IFO file of the DVD. That will probably be VTS_01_0.IFO.
4. After you load it, check the filenames to make sure everything is OK. There should be 4 or more VOB files of a big size (size appears in the right).
5. Select all of them, and right at the top select the Language stream you want to rip.
6. In the right part of the window, leave Characters matrix file to New File and make sure 'SubPictures to Text via OCR' is selected in the Actions option.
7. Finally, click Start to begin the ripping process.
The operation to extract subtitles from DVD to SRT file with SubRip seems to be a little bit more complicated than that of Handbrake, but finally it could do the job well.
Part 3: How to extract subtitles from DVD using Subtitle Edit
As a professional subtitle extractor tool, Subtitle Edit is our third pick for you to extract subtitles from DVD to SRT file. Subtitle Edit is a free editor for video subtitles - a subtitle editor. With Subtitle Edit, you can easily adjust a subtitle if it is out of sync with the video and much more, visually sync/adjust a subtitle (start/end position and speed), import Blu-ray SUP titles or VobSub sub/idx binary subtitles and OCR to text srt subtitles, convert SUP to SRT, SUB to SRT., and DVD to SRT.
Ffmpeg Extract Dvd_subtitle From Mkv Mp4
Check the below steps to learn how to extract subtitles from DVD with Subtitle Edit program. Please remember that Subtitle Edit requires Microsoft .NET Framework Version 4.0 or later installed on your computer.
1. Download and install Subtitle Edit on your computer.
2. Launch Subtitle Edit on your computer and then insert DVD disc into the disc drive.
3. On Subtitle Edit main interface, open the “File” menu and then click “Import/OCR subtitle from vob/ifo (dvd)” option.
4. Click the browse button with 2 dots in the “IFO file” section and then browse and add DVD IFO file to Subtitle Edit (you can directly add from your DVD disc, or use Leawo DVD Copy to remove the copy-protection upon your DVD disc for IFO file adding if necessary).
5. You could then see all VOB files automatically added to the “VOB Files” section.
6. Then, click the “Start ripping” button at the bottom left corner to start to extract subtitles from DVD into SRT file within Subtitle Edit.
7. After ripping, click the “Save” button on the sub-menu bar to save the SRT subtitle file into your local drive. Of course, you need to give the output SRT file a name.
8. Finally, click the “Save” button on the “Save subtitle as” window to save output SRT file.
Subtitle Edit could help you firstly convert DVD to video with subtitles and then extract subtitles from video converted from DVD files to SRT file. The operation seems to be more complicated than the above mentioned 2 methods, but it really works. You could freely choose the method you prefer from the above 3 ones.
Bonus: How to rip and convert DVD with subtitles with Leawo DVD Ripper
As a bonus, we would like to show you how to rip and convert DVD movies with subtitles since once you have ripped and converted DVD movies to video files with subtitles retained, it would be easier to get subtitles from video files.
Leawo DVD Ripper could help you easily rip and convert DVD files to videos in 180+ file formats for any use on any media player or device, no matter the DVD files are copy protected or not. It could help you rip and convert DVD to MKV, MP4, MPEG, AVI, FLV, MOV, etc. Moreover, to meet your needs more, with Leawo DVD Ripper, you can even adjust the parameters of the target file, including video codec, audio codec, video bit rate, aspect ratio, resolution, frame rate and etc. This makes output video files more suitable to your computer media players, iPhone, iPad, Android devices, Microsoft Phones, etc.
Download and install Leawo DVD Ripper on your computer (it’s a module of Leawo Prof. Media). Then, follow the below steps to learn how to rip and convert DVD movies to general videos with Leawo DVD Ripper in detail.
Step 1. Add source DVD files
After launching Leawo Prof. Media on your computer hit the “Convert” option on the top panel. After that click on the “Add Blu-ray/DVD” option to load the DVD file that you want to burn.
Note: Three content loading modes will be available on the main interface: Full Movie, Main Movie and Custom Mode. Full Movie means to load all contents of the source DVD including files like subtitle, audio track and many more. Main Movie only imports the longest chapter of DVD content, by default the main movie of source DVD file, and Custom Mode allows users to select chapters for loading upon personal needs.
Step 2. Set output format
Now, hit the drop-down box before the big green “Convert” button and choose the Change option to select the output format on the Profile panel. You could choose from either “Format” or “Device” group according to your own needs.
Step 3. Set output profile parameters
Then, to meet your needs more, edit the parameter information of the output file including video codec, channel, resolution and many more. To do this, click the “Edit” button on the drop-down panel right before the big green “Convert” button. Click “OK” button to save settings and exit.
Step 4. Set output directory
Click the big green icon of “Convert” option to continue. After that, on the popup sidebar, set output directory in the “Save to” box.
After that, click the bottom “Convert” button to start to convert DVD movies to video files with Leawo DVD Ripper. You then only need to wait for the conversion.
In fact, Leawo DVD Ripper could not only help you rip and convert DVD files to general video files, but also edit DVD movies, apply 3D movie effect, select subtitles and audio tracks, etc. It’s far more than a simple DVD to video converter.
I became a huge subtitle user when I met my wife. We both like to watch a lotof non-English/non-Chinese movies, and while I use English subtitles, sheprefers to have subtitles in Chinese most of the time since she can read itfaster than English.
Over the years of doing this I've acquired quite a lot of knowledge in thisarea, and built quite a few tools to help. This post is a way of introducingthem to the world, and hopefully it will help anyone in a similar predicamentto mine.
Things you will need:
- ffmpeg, a set of tools to manipulate multimedia data
- srt, a Python library and set of tools I've written for dealing with SRTfiles (install with
pip install srt
)
Conversion from other formats to SRT
The SRT format is by far my favourite subtitle format. Its spec has itsoddities (not least that there is no widely accepted formal spec), but ingeneral if you stick to the accepted commonalities of the format between mediaplayers, you'll find it's not only simple, but easy to modify and scriptaround.
If you have another format, like SSA, for example, you'll probably findthat ffmpeg does a pretty good job converting it with ffmpeg -i foo.ssafoo.srt
.
Acquiring subtitles
I won't go into too much detail on this, since you probably will have goodenough luck Googling '[movie] [language] subtitle', but here are somerecommendations:
- If you want to extract existing subtitles that are already in your video file(for example, to mux them with other ones), see Extracting subtitles from avideo file, below. This is oftenthe best way since these have already been checked to work with the versionof the movie you have.
- For Chinese subtitles, Shooter is pretty good and frequently updated.
- Otherwise, Google '[movie] [language] subtitle'.
Fixing encoding problems
All of the SRT tools take UTF-8 as input, since it's a sane, reasonableencoding across the board. You may find that your subtitles are not encoded asUTF-8 and require conversion.
Let's take Chinese subtitles as an example, as they often use country-preferredencoding schemes. Chinese subtitles usually come encoded as Big5 orGB18030.
I personally find that enca is pretty good at detecting the encoding andconverting it appropriately. You can call it as enca -c -x UTF8 -L <languageiso code> <sub>
to convert subtitles to UTF-8 based on encoding detectionheuristics, regardless of their source encoding.
Extracting subtitles from a video file
I'll assume you're using a Matroska file, since they're so popularnowadays, but much of this will also apply elsewhere.
Ffmpeg Subtitle Srt
Inside an MKV file are multiple streams. They contain things like the videodata, the audio data, and subtitles. You can list them with ffprobe:
Looking at the three streams marked 'Subtitle', you can see that we haveEnglish, Spanish, and French subtitles available in this MKV.
Say you want to extract the Spanish subtitle to an SRT file. When converting,ffmpeg will pick the first suitable stream that it finds – by default, then,you will get the English subtitle. To avoid this, you can use -map
to selectthe Spanish subtitle for output.
In this case we know that the Spanish subtitle is stream 0:4, so we run thiscommand:
We can see that the right subtitle has been selected:
We will use this subtitle for most of the subsequent examples.
Stripping HTML-like entities from subtitles
As you can see in the subtitle above, sometimes subtitles contain HTMLentities, like <b>, <color>, etc. These are not part of the SRTspec, they remain to be interpreted by the media player. Since not all mediaplayers support this sometimes they are just shown raw, which looks quite bad.
The srt project contains a tool to deal with this called process, which canperform arbitrary operations on files:
Correcting time shifts
Getting subtitles from the internet is an imperfect business. There are often afew different packagings of a movie in different markets, some with differentintros, some from different original sources, etc. This can result in thesubtitles requiring some correction prior to use.
Your media player may contain some rudimentary controls to correct this atruntime, which may suffice for fixed timeshifts, but for linear timeshifts andcases where you need two sync two subtitles exactly prior to muxing, modifyingthe SRT file directly is a good idea.
The srt project contains two tools to deal with this:
fixed-timeshift, which shifts all subtitles by a fixed amount. Forexample, you may want to shift all subtitles back a certain number of secondsto sync properly with your video.
linear-timeshift, which takes two existing time points in the input, andscales all subtitles so that those time points are shifted to the correctvalues. For example, if you had three subtitles with times 1, 2, and 3, youset the existing times as 1 and 3, and you set the new times as 1 and 5, thenew times for those subtitles would be 1, 3, and 5.
On the command line, 'f' means 'from', 't' means 'to', and the numbers arejust the unique ID for each pair of times.
Muxing subtitles together
Ffmpeg Vf Subtitles
The srt project contains a tool, mux, that takes multiple streams of SRTsand muxes them into one. It also attempts to clamp multiple subtitles to usethe same start/end times if they are similar (by default, if they are within600ms of each other), in order to stop subtitles jumping around the screen whendisplayed.
Say we wanted to create Spanish/French dual language subs for this movie(having already retrieved a suitable French subtitle in ES-french.srt
).
In that case, we'd run something like this:
Removing other languages from dual-language subtitles
This is easier for some languages than others. For example, it's easy to detectand isolate lines containing CJK characters from lines containing (say)English, since their range of characters tends not to intersect.
It's more difficult (and more error prone) to try to detect languages usingmore advanced heuristics, but there are a few ways that you can do it usingsrt
.
srt
has a program called lines-matching, to which you can pass anarbitrary Python function that returns True if the line is to be kept, andFalse otherwise. This means you can easily build your own heuristics forlanguage based detection, or anything else you want to isolate.
As an example, this is how you would isolate to Chinese lines usinghanzidentifier (must be installed):
You can pass -m
multiple times for multiple imports. -f
is a function thattakes one argument, line
. In this case, hanzidentifier.has_chinese
alreadytakes one argument, so we don't need to do anything complicated.
As a more general solution, there is also langdetect, but since this isheuristic, you may find it gets it wrong some of the time. For example(langdetect must be installed):
Notice that we have to use double quotes instead of single quotes inside thesyntax block, since we're already quoting the expression itself with singlequotes.
Using the muxed Spanish and French output we generated earlier as input, thisoutputs the following:
Notice that one line — <i>sur la voie 'B.'</i>
— is completelygone. Language detection is not an absolute science, and sometimes langdetectgets it completely wrong, particularly on short sentences without much contextand with language-ambiguous words. For example, in this case, it's very unsurewhat the language is because the content is quite short. Notice that itscertainties vary wildly between runs, sometimes even completely omitting French:
One thing you can do if you want to match per-subtitle rather than per-line(which only makes sense if your different languages are actually in differentSRT blocks) is use -s
/--per-subtitle
, which may help to give better contextto langdetect. This fixes the problem above: