Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SUBS(1)		      User Contributed Perl Documentation	       SUBS(1)

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

	       subs [options] subfile [	subfile	... ]

       -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

       -d  Try to prolong duration of quickly disappearing text.  'Quickly' is
	   less	than 0.8 second	per line of text.

       -e command
	   Run perl code for each line of text in file.	On each	run, the text
	   and time variables are initialized, and new values, if any, written
	   to the file.	The variables are used for:

	   $_  subtitle	text line

	   $b  cue beginning

	   $e  cue end

	   $i  line number

	   $n  number of lines

	   %p  persistent data between runs

	   The -e option can be	specified several times

       -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)

       -O  Separate overlapped lines

       -p t1 t2	or -P t2 t1
	   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. Two points	are required for deducing -a and -b
	   coefficients; if only one point is specified, it is assumed that
	   the other one is [0,0].

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

	   Options -P and -p are the same except the argument sequence is
	   reversed.  -P is to be used when arguments to -p were typed
	   manually and	in wrong order.

       -q t1 t2
	   Restrict changes, if	any, in	time span t1-t2. Word 'end' can	be
	   used	as an alias to the end of the file. Default values are '0' and

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

       -s time
	   Split in two	parts by time

       -v  Be verbose

       -z file.sub
	   Zip subtitle	files so time information is read from file.sub, while
	   text	information is read from the input file(s).

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

       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

       Remove closed caption-specific comments such as '[Sneezing]' or '[Music

	 subs -e 's/[\s-]*\[.*\]\s*\n*//gs' sub.sub

       Subtitles written as ".smi" format may differ from original.

       Subtitles - backend module for this program

       Dmitry Karasik, <>.

perl v5.32.1			  2009-12-22			       SUBS(1)


Want to link to this manual page? Use this URL:

home | help