SubRip

SubRip is a free software program for Microsoft Windows which extracts subtitles and their timings from various video formats to a text file. It is released under the GNU GPL. Its subtitle format's file extension is codice_1 and is widely supported. Each codice_1 file is a human-readable file format where the subtitles are stored sequentially along with the timing information. Most subtitles distributed on the Internet are in this format.
SubRip software.
Using optical character recognition, SubRip can extract from live video, video files and DVDs, then record the extracted subtitles and timings as a "Subrip format" text file. It can optionally save the recognized subtitles as bitmaps for later subtraction (erasure) from the source video.
In practice, SubRip is configured with the correct codec for the video source, then trained by the user on the specific text area, fonts, styles, colors and video processing requirements to recognize subtitles. After trial and fine tuning, SubRip can automatically extract subtitles for the whole video source file during its playback. SubRip records the beginning and end times and text for each subtitle in the output text codice_1 file.
SubRip uses AviSynth to extract video frames from source video, and can rip subtitles from all video files supported by that program.
File format.
The SubRip file format is described on the Matroska multimedia container format website as "perhaps the most basic of all subtitle formats." SubRip (SubRip Text) files are named with the extension codice_1, and contain formatted lines of plain text in groups separated by a blank line. Subtitles are numbered sequentially, starting at 1. The timecode format used is hours:minutes:seconds,milliseconds with time units fixed to two zero-padded digits and fractions fixed to three zero-padded digits (00:00:00,000). The fractional separator used is the comma, since the program was written in France.
Example:
1
00:02:17,440 --> 00:02:20,375
Senator, we're making
our final approach into Coruscant.
2
00:02:20,476 --> 00:02:22,501
Very good, Lieutenant.
Formatting.
Unofficially the format has very basic text formatting, which can be either interpreted or passed through for rendering depending on the processing application. Formatting is derived from HTML tags for bold, italic, underline and color:
Nested tags are allowed; some implementations prefer whole-line formatting only.
Compatibility.
The SubRip codice_1 file format is supported by most software video players. For Windows software video players that do not support subtitle playback directly, the VSFilter DirectX filter displays SubRip and other subtitle formats.
The SubRip format is supported directly by many subtitle creation and editing tools,
and some hardware home media players.
In August 2008, YouTube added subtitle support to its Flash video player under the "Closed Captioning" option - content producers can upload subtitles in SubRip format.
WebVTT.
A format originally called WebSRT (Web Subtitle Resource Tracks) was specified in 2010 by the Web Hypertext Application Technology Working Group for the proposed HTML5 codice_15 element. It shared the codice_1 file extension and was based on parts of the SubRip format, but was not fully compatible with it.
The prospective format was later renamed WebVTT (Web Video Text Track).
Google's Chrome and Microsoft's Internet Explorer 10 browsers were the first to support tags with WebVTT files for HTML5 videos. Mozilla Firefox implemented WebVTT in its nightly builds (Firefox 24), and as of Firefox 31 (July 24, 2014), Mozilla enabled WebVTT on Firefox by default. The feature had to be enabled in Firefox by going to the "about:config" page and setting the value of "media.webvtt.enabled" to true. YouTube began supporting WebVTT in April, 2013.
Text encoding.
SubRip's default output encoding is configured as Windows-1252. However, output options are also given for many Windows code pages as well Unicode encodings, such as UTF-8 and UTF-16, with or without Byte Order Mark (BOM). Therefore, there is no de facto character encoding standard for codice_1 files, which means that any SubRip file parser must attempt to use Charset detection. Unicode Byte Order Mark (BOM) are typically used to aid detection.