NAME

subs - convert, join, split, and re-time subtitles

FORMAT

subs [options] subfile [ subfile ... ]

OPTIONS

-a coeff, -b time

a and b coefficients in linear transformation u=at+b, where t and u are src and dest times ( default(identity transform) is [a=1,b=0] ). -a can be set as ratio, f.ex. 23.9/25

-c codec

use codec to write file. Run 'subs -h' for list of installed codecs.

-h

Display help

-i

Edit files in place ( makes backup in .bak files )

-j sec

Time interval between joins, seconds (default 2)

-o file

File to save processed subtitles (default out.sub)

-p t1 t2

Set a control point, where t1 is time of a phrase spoken in the film and t2 is time when the same phrase as appears in the subtitle. One point is enough for deducing the -b coefficient, two points are enough for deducing both -a and -b coefficients.

Times can be relative, f.ex. -p 01:00 +3.5 -p -20 1:00:00

-r rate

Force frame-per-second rate for frame-based subs

-s time

Split in two parts by time

-v

Be verbose

NOTES

The time format is either [[HH:]MM:]SS[.MSEC] or subtitle format-specific

EXAMPLES

Warning: -i is a great feature, but use it with certain caution.

If subtitles are shown too early ( 5 seconds):

subs -i -b 5 file.sub

If subtitles are for a movie in 25 fps, need to be for 24 ( actual for frame-based formats only ).

subs -i -a 24/25 file.sub

If subtitles start ok, but in 1 hour are late in 7 seconds:

subs -i -p 0 0 -p 1:00:00 +7 file.sub

Join two parts with 15-second gap

subs -o joined.sub -j 15 part1.sub part2.sub 

Split in two after 50 minutes and half a second ( makes basename.1.sub and basename.2.sub ).

subs -o basename.sub -s 50:00.5 toobig.sub

BUGS

Subtitles written as .smi format may differ from original.

SEE ALSO

Subtitles - backend module for this program

AUTHOR

Dmitry Karasik, <dmitry@karasik.eu.org>.