Provided by: transcode_1.1.7-9build4_amd64 bug

NAME

       transcode - LINUX video stream processing tool

SYNOPSIS

       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]

QUICK SUMMARY

       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.

DESCRIPTION

       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 filters.

       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.

OPTIONS

       -A
           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].

           1
               de-interlace effects only

           2
               resize effects only

           3
               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].

           1

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

           2

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

           3

               "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.

           4

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

           5

               "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/ directory.

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

       -K
           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
           computed.

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

           Overview
               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.

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

           1
               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.

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

           3
               (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.

           4
               (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:

           0x1
               PCM uncompressed audio

           0x50
               MPEG layer-2 aka MP2

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

           0x2000
               AC3 audio

           0xfffe
               OGG/Vorbis audio

       -O
           skip flushing of buffers at encoder stop [off, do flushing at each stop].

       -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 invalid.

           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, rgb24

           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:

           0
               Joint Stereo (default)

           1
               Full stereo

           2
               Mono

       -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

       -d
           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:

           1
               23.976 (24000/1001.0)

           2
               24

           3
               25

           4
               29.970 (30000/1001.0)

           5
               30

           6
               50

           7
               59.940 (2 * 29.970)

           8
               60

           9
               1

           10
               5

           11
               10

           12
               12

           13
               15

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

       -h
           print out usage information.

       -i  name
           input file/directory/device/mountpoint/host name, default is [/dev/zero].

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

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

       -l
           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:

           0
               QUIET

           1
               INFO

           2
               DEBUG

           4
               STATS

           8
               WATCH

           16
               FLIST

           32
               VIDCORE

           64
               SYNC

           128
               COUNTER

           256
               PRIVATE

       -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 [off,1,1,1].

       -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].

       -v
           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 streams.

       -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

           C
               No acceleration

           ia32asm
               plain x86 assembly

           mmx
               MMX instruction set

           3dnow
               3DNow! instruction set

           sse
               SSE instruction set

           sse2
               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:

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

                                       ----------------snip----------------
           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:

           Bell

           Box

           Lanczos3 (default)

           Mitchell

           Hermite

           B_spline

           Triangle

       --cluster_percentage
           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:

           1
               1:1

           2
               4:3

           3
               16:9

           4
               2.21:1

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

           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 support.

           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 samplerate.

           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:1 No stretching

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

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

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

           5
               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

           1
               1:1

           2
               4:3

           3
               16:9

           4
               2.21:1

       --keep_asr
           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 options.

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

           0
               Free/No profile ( Use supplied values )

           1
               Handheld ( 320, 16, 3072 )

           2
               Portable ( 1920, 64, 12288 )

           3
               Home Theatre ( 10000, 192, 36864 )

           4
               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 are

           frc rate

           1
               23.976 (24000/1001.0)

           2
               24

           3
               25

           4
               29.970 (30000/1001.0)

           5
               30

           6
               50

           7
               59.940 (2 * 29.970)

           8
               60

           9
               1

           10
               5

           11
               10

           12
               12

           13
               15

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

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

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

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

       --no_audio_adjust
           disable internal audio frame sample adjustment [off]

       --no_bitreservoir
           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.

           medium
               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.

           standard
               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.

           extreme
               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.

           insane
               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 http://www.mp3dev.org/mp3/doc/html/presets.html)[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 files.

       --psu_mode
           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]

       --no_split
           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 avimerge(1).

       --multi_input

           (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]

       --a52_drc_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.

       --a52_demux
           demux AC3/A52 to separate channels [off]

       --a52_dolby_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 used).

       --log_no_color
           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:

           p
               progressive (default)

           t
               top-field first

           b
               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/transcode.pid &
                                       $ kill -2 `cat /tmp/transcode.pid`

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

           0
               no progress meter

           1
               standard progress meter

           2
               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 protocol.

ENVIRONMENT

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

NOTES

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

           1.
               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.

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

               1.
                   Clipping of the input image.

               2.
                   Changing the aspect ratio of the 1) output.

               3.
                   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

                                           bitrate*1000
                                       bpp =  ------------------
                                           width*height*fps

       *

           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 like

           [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.

EXAMPLES

       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 4.47.

       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 export_xvid.so 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 NTSC-SVCD
           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".

AUTHORS

       Written by Thomas Oestreich <ostreich@theorie.physik.uni-goettingen.de>, Tilmann
       Bitterberg and the Transcode-Team

       See the AUTHORS file for details.

SEE ALSO

       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)

WWW

       Frequently asked questions (FAQ) at
        http://www.transcoding.org/cgi-bin/transcode?Transcode_FAQ [1] Example transcode sessions
       at
        http://www.transcoding.org/cgi-bin/transcode?Command_Examples [1]

BUGS

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

       For details, see
        http://www.transcoding.org/cgi-bin/transcode?Reporting_Problems [1]

NOTES

        1. http://www.mp3dev.org/mp3/doc/html/presets.html)
           a