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

FreeBSD Manual Pages


home | help
TRANSCODE(1)			14th July 2008			  TRANSCODE(1)

       transcode - LINUX video stream processing tool

       transcode -i name [-o name] [-y vmod,amod]
		 [-w vbitrate [	,vkeyframes [ ,vcrispness ] ]]
		 [-a atrack [ ,vtrack ]]
		 [-b abitrate [	,is_vbr	[ ,quality [ ,mode ] ] ]]
		 [-M demuxer_mode] [-F codec_string] [other options]

       transcode supports a huge range of options, as described	in detail in
       further section.	Only one option	is mandatory: -i name, for supplying
       the input main (video) source. All other	options	are discretionary and
       they can	be skipped. Most commonly needed options are -o, -y, -w, -a,
       -b, -M, -F and a	fair number of transcode session needs a little	more
       than those. See section below for full description of all transcode
       options.	To inspect the properties of a module, such as their
       parameters or the help text, use	the 'tcmodinfo'	tool.

       transcode is a linux text-console utility for video stream processing,
       running on a platform that supports shared libraries and	threads.

       It supports a huge range	of options, as described in detail in further
       section.	Only one option	is mandatory: -i name, for supplying the input
       main (video) source. All	other options are discretionary	and they can
       be skipped. Most	commonly needed	options	are -o,	-y, -w,	-a, -b,	-M, -F
       and a fair number of transcode session needs a little more than those.
       See section below for full description of all transcode options.

       Decoding	and encoding is	done by	loading	modules	that are responsible
       for feeding transcode with raw video/audio streams (import modules) and
       encoding	the frames (export modules).

       It supports elementary video and	audio frame transformations, including
       de-interlacing or fast resizing of video	frames and loading of external

       A number	of modules are included	to enable import of DVDs on-the-fly,
       MPEG elementary (ES) or program streams (VOB), MPEG video, Digital
       Video (DV), YUV4MPEG streams, NuppelVideo file format, AVI based	codecs
       and raw or compressed (pass-through) video frames and export modules
       for writing DivX;-), XviD, DivX 4.xx/5.xx or uncompressed AVI and raw
       files with MPEG,	AC3 (pass-through) or PCM audio.

       Additional export modules to write single frames	(PPM) or YUV4MPEG
       streams are available, as well as an interface import module to the
       avifile library.

       It's modular concept is intended	to provide flexibility and easy	user
       extensibility to	include	other video/audio codecs or filetypes. A set
       of tools	is included to demux (tcdemux),	extract	(tcextract) and	decode
       (tcdecode) the sources into raw video/audio streams for import, probing
       (tcprobe) and scanning (tcscan) your sources and	to enable
       post-processing of AVI files, fixing AVI	file header information
       (avifix), merging multiple files	(avimerge), splitting large AVI	files
       (avisplit) to fit on a CD and avisync to	correct	AV-offsyncs.

	   use AC3 as internal audio codec [off]. Only pass-through supported.

       -B  n[,m[,M]]
	   resize to height-n*M	rows [,width-m*M] columns [off,32].  M must be
	   one of 8, 16	or 32. It makes	no difference which M you use. You
	   might look at the fast flag of the -Z option	if you don not want to
	   calculate n and m yourself.

       -C  mode
	   enable anti-aliasing	mode (1-3) [off].

	       de-interlace effects only

	       resize effects only

	       process full frame (slow)

       -D  num
	   sync	video start with audio frame num [0].

       -E  r[,b[,c]]
	   audio output	samplerate [Hz], bits per sample and channels [as
	   input]. The option "-J resample" must be provided for export
	   modules not capable of re-sampling. Samplerate and bits per sample
	   can be specified as 0 to mean "same as input"; this allows
	   converting from stereo to mono while	leaving	the other parameters
	   alone (-E 0,0,1).

       -F  codec_string
	   encoder parameter strings [module dependent]. The -F	parameter has
	   different meanings for different export modules. Those meanings are
	   documented in transcode_export(1) manual page.

       -G  val
	   Gamma correction (0.0-10.0) [off]. A	value of 1.0 does not change
	   anything. A value lower than	1.0 will make the picture "brighter",
	   a value above 1.0 will make it "darker".

       -H  n
	   auto-probe n	MB of source (0=disable) default [1]. Use a higher
	   value than the default to detect all	subtitles in the VOB.

       -I  mode
	   enable de-interlacing mode (1-5) [off].


	       "interpolate scanlines" linear interpolation (takes the average
	       of the surronding even rows to determine	the odd	rows), and
	       copies the even rows as is.


	       "handled	by encoder" tells the encoding code to handle the fact
	       that the	frames are interlaced. Most codecs do not handle this.


	       "zoom to	full frame" drops to to	half size, then	zooms out.
	       This can	cause excessive	blurring which is not always unwanted.
	       On the other hand results are quite good.


	       "drop field / half height" drop every other field and keep half


	       "interpolate scanlines /	blend frames" linear blend (similar to
	       -vop pp=lb in mplayer) this, like linear	blend calculates the
	       odd rows	as the average of the surrounding even rows, and also
	       calculates the even rows	as an average of the original even
	       rows and	also calculates	the even rows as an average of the
	       original	odd rows and averages the calculated and original
	       rows. Something like avg	(avg(row1,row3), avg(row2, row4))

       -J  filter1[,filter2[,...]]
	   apply external filter plugins [off].	The avalaible import modules
	   and their options are documented into the transcode_filter(1)
	   manual page.	 Note: You can specify more than one -J	argument. The
	   order of filter arguments specify in	which order the	filters	are
	   applied. Note also, for transcode internally	it makes no difference
	   whether you do "-J filter1 -J filter2" or "-J filter1,filter2". Use
	   'tcmodinfo -i NAME' to get more information about the filter_NAME.
	   Not all filters support this	but most of them do. Some of the
	   filter plugins have additional documentation	in the docs/

       -L  n
	   seek	to VOB stream offset nx2kB default [0].	This option is usually
	   calculated automatically when giving	--nav_seek and -c.

	   enable black/white by removing colors mode (grayscale) [off].
	   Please note this does not necessarily lead to a smaller image /
	   better compression. For YUV mode, this is done by emptying the
	   chroma planes, for RGB mode a weightend grayscale value is

       -M  mode
	   demuxer PES AV sync modes (0-4) [1].

	       The demuxer takes care that the right video frames go together
	       with the	right audio frame. This	can sometimes be a complex
	       task and	transcode tries	to aid you as much as possible.
	       WARNING:	It does	make a difference if you (the user) specifies
	       a demuxer to use	or if transcode	resp. tcprobe(1) chooses the
	       one which it thinks is right for	your material. This is done on
	       purpose to avoid	mystic side-effects. So	think twice, wether
	       you specify a demuxer or	let transcode choose one or you	might
	       end up with an off-sync result.

	       Pass-through. Do	not mess with the stream, switch off any
	       synchronization/demuxing	process.

	       PTS only	(default). Synchronize video and audio by inspecting
	       PTS/DTS time stamps of audio and	video. Preferred mode for PAL
	       VOB streams and DVDs.

	       NTSC VOB	stream synchronization feature.	This mode generates
	       synchronization information for transcode by analyzing the
	       frame display time.

	       (like -M	1): sync AV at initial PTS, but	invokes
	       "-D/--av_fine_ms" options internally based on "tcprobe" PTS
	       analysis. PTS stands for	Presentation Time Stamp.

	       (like -M	2): initial PTS	/ enforce frame	rate, with additional
	       frame rate enforcement (for NTSC).

       -N  format
	   select export format. Default is mp3	for audio, and
	   module-dependant format for video. This option has two different
	   behaviours and accepts two different	set of options,	as side-effect
	   of ongoing export module transition.	For old-style modules (current
	   default, as found in	1.0.x series), argument	is audio format	ID has
	   hexadecimal value: see below	for a list of recognized IDs. Default
	   id, so default format for audio exported track, is MP3 (0x55). If
	   you are using, the transcode's the new-style	encode/multiplex
	   modules (still under	development, see the encode and	multiplex
	   directories), argument is a comma-separated pair of export format
	   names. Use tcmodinfo	tool to	check out what new-style export	module
	   support what	formats.

	   Available format for	old-style behaviour are:

	       PCM uncompressed	audio

	       MPEG layer-2 aka	MP2

	       MPEG layer-3 aka	MP3. Also have a look at --lame_preset if you
	       intend to do VBR	audio.

	       AC3 audio

	       OGG/Vorbis audio

	   skip	flushing of buffers at encoder stop [off, do flushing at each

       -P  flag
	   pass-through	flag (0=off|1=V|2=A|3=A+V) [0].	Pass-through for flag
	   != 1	is broken and not a trivial thing to fix.

	   You can pass-through	DV video, AVI files and	MPEG2 video. When
	   doing MPEG2 pass-through (together with the -y raw module), you can
	   give	a requantization factor	by using -w (for example -w 1.5), this
	   will	make the MPEG2 stream smaller.

	   The pass-through mode is useful for reconstruction of a broken
	   index of an AVI file. The -x	ffmpeg import-module analyzes the
	   compressed bitstream	and can	detect a keyframe for DIV3, MPEG4
	   (DivX, XviD,	..) and	other formats. It then sets an internal	flag
	   which the export module will	respect	when writing the frame out.

       -Q  n[,m]
	   encoding[,decoding] quality (0=fastest-5=best) [5,5].

       -R  n[,f1[,f2]]
	   enable multi-pass encoding (0-3) [0,divx4.log,pcm.log].

	   0 Constant bitrate (CBR) encoding. [default]
	       The codec tries to achieve constant bitrate output. This	means,
	       each encoded frame is mostly the	same size. This	type of
	       encoding	can help in maintaining	constant filling of hardware
	       buffer on set top players or smooth streaming over networks. By
	       the way,	Constant bitrate is often obtained sacrifying quality
	       during high motion scenes.

	   1 Variable bitrate encoding:	First pass.
	       In this mode, the codec analyses	the complete sequence in order
	       to collect data that can	improve	the distribution of bits in a
	       second VBR pass.	The collected data is written to second	sub
	       argument	(default: divx4.log). This data	is codec dependant and
	       cannot be used across codecs. It	is strongly advised to use the
	       same codec settings for the VBR analysis	pass and the VBR
	       encoding	pass if	you want predictable results.

	       The video output	of the first pass is not of much use and can
	       grow very large.	It's a good idea to not	save the video output
	       to a file but directly to /dev/null. Usually the	bitrate	is
	       ignored during first pass.

	       Disabling audio export makes sense too, so use -y codec,null.
	       It is not recommended to	disable	the audio import because
	       transcode might drop video frames to keep audio and video in
	       sync. This is not possible when the audio import	is disabled.
	       It may lead to the fact that the	codec will see a different
	       sequence	of frames which	effectively renders the	log file

	   2 Variable bitrate encoding:	Second pass.
	       The first pass allowed the codec	collecting data	about the
	       complete	sequence. During the second pass, the codec will use
	       that data in order to find an efficient bit distribution	that
	       respects	both the desired bitrate and the natural bitrate curve
	       shape. This ensures a good compromise between quality and
	       desired bitrate.

	       Make sure you activate both sound and video encoding during
	       this pass.

	   3 Constant quantizer	encoding.
	       The quantizer is	the "compression level"	of the picture.	The
	       lower the quantizer is, the higher is the quality of the
	       picture.	This mode can help in making sure the sequence is
	       encoded at constant quality, but	no prediction can be made on
	       the final bitrate. When using this mode,	the -w option changes
	       its meaning, it now takes the quantizer ranging from 1 to 31.
	       Note that constant quantizer encoding is	not supported with
	       some codecs (notably mpeg1/2/4 with -y ffmpeg).

       -S  unit[,s1-s2]
	   process program stream unit[,s1-s2] sequences [0,all]. This option
	   is a	bit redundant to --psu*. This option lets you specify which
	   units you want to have decoded or skipped. At a program stream unit
	   boundary, all (internal) mpeg timers	are reset to 0.	tcprobe	will
	   tell	you how	many units are in one file.

       -T  t[,c[,a]]
	   select DVD title[,chapter[,angle]] [1,1,1]. Only a single chapter
	   is transcoded. Use -T 1,-1 to trancode all chapters in a row. You
	   can even specify chapter ranges.

       -U  base
	   process DVD in chapter mode to base-ch%02d.avi [off].

       -V  format
	   select video	layout / colour	space for internal processing.
	   Possible values for this options are: yuv420p (default), yuv422p,

	   yuv420p is default because it is most codecs' internal format so
	   there is no need for	conversions. Some modules may not support it
	   though: use rgb in that case.

	   rgb24 is the	old (pre-0.6.13) transcode internal format. Most
	   codecs do not support this format natively and have to convert it
	   to/from YUV first, so only use this option if you're	really sure or
	   you want to use a module that doesn't support YUV.

	   yuv422p is an experimental feature and a developers playground. Not
	   many	import,	export and filter modules support this colorspace. A
	   4:2:2 colorspace offers much	more quality than the consumer
	   oriented 4:2:0 colorspaces like I420/YV12. Most equipment in	film
	   and video post-production uses YUV422. YUV422 doubles the precision
	   for chroma (color difference) information in	the image.

	   All internal	transformations	are supported in YUV422	mode
	   (clipping, flipping,	zooming, etc).

       -W  n,m[,nav_file]
	   autosplit and process part n	of m (VOB only)	[off]

       -X  n[,m,[M]]
	   resize to height+n*M	rows [,width+m*M] columns [off,32]. M must be
	   one of 8, 16	or 32. It makes	no difference which M you use. You
	   might look at the fast flag of the -Z option	if you do not want to
	   calculate n and m yourself.

       -Y  top[,left[,bottom[,right]]]
	   select (encoder) frame region by clipping border. Negative values
	   add a border	[off].

       -Z  widthxheight[,fast|interlaced]
	   resize to width columns, height rows	with filtering
	   [off,notfast,notinterlaced].	If fast	is given, transcode will
	   calculate the parameters for	-X and/or -B. The file fast can	only
	   be used when	the import and export geometry of an image is a
	   multiple of 8.

	   In fast mode, a faster but less precise resizing algorithm will be
	   used	resulting in a slightly	less good quality. Beside this (small)
	   drawback, it	is worth a try.

	   If interlaced is given, transcode will assume the frame is
	   interlaced when resizing, and resize	each field independently. This
	   will	give better results on interlaced video, but is	incompatible
	   with	fast mode. Also, the height (both old and new) must be a
	   multiple of 4.

	   It is also possible to omit width OR	height.	In this	case,
	   transcode will calculate the	missing	value using the	import aspect
	   ratio. The new value	will be	aligned	to be a	multiple of 8. Using
	   an additional fast or interlaced is also possible.

	   Examples (assume input is a 16:9 coded file at 720x576):

				       -Z 576x328	    uses filtered zoom.
				       -Z 576x328,fast	    uses fast zoom.
				       -Z 576x,fast	    guess 328 and do fast zoom.
				       -Z x328,interlaced   guess 576 and do interlaced	zoom.

	   If you also set --export_prof, you can use just "fast" to indicate
	   that	fast resizing is wanted	(likewise with "interlaced").

       -a  ach[,vch]
	   extract audio[,video] track for encoding.

       -b  b[,v,[q,[m]]]
	   audio encoder bitrate kBits/s[,vbr[,quality[,mode]]]	[128,0,5,0]

	   The mode parameter specifies	which modus lame should	use for
	   encoding. Available modes are:

	       Joint Stereo (default)

	       Full stereo


       -c  f1-f2[,f3-f4[, ... ]	]
	   encode only frames f1-f2 [and f3-f4]. Default is to encode all
	   available frames. Use this and you'll get statistics	about
	   remaining encoding time. The	f[N] parameters	may also be timecodes
	   in the HH:MM:SS.FRAME format. Example:

				       -c 500-0:5:01,:10:20-1:18:02.1

	   Will	encode only from frame 500 to 5	minutes	and 1 second and from
	   10 min, 20 sec to 1 hour, 18	min, 2 sec and one frame.

	   Note	that transcode starts counting frames at 0 and excludes	the
	   last	frame specified. That means that "-c 0-100" will encoded 100
	   frames starting at frame 0 up to frame 99

	   swap	bytes in audio stream [off]. In	most cases, DVD	PCM audio
	   tracks require swapping of audio bytes

       -e  r[,b[,c]]
	   PCM audio stream parameter. Sample rate [Hz], bits per sample and
	   number of channels [48000,16,2]. Normally this is autodetected.

       -f  rate[,frc]
	   import video	frame rate[,frc] [25.000,0]. If	frc (frame rate	code)
	   is specified, transcode will	calculate the precise frames per
	   second internally. Valid values for frc are:

	       23.976 (24000/1001.0)



	       29.970 (30000/1001.0)



	       59.940 (2 * 29.970)







       -g  WidthxHeight
	   video stream	frame size [720x576].

	   print out usage information.

       -i  name
	   input file/directory/device/mountpoint/host name, default is

       -j  top[,left[,bottom[,right]]]
	   select frame	region by clipping border. Negative values add a
	   border [off].

	   swap	red/blue (Cb/Cr) in video frame	[off]. Use if people have blue

	   mirror video	frame [off].

       -m  file
	   write audio stream to separate file [off].

       -n  0xnn
	   import audio	format id [0x2000]. Normally, this is autodetected.

       -o  file
	   output file name, default is	[/dev/null].

       -p  file
	   read	audio stream from separate file	[off].

       -q  debuglevel
	   possible values for debuglevel:











       -r  n[,m]
	   reduce video	height/width by	n[,m] [off]. Example: -r 2 will
	   rescale the framesize of a 720x576 file to 360x288.

       -s  gain,[center,[front,[rear]]]
	   increase volume of audio stream by gain,[center,front,rear] default

       -t  n,base
	   split output	to base%03d.avi	with n frames [off].

       -u  m[,n]
	   use m framebuffer[,n	threads] for AV	processing [10,1].

	   print version.

       -w  b[,k[,c]]
	   encoder bitrate[,keyframes[,crispness]] [(6000 for MPEG 1/2,	1800
	   for others),250,100].

       --video_max_bitrate  b
	   Use b as maximal bitrate (kbps) when	encoding variable bitrate

       -x  vmod[,amod]
	   video[,audio] import	modules	[auto,auto]. If	omitted, transcode
	   will	probefor appropriate import modules. The avalaible import
	   modules and their options are documented into the
	   transcode_import(1) manual page.

       -y  vmod[,amod[,mmod]]
	   video[,audio[,multiplex]] export modules [null]. If omitted,
	   transcode will encode to the	null module. If	a multiplex module is
	   given, transcode will use the new-style encode/multiplex modules
	   (still under	development, see the encode and	multiplex
	   directories); if no multiplex module	is given, the traditional
	   export modules will be used.	The avalaible export, encoder and
	   multiplexor modules and their options are documented	into the
	   transcode_export(1) manual page.

       --accel	type
	   enforce experimental	IA32 acceleration for type [autodetect].  type
	   may be one of

	       No acceleration

	       plain x86 assembly

	       MMX instruction set

	       3DNow! instruction set

	       SSE instruction set

	       SSE2 instruction	set

       --avi_limit N
	   split/rotate	output AVI file	after N	MB [2048].

       --avi_comments  F
	   Read	AVI header comments from file F	[off]. The AVI file format
	   supports so-called tomb-stone data. It can be used to write
	   annotations into the	AVI file.

	   See the file	docs/avi_comments.txt for a sample input file with all
	   tags. When the file is read,	empty lines and	lines starting with
	   '#' are ignored. The	syntax is: "TAG<space>STRING". The order of
	   the tags does not matter. If	a tag has no string following it, it
	   is ignored. That means, you can use the file	docs/avi_comments.txt
	   as input and	only fill out the fields you want.

	   A very simple example is:

				       INAM My 1st Birthday
				       ISBJ My first steps!
				       IART My proud family

	   Keep	in mind	that there is no endless space in the AVI header, most
	   likely its around 1000 bytes.

       --zoom_filter  string
	   use filter string for video resampling -Z [Lanczos3]	The following
	   filters are available:



	   Lanczos3 (default)





	   use percentage mode for cluster encoding -W>	[off]

       --cluster_chunks	 a-b
	   process chunk range instead of selected chunk [off]

       --export_asr  C
	   set export aspect ratio code	C [as input] Valid codes for C are:





       --export_prof  S
	   WARNING: this option	will be	renamed	as --export_profile in future

	   Select an export profile {vcd, svcd,	xvcd, dvd}
	   [-pal|-ntsc|-secam].	Default	is no profile.

	   If you set this meta	option to one of the values below, transcode
	   will	adjust some internal paramaters	as well	as geometry and
	   clipping. If	no export modules are specified, mpeg2enc for video
	   and mp2enc for audio	are used when compiled with mjpegtools

	   Valid values	for S are e.g. vcd, vcd-pal, vcd-ntsc, svcd, svcd-pal,

	   xvcd	profile	is equal to svcd except	that it	allows for up to 9000
	   Kbps	video bitrate (default is 5000)	and arbitrary audio

	   When	one of the above is used, transcode will calculate the needed
	   clipping and	resizing values	for you	based on the import and	export
	   aspect ratio. This is especially handy if you want to encode	a 16:9
	   DVD into a 4:3 SVCD for example. Transcode internally then sets
	   --pre_clip to add the black bars ("letterboxing").

	   If you use "vcd" instead of "vcd-pal" or "vcd-ntsc",	transcode will
	   make	an educated guess if PAL or NTSC vcd is	wanted.	The same is
	   true	for the	other profiles.	When the input file has	no aspect
	   ratio information at	all, transcode guesses it based	on the import
	   frame sizes.	You can	set the	import aspect ratio by giving
	   --import_asr	CODE.

	   Examples (assume input is a 16:9 coded file at 720x576 (PAL)):

				       --export_prof svcd      clip top/bot -96; resizes to 480x576
				       --export_prof vcd-ntsc  clip top/bot -96; resizes to 352x240

	   This	enables	simpilified commandlines where transcode tries to set
	   sensible values for mpeg export. When you don't specify an export
	   module with -y, mpeg2enc will be used.

				       transcode -i vob/ --export_prof svcd -Z fast -o test

	   The ffmpeg export module `-y	ffmpeg'	does support profiles as well.
	   The module tries to be smart	and sets internal ffmpeg parameters
	   which are otherwise quite tricky to find out. Usage is similar to
	   the above.

				       transcode -i vob/ --export_prof dvd -y ffmpeg -o	test -m	test.ac3
				       tcmplex -m d -i test.m2v	-p test.ac3 -o test.mpg

       --export_par  C[,N]
	   set export pixel aspect ratio to C[,N]. To encode anamorphic
	   material, transcode can encode the target pixel aspect ratio	into
	   the file. This is NOT the actual aspect ratio of the	image, but
	   only	the amount by which every single pixel is stretched when
	   played with an aspect ratio aware application, like mplayer.

	   To encode at	non standard aspect ratios, set	both C and N. E.g. to
	   make	every pixel twice as high as it's wide (e.g. to	scale back to
	   normal size after deinterlacing by dropping every second line).

	   If C	and N are specified, the value set for C does give the pixel
	   aspect ratio	of the width and N the one for the height. If only C
	   is specified, the table below applies.

	   Valid codes for C are

	       1:1 No stretching

	       12:11 5:4 image to 4:3 (ex: 720x576 -> 768x576)

	       10:11 3:2 image to 4:3 (ex: 720x480 -> 640x480)

	       16:11 5:4 image to 16:9 (ex: 720x576 -> 1024x576)

	       40:33 3:2 image to 16:9 (ex: 720x480 -> 872x480)

       --import_asr  C
	   set import aspect ratio code	C [autoprobed]

	   Valid codes for C are





	   try to keep aspect ratio (only with -Z) [off]

	   The --keep_asr options changes the meaning of -Z. It	tries to fit
	   the video into a framesize specified	by -Z by keeping the original
	   aspect ratio.

				       +----------------+			     +---480-----+
				       |		|			     | black	 |
				       |720x306	= 2.35:1| -> -Z	480x480	--keep_asr ->|-----------4
				       |		|			     | 480x204	 8
				       +----------------+			     |-----------0
				       | black	   |

	   Consider --keep_asr a wrapper for calculating -Y options and	-Z

	   use external	mplayer	binary to probe	stream,	reset default import
	   modules as mplayer ones [off]. Default is to	use internal probing
	   code. Using this option without mplayer import modules (-x mplayer)
	   can lead to unpredictable and possibly wrong	results.

       --quantizers  min,max
	   set encoder min/max quantizer. This is meaningfull only for video
	   codecs of MPEG family. For other kind of codecs, this options is
	   harmless. [2,31]

       --divx_rc  p,rp,rr
	   divx	encoder	rate control parameter [2000,10,20]

       --divx_vbv_prof	N
	   divx5 encoder VBV profile (0=free-5=hiqhq) [3]. Sets	a predefined
	   profile for the Video Bitrate Verifier. If N	is set to zero,	no
	   profile is applied and the user specified values from --divx_vbv
	   are used.

	   Valid profiles

	       Free/No profile ( Use supplied values )

	       Handheld	( 320, 16, 3072	)

	       Portable	( 1920,	64, 12288 )

	       Home Theatre ( 10000, 192, 36864	)

	       High Definition ( 20000,	384, 73728 )

       --divx_vbv  br,sz,oc
	   divx5 encoder VBV params (bitrate,size,occup.) [10000,192,36864]
	   These parameters are	normally set through the profile parameter
	   --divx_vbv_prof. Do not mess	with theses value unless you are
	   absolutely sure of what you are doing. Transcode internally
	   multiplicates vbv_bitrate with 400, vbv_size	with 16384 and
	   vbv_occupancy with 64 to ensure the supplied	values are multiples
	   of what the encoder library wants.

       --export_fps  rate[,frc]
	   set export frame rate (and code) [as	input].Valid values for	frc

	   frc rate

	       23.976 (24000/1001.0)



	       29.970 (30000/1001.0)



	       59.940 (2 * 29.970)







       --export_frc  F
	   set export frame rate code F	[as input].  Obsolete, use
	   --export_fps	0,F

	   disable smooth dropping (for	variable fps clips) [off]. See
	   /docs/framerate.txt for more	information.

	   set MPEG 3:2	pulldown flags on export [off]

       --antialias_para	 w,b
	   center pixel	weight,	xy-bias	[0.333,0.500]

	   disable internal audio frame	sample adjustment [off]

	   disable lame	bitreservoir for MP3 encoding [off]

       --config_dir  dir
	   Assume config files are in this dir.	This only affects the -y
	   ffmpeg and -y xvid4 modules.	It gives the path where	the modules
	   search for their configuration.

       --lame_preset  name[,fast]
	   use lame preset with	name [off]. Lame features some built-in
	   presets. Those presets are designed to provide the highest possible
	   quality. They have for the most part	been subject to	and tuned via
	   rigorous listening tests to verify and achieve this objective.
	   These are continually updated to coincide with the latest
	   developments	that occur and as a result should provide you with
	   nearly the best quality currently possible from LAME. Any of	those
	   VBR presets can also	be used	in fast	mode, using the	new vbr
	   algorithm. This mode	is faster, but its quality could be a little
	   lower. To enable the	fast mode, append ",fast"

	   _N kbps_
	       Using this preset will usually give you good quality at a
	       specified bitrate. Depending on the bitrate entered, this
	       preset will determine the optimal settings for that particular
	       situation. While	this approach works, it	is not nearly as
	       flexible	as VBR,	and usually will not reach the same quality
	       level as	VBR at higher bitrates.	ABR.

	       This preset should provide near transparency to most people on
	       most music. The resulting bitrate should	be in the 150-180kbps
	       range, according	to music complexity. VBR.

	       This preset should generally be transparent to most people on
	       most music and is already quite high in quality.	The resulting
	       bitrate should be in the	170-210kbps range, according to	music
	       complexity. VBR.

	       If you have extremely good hearing and similar equipment, this
	       preset will provide slightly higher quality than	the "standard"
	       mode. The resulting bitrate should be in	the 200-240kbps	range,
	       according to music complexity. VBR.

	       This preset will	usually	be overkill for	most people and	most
	       situations, but if you must have	the absolute highest quality
	       with no regard to filesize, this	is the way to go. This preset
	       is the highest preset quality available.	320kbps	CBR.

	   (taken from[1]

       --av_fine_ms  t
	   AV fine-tuning shift	t in millisecs [autodetect] also see -D.

       --nav_seek  file
	   use VOB or AVI navigation file [off]. Generate a nav	file with
	   tcdemux -W >nav_log for VOB files or	with aviindex(1) for AVI

	   process VOB in PSU, -o is a filemask	incl. %d [off].	PSU means
	   Program Stream Unit and this	mode is	useful for (mostly) NTSC DVDs
	   which have several program stream units.

       --psu_chunks  a-b
	   process only	selected units a-b for PSU mode	[all]

	   encode to single file in chapter/psu/directory mode [off]. If you
	   don't give this option, you'll end up with several files in one of
	   the above mentioned modes. It is still possible to merge them with


	   (EXPERIMENTAL) enable multiple input	mode: intelligently join input
	   files in import. The	inputs can be expressed	using standard POSIX
	   globbing. While theorically all input modules are supported,	it is
	   safe	to use this only when dealing with constant-sized audio	(PCM)
	   and intra-frame only	video codecs (es: MJPEG). To be	safe, use this
	   mode	with im, ffmpeg	and raw	import modules.

       --pre_clip  t[,l[,b[,r]]]
	   select initial frame	region by clipping border [off]

       --post_clip  t[,l[,b[,r]]]
	   select final	frame region by	clipping border	[off]

	   disable liba52 dynamic range	compression [enabled]. If you dont
	   specify this	option,	liba52 will provide the	default	behaviour,
	   which is to apply the full dynamic range compression	as specified
	   in the A/52 stream. This basically makes the	loud sounds softer,
	   and the soft	sounds louder, so you can more easily listen to	the
	   stream in a noisy environment without disturbing anyone.

	   If you let it enabled this this will	totally	disable	the dynamic
	   range compression and provide a playback more adapted to a movie
	   theater or a	listening room.

	   demux AC3/A52 to separate channels [off]

	   disable liba52 dolby	surround [enabled]. Selects whether the	output
	   is plain stereo (if the option is set) or if	it is Dolby Pro	Logic
	   - also called Dolby surround	or 3:1 - downmix (if the option	is not

	   disable colored log messages. By default transcode use colors in
	   log messages	in order to easily distinguish message classes.	That
	   behaviour can be problematic	if output of transcode is a file or a
	   pipe, so this option	came handful.

       --dir_mode  base
	   process directory contents to base-%03d.avi [off]

       --frame_interval	 N
	   select only every Nth frame to be exported [1]

       --encode_fields	C
	   enable field	based encoding (if supported) [off]. This option takes
	   an argument if given	to denote the order of fields. If the option
	   is not given, it defaults to	progressive (do	not assume the picture
	   is interlaced)

	   Valid codes for C are:

	       progressive (default)

	       top-field first

	       bottom-field first

       --dv_yuy2_mode, --dv_yv12_mode
	   Indicates that libdv	decodes	Digital	Video frames in	YUY2 (packed)
	   or YV12 (planar) mode, respectively.	Normally transcode figures out
	   the correct mode automatically, but if you try to transcode PAL DV
	   files and the results look strange, try one of these	options.

       --write_pid  file
	   write pid of	signal thread to file [off]. Enables you to terminate
	   transcode cleanly by	sending	a SIGINT (2) to	the pid	in file.
	   Please note file will be overwritten. Usage example

				       $ transcode ... --write_pid /tmp/ &
				       $ kill -2 `cat /tmp/`

       --nice  N
	   set niceness	to N [off]. The	option --nice which renices transcode
	   to the given	positive or negative value. -10	sets a high priority;
	   +10 a low priority. This might be useful for	cluster	mode.

       --progress_meter	 N
	   select type of progress meter [1]. Selects the type of progress
	   message printed by transcode:

	       no progress meter

	       standard	progress meter

	       raw progress data (written to standard output)

	   Scripts that	need progress data should use type 2, since the	format
	   of type 1 is	subject	to change without notice.

       --progress_rate	N
	   print progress every	N frames [1]. Controls how frequently the
	   status message is printed (every N frames).

       --socket	 FILE
	   Open	a socket to accept commands while running. See tcmodinfo(1)
	   and /docs/filter-socket.txt for more	information about the

	   if set, forces the colored logging off for all the tools of
	   transcode suite.

	   Most	source material	parameter are auto-detected.

	   Clipping region options are expanded	symmetrically. Examples:

	   -j 80 will be expanded to -j	80,0,80,0

	   -j 80,8 will	be expanded to -j 80,8,80,8

	   -j 80,8,10 will be expanded to -j 80,8,10,8

	   maximum image size is 1920x1088.

	   The video frame operations ordering is fixed: "-j -I	-X -B -Z -Y -r
	   -z -l -k -K -G -C" (executed	from left to right).

	   Shrinking the image with '-B' is not	possible if the	image
	   width/height	is not a multiple of 8,	16 or 32.

	   Expanding the image with '-X' is not	possible if the	image
	   width/height	is not a multiple of 8,	16 or 32.

	   The final frame width/height	should be a multiple of	8. (to avoid
	   encoding problems with some codecs)

	       Reducing	the video height/width by 2,4,8	Option '-r factor' can
	       be used to shrink the video image by a constant factor, this
	       factor can be 2,4 or 8.

	       Clipping	and changing the aspect	ratio transcode	uses 3 steps
	       to produce the input image for the export modules

		   Clipping of the input image.

		   Changing the	aspect ratio of	the 1) output.

		   Clipping of the 2) output.


	   Bits	per pixel (bits/pixel) is a value transcode calculates and
	   prints when starting	up. It is mainly useful	when encoding to MPEG4
	   (xvid, divx,	etc). You'll see line like

	   [transcode] V: bits/pixel | 0.237

	   Simplified said, bits/pixel quantifies how good an encode will be.
	   Although this value depends heavily on the used input material, as
	   a general rule of thump it can be said that values greater or close
	   to 0.2 will result in good encodes, encodes with values less	than
	   0.15	will have noticeable artifacts.

	   Bits	per pixel depends on the resolution, bitrate and frames	per
	   second. If you have a low value ( < 0.15), you might	want to	raise
	   the bitrate or encode at a lower resolution.	The exact formula is

				       bpp =  ------------------


	   AC3 / Multiple channels

	   When	you do import an audio stream which has	more then two audio
	   channels - this is usually the case for AC3 audio - transcode will
	   automagically downmix to two	channels (stereo). You'll see line

	   [transcode] A: downmix | 5 channels -> 2 channels

	   This	is done, because most encoders and audio filters can not
	   handle more than 2 channels correctly. The PCM internal
	   representation does not support more	than two channels, audio will
	   be downmixed	to stereo No downmix will happen, if you use AC3 as
	   the internal	audio codec or use audio pass-through.

       The following command will read it's input from the DVD drive (I	assume
       /dev/dvd	is a symbolic link to the actual DVD device) and produce a
       splitted	divx4 movie according to the chapter information on the	DVD
       medium. The output files	will be	named my_movie-ch00.avi,
       my_movie-ch01.avi ...

			   transcode -i	/dev/dvd/ -x dvd -j 16,0 -B 5,0	-Y 40,8	-s 4.47	-U my_movie -y xvid -w 1618

       Option -j 16,0 will be expanded to -j 16,0,16,0 and results in 16 rows
       from the	top and	the bottom of the image	to be cut off. This may	be
       usefull if the source consists of black top and bottom bars.

       Option -B 5,0 tells transcode to	shrink the resulting image by 5*32=160
       rows in height.

       Option -Y 40,8 will be expanded to -Y 40,8,40,8 and tells transcode to

       Option -s 4.47 tells transcode to increase audio	volume by a factor

       Option -U my_movie tells	transcode to operate in	chapter	mode and
       produce output to files named my_movie-ch00.avi,	my_movie-ch01.avi....
       You can either merge the	files afterwards with avimerge or add the
       option --no_split to the	command	line.

       Option -y xvid tells transcode to use the export	module
       which in	turn uses the XviD encoder to encode the video.

       Option -w 1618 tells transcode to set the encoder bitrate to 1618 which
       is lower	than the default of 1800 and results in	smaller	files with the
       loss of visual quality.

       Lets assume that	you have an NTSC DVD (720x480) and you want to make an
	   The frame size of the DVD movie is 720x480 @	16:9. For the purpose
	   of frame resizing, the width	720 is not relavant (that is, it will
	   not be used in the following	reasoning). It is not needed because
	   the original	frame size is really defined by	the frame height and
	   aspect ratio. The _final result_ should be 640x480, encoded as
	   480x480 @ 4:3 (the height 480 multiplied by the aspect ratio	4:3
	   gives the width 640). This same frame size (640x480)	can also be
	   encoded as 640x360 @	16:9 (the height 360 by	the aspect ratio 16:9
	   gives the width 640).

	   As the _original video_ has aspect ratio 16:9, first	we resize to
	   640x360, keeping that aspect	ratio. But the aspect ratio has	to be
	   changed to 4:3. To find the frame size in the new aspect ratio the
	   height 360 is multiplied by the new aspect ratio, giving the	width
	   480.	This is	accomplished with the transcode	options	"--export_asr
	   2 -Z	480x360,fast".

	   To avoid stretching the video height	in this	change (because	the
	   new aspect ratio is less than the original),	black borders should
	   be added at the top and bottom of the video,	bringing the frame to
	   the desired 480x480 @ 4:3 size. The transcode option	for this is
	   "-Y -60,0,-60,0".

	   If for some reason (maybe a subtitle	filter)	the black borders (of
	   height 60 each) should be added before resizing the frame and
	   changing the	aspect ratio to	4:3. One reason	for that would be the
	   need	of running a _pre_ filter after	adding the black borders. Then
	   the options "-j" or "--pre_clip" can	be used	instead	of "-Y". In
	   this	case the black border height has to be recalculated by
	   applying the	aspect ratio 4:3 to the	value alreadyfound: 60 * (4/3)
	   = 80. The transcode options "-j -80,0,-80,0"	or "--pre_clip
	   -80,0,-80,0"	are then used instead of "-Y -60,0,-60,0", and "-Z
	   480x360,fast" is replaced by	"-Z 480x480,fast".

       Written by Thomas Oestreich
       <>, Tilmann Bitterberg and the

       See the AUTHORS file for	details.

       transcode_export(1) , transcode_filter(1) , transcode_import(1) ,
       avifix(1) , avisync(1) ,	avimerge(1) , avisplit(1) , tcprobe(1) ,
       tcscan(1) , tccat(1) , tcdemux(1) , tcextract(1)	, tcdecode(1) ,
       tcmodinfo(1) , tcxmlcheck(1) , transcode(1)

       Frequently asked	questions (FAQ)	at [1] Example
       transcode sessions at [1]

       Yes, there are bugs in transcode! Do your part and report them

       For details, see	[1]


transcode(1)			14th July 2008			  TRANSCODE(1)


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

home | help