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.
- -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.
-y af6:
The codec String for the codec you want to encode to. Example values are -F "Uncompressed I420" or -F "OpenDivX 3.11 compatible decoder". To get a list of valid codecs, use -F invalid.
-y ffmpeg:
The codec String for the codec you want to encode. Example values are -F mpeg4 or -F mpeg1video or -F huffyuv. To get a list of valid codecs, use -F list
-y im:
The name of the image format you want to export. Example values are '-F jpg' (default) or '-F png' or -F 'gif'. With -F jpg, -w gives quality in percent. With -F png, the first digit of -w gives compression level, the second one gives quality, so -w 95 selects best compression level (9) and 5 means PNG adaptive filtering.
-y jpg:
The quality of the JPEG encode in percent. Example values are '-F 75' (default) or '-F 100'
-y mov:
Syntax: -F "<vcodec>,<acodec>[,<parameters>]"
<vcodec> = Videocodec to encode with. Default: "mjpa"
<acodec> = Audiocodec to encode with. Default: "ima4"
<parameters> = A comma seperated list of parameters
to be passed to the codec.
Note: You can use "list" instead of a video/audiocodec or
parameter to get a list of supported options.
-y mp1e:
Syntax: -F "<base-profile>[,<options_string>]"
<base-profile> can be one of
'mpeg1' = Generic MPEG1 (default)
'vcd' = Standard VCD
<options_string> will be passed down to mp1e untouched by transcode. Have a look at the manpage for mp1e.
-y mpeg:
Syntax: -F "<base-profile>[,<resizer-mode>[,user-profile]]"
<base-profile> can be one of
'1' = MPEG 1 (default)
'b' = big MPEG 1 (experimental)
'v' = VCD
's' = SVCD
'2' = MPEG2
'd' = DVD compliant
<resizer-mode> can be one of
0 = disable resizer (default)
1 = 352x288
2 = 480x480
3 = 480x576
4 = 352x240
<user-profile> is a filename of the profile file. You can either specify the absolute path to the file or if you transcode will look for it in the directory where you started transcode.
-y mpeg2enc:
Syntax: -F "<base-profile>[,<options_string>]"
<base-profile> can be one of
'0' = Generic MPEG1 (default)
'1' = Standard VCD
'2' = User VCD
'3' = Generic MPEG2
'4' = Standard SVCD
'5' = User SVCD
'6' = Manual parameter mode
'8' = DVD
<options_string> will be passed down to mpeg2enc untouched by transcode. Have a look at the manpage for mpeg2enc.
- -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
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]. A full-blown transcode
installation has the following filter modules:
- See the section FILTERS for details.
- To see what filters are available at your installation of
transcode, execute
ls -1 `tcmodinfo -p`/filter*.so
Example:
-
transcode [...]
-J 32detect=force_mode=3,normalize,cut="0-100 300-400"
Will load the 32detect filter plugin with parameter
force_mode=3, the volume normalizer and the cut filter.
- 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. The FILTERS section documents nearly every
filter which might be of use.
- -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 0xNN
- export audio format id [0x55].
- Available format IDs 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
- flush lame mp3 buffer on encoder stop [off].
- -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.
- -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
- 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
- use YV12/I420 as internal video layout / colour space
This option is depricated. It is default now because it is most
codecs' internal format so there is no need for conversions. Some
modules may not support it though. Use --use_rgb in that case.
- --use_rgb
- Use RGB as internal video layout / colour space
Use this when you want the old (pre-0.6.13) transcode behaviour of
using RGB as 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.
- -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]
- resize to width columns, height rows with
filtering [off,notfast].
If fast is given, transcode will calculate the parameters
for -X and/or -B. The option 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.
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 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 guess 576 and do filtered zoom.
If you also set --export_prof, you can use just "fast" to
indicate that fast resizing is wanted.
- -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 when encoding variable bitrate
MPEG-2 streams
- -x vmod[,amod]
- video[,audio] import modules [auto,auto]. If omitted, transcode
will probe for appropriate import modules. A full-blown transcode
installation has the following import modules:
-
- ac3 - (audio) AC3
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- decodes AC3 audio from MPEG program streams or raw streams.
Supported processing formats: audio - PCM AC3, video - none
- af6 - (video) Win32 dll | (audio) PCM
-
At compile-time avifile must be available. At run-time avifile and
win32codecs must be present. Support for this module is fair.
- interface to avifile library supported codecs and file
formats.
Supported processing formats: audio - PCM, video - RGB YUV
- avi - (video) * | (audio) *
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- RGB/PCM from RIFF AVI files.
Supported processing formats: audio - RAW (pass-through) PCM, video
- RAW (pass-through) RGB YUV YUV420
- bktr - (video) bktr
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- grabs video frames from bktr(4) devices
on BSD systems
Supported processing formats: audio - none, video - RGB YUV
YUV420
- divx - (video) DivX;-)/XviD/OpenDivX/DivX 4.xx/5.xx
-
This module has no compile-time dependencies. At run-time
libdivxencode must be present. Support for this module is poor.
- decoding support for AVI-files with DivX, OpendivX, DivX
4.xx/5.xx, XviD video using the DivX codec.
Supported processing formats: audio - none, video - RAW
(pass-through) RGB YUV
- dv - (video) DV | (audio) PCM
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- Digital Video and PCM audio from RIFF AVI-files or raw
streams.
Supported processing formats: audio - PCM, video - RAW
(pass-through) RGB YUV DV YUV420
- dvd - (video) DVD | (audio) MPEG/AC3/PCM
-
At compile-time libdvdread must be available. This module has no
run-time dependencies. Support for this module is good.
- on-the-fly DVD transcoding.
Supported processing formats: audio - PCM AC3, video - RGB YUV
- ffbin - (video) rendered by ffmpeg binary | (audio)
rendered by ffmpeg binary
-
This module has no compile-time dependencies. At run-time ffmpeg
binary must be present. Support for this module is good.
- audio and video decoded by the ffmpeg binary.
Supported processing formats: processing modes: audio - PCM, video
- RAW (pass-through) RGB YUV
- ffmpeg - (video) FFmpeg: MSMPEG/MPEG/MJPEG
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- interface to ffmpeg library supported video codecs and file
formats
Supported processing formats: audio - none, video - RAW
(pass-through) RGB YUV
- fraps - (video) *
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is poor.
- decodes fraps, FPS1, a packed form of YUV420
Supported processing formats: audio - none, video - YUV
- im - (video) RGB
-
At compile-time ImageMagick must be available. At run-time
ImageMagick must be present. Support for this module is fair.
- interface to ImageMagick library supported picture codecs and
file formats for making animations. Reads images with a counter
pattern.
Supported processing formats: audio - none, video - RAW
(pass-through) RGB
- imlist - (video) RGB
-
At compile-time ImageMagick must be available. At run-time
ImageMagick must be present. Support for this module is fair.
- interface to ImageMagick library supported picture codecs and
file formats for making animations. Reads images from a list.
Supported processing formats: audio - RAW (pass-through), video -
RAW (pass-through) RGB
- lav - (video) LAV | (audio) WAVE
-
This module has no compile-time dependencies. At run-time
mjpegtools must be present. Support for this module is good.
- interface to mjpegtools (YUV4MPEG) streams produced by lav2yuv
and lav2wav.
Supported processing formats: audio - PCM, video - RGB YUV
- lve - (video/audio) MPEG/VOB/LVE
-
At compile-time liblve must be available. This module has no
run-time dependencies. Support for this module is fair.
- imports video from an LVE edit list
Supported processing formats: audio - PCM, video - YUV
- lzo - (video) LZO
-
At compile-time lzo must be available. This module has no run-time
dependencies. Support for this module is good.
- imports AVI-files with LZO loss-less compression for video.
Supported processing formats: audio - RAW (pass-through) PCM, video
- RAW (pass-through) RGB YUV
- mov - (video) * | (audio) *
-
At compile-time libquicktime must be available. This module has no
run-time dependencies. Support for this module is good.
- Quicktime file format, audio/video codecs supported by
quicktime4linux.
Supported processing formats: audio - PCM, video - RAW
(pass-through) RGB YUV
- mp3 - (audio) MPEG
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- MPEG audio from program streams or raw streams.
Supported processing formats: audio - PCM, video - none
- mpeg2 - (video) MPEG2
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- video track from MPEG program streams or raw streams, extracted
and decoded by mpeg2dec.
Supported processing formats: audio - none, video - RAW
(pass-through) RGB YUV
- mpeg3 - (video) MPEG2 | (audio) MPEG/AC3/PCM
-
At compile-time libmpeg3 must be available. At run-time libmpeg3
must be present. Support for this module is fair.
- video track from MPEG program streams or raw streams extracted
and decoded by libmpeg3.
Supported processing formats: audio - RAW (pass-through) PCM, video
- RGB YUV
- mplayer - (video) rendered by mplayer | (audio) rendered
by mplayer
-
This module has no compile-time dependencies. At run-time mplayer
must be present. Support for this module is fair.
- interface to Mplayer for decoding unsupported codecs, exotic
file formats or more ore less broken sources.
Supported processing formats: audio - PCM, video - RAW
(pass-through) RGB YUV
- net - (video) RGB/YUV | (audio) PCM
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is poor.
- read raw video/audio streams from sockets.
Supported processing formats: audio - PCM, video - RGB YUV
- null - (video) null | (audio) null
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is fair.
- dummy module, reads from /dev/zero.
Supported processing formats: audio - none, video - none
- nuv - (video) YUV | (audio) PCM
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is fair.
- interface to NuppelVideo file format.
Supported processing formats: audio - PCM, video - YUV
- nvrec - (video) nvrec | (audio) nvrec
-
This module has no compile-time dependencies. At run-time nvrec
must be present. Support for this module is fair.
- interface to NVrec video recorder program.
Supported processing formats: audio - PCM, video - YUV
- ogg - (video) all | (audio) Ogg Vorbis
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- decodes Ogg Vorbis audio streams.
Supported processing formats: audio - RAW (pass-through) PCM, video
- RAW (pass-through) RGB YUV
- pvn - (video) PVN
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is fair.
- imports video in the PVN format.
Supported processing formats: audio - RAW (pass-through), video -
RAW (pass-through) RGB
- raw - (video) RGB/YUV | (audio) PCM
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is fair.
- RGB/PCM from RIFF AVI/WAVE files or raw streams.
Supported processing formats: audio - PCM, video - RGB YUV
YUV420
- rawlist - (video) YUV/RGB raw frames
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is fair.
- reads images from a list. Native support for raw image formats
only.
Supported processing formats: audio - RAW (pass-through), video -
RGB YUV YUV420
- sh - (video) * | (audio) *
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is fair.
- runs commands and reads from stdin.
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RAW (pass-through) RGB YUV YUV420
- sunau - (audio) pcm
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- grabs raw PCM audio from audio(4)
devices on some BSD systems
Supported processing formats: audio - PCM, video - none
- v4l - (video) v4l | (audio) PCM
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is fair.
- interface for grabbing sound/video from v4l devices on linux
systems.
Supported processing formats: audio - PCM, video - RGB YUV
- v4l2 - (video) v4l2 | (audio) pcm
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- interface for grabbing sound/video from v4l2 devices on linux
systems. prefered over import_v4l.
Supported processing formats: audio - PCM, video - RGB YUV
YUV420
- vdrac3 - (audio) VDR-AC3
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is fair.
- AC3 audio with invalid AC3 audio stream header from MPEG
streams produced by digital capture cards.
Supported processing formats: audio - PCM AC3, video - none
- vnc - (video) VNC
-
This module has no compile-time dependencies. At run-time vncrec
must be present. Support for this module is fair.
- imports video from the vncrec program.
Supported processing formats: audio - none, video - RAW
(pass-through) RGB YUV
- vob - (video) MPEG-2 | (audio) MPEG/AC3/PCM | (subtitle)
- vob - (video) MPEG-2 | (audio) MPEG/AC3/PCM | (subtitle)
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- MPEG/AC3 program streams in VOB files (found on
unencrypted/ripped DVDs).
Supported processing formats: audio - PCM AC3, video - RAW
(pass-through) RGB YUV
- xml - (video) * | (audio) *
-
At compile-time libxml2 must be available. At run-time libxml2 must
be present. Support for this module is fair.
- interface to XML files with file listing and frame range
produced by kino.
Supported processing formats: audio - RAW (pass-through) PCM, video
- RAW (pass-through) RGB YUV DV
- xvid - (video) XviD/OpenDivX/DivX 4.xx/5.xx
-
This module has no compile-time dependencies. At run-time
libxvidcore must be present. Support for this module is fair.
- decoding support for AVI-files with DivX, OpendivX, DivX
4.xx/5.xx, XviD video using the XviD codec.
Supported processing formats: audio - none, video - RAW
(pass-through) RGB YUV
- yuv - (video) YUV files
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is fair.
- imports directories of files containing single YUV frames.
Supported processing formats: audio - none, video - YUV
- yuv4mpeg - (video) YUV4MPEGx | (audio) WAVE
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- YUV from video streams produced by mjpegtools (YUV4MPEG) and
RIFF WAVE pcm audio.
Supported processing formats: audio - PCM, video - RGB
YUV
- To see what your transcode has, do a
ls -1 `tcmodinfo -p`/import*.so
- It is possible to pass option strings to import modules like to
filter modules. The average user does not this feature and not many
modules support it. The syntax is -x
vmod=options,amod=options
Example
-x rawlist=uyvy,null
To tell the rawlist import module (which reads images from a list
of files) the colour space of the images.
- -y vmod[,amod]
- video[,audio] export modules [null]. If omitted, transcode will
encode to the null module. A full-blown transcode
installation has the following export modules:
-
- ac3 - (video) null | (audio) ac3
-
This module has no compile-time dependencies. At run-time ffmpeg
must be present. Support for this module is good.
- Encodes audio (raw PCM) to AC3 via the ffmpeg binary.
Supported processing formats: audio - PCM, video - none
- af6 - (video) Win32 dll | (audio) MPEG/AC3/PCM
-
At compile-time libavifile must be available. At run-time
libavifile and win32codecs must be present. Support for this module
is good.
- Interface to the avifile library which allows the use of
win32codec on the linux-x86 platform.
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RGB YUV
- debugppm - (video) debugPPM/PGM | (audio) MPEG/AC3/PCM
-
At compile-time libmp3lame (only for MPEG audio layer III) must be
available. This module has no run-time dependencies. Support for
this module is good.
- Especially usefull when debugging in YUV mode. Encodes the
three planes as separate images. In RGB mode, the 3 color planes
get encoded separatly.
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RGB YUV
- divx4 - (video) DivX 4.xx | (audio) MPEG/AC3/PCM
-
At compile-time libmp3lame (only for MPEG audio layer III) must be
available. At run-time divx4linux (old) libdivxencore.so must be
present. Support for this module is fair.
- Encodes MPEG4 video using the closed-source binaries from
divx.com to an AVI container.
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RGB YUV
- divx4raw - (video) DivX 4.xx (ES) | (audio) MPEG/AC3/PCM
-
At compile-time libmp3lame (only for MPEG audio layer III) must be
available. At run-time divx4linux (old) libdivxencore.so must be
present. Support for this module is fair.
- Encodes MPEG4 video using the closed-source binaries from
divx.com into no file container at all. It writes out the raw
bitstream.
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RGB YUV
- divx5 - (video) DivX 5.xx | (audio) MPEG/AC3/PCM
-
At compile-time libmp3lame (only for MPEG audio layer III) must be
available. At run-time divx4linux (new) and libdivxencore.so must
be present. Support for this module is good.
- Encodes MPEG4 video using the closed-source binaries from
divx.com to an AVI container.
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RGB YUV
- divx5raw - (video) DivX 5.xx (ES) | (audio) MPEG/AC3/PCM
-
At compile-time libmp3lame (only for MPEG audio layer III) must be
available. At run-time divx4linux (new) and libdivxencore.so must
be present. Support for this module is fair.
- Encodes MPEG4 video using the closed-source binaries from
divx.com into no file container at all. It writes out the raw
bitstream.
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RGB YUV
- dv - (video) Digital Video | (audio) MPEG/AC3/PCM
-
At compile-time libdv and libmp3lame (only for MPEG audio layer
III) must be available. At run-time libdv must be present. Support
for this module is good.
- Encodes DV into an AVI container. DV is a codec developed by
Sony and is often used in digital camcorders.
Supported processing formats: audio - PCM AC3, video - RGB YUV
- dvraw - (video) Digital Video | (audio) PCM
-
At compile-time libdv must be available. At run-time libdv must be
present. Support for this module is good.
- Encodes DV into a DV file. DV is a codec developed by Sony and
is often used in digital camcorders. A raw DV file can be played
back into the camcorder.
Supported processing formats: audio - PCM, video - RAW
(pass-through) RGB YUV YUV422
- fame - (video) MPEG-4 | (audio) MPEG/AC3/PCM
-
At compile-time libfame must be available. This module has no
run-time dependencies. Support for this module is poor.
- Fame is yet another MPEG4 encoder. It encodes to a raw
file.
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - YUV
- ffmpeg - (video) * | (audio) MPEG/AC3/PCM
-
At compile-time libmp3lame (only for MPEG audio layer III) must be
available. This module has no run-time dependencies. Support for
this module is good.
- Encodes many different formats to both AVI and raw. Supported
are mpeg1video, mpeg2video, mpeg4, mjpeg, h263, h263p, wmv1, wmv2,
rv10, msmpeg4, msmpeg4v2, huffyuv and dvvideo.
Supported processing formats: audio RAW (pass-through) PCM AC3,
video - RGB YUV YUV422
- im - (video) * | (audio) MPEG/AC3/PCM
-
At compile-time libImageMagick must be available. This module has
no run-time dependencies. Support for this module is good.
- Encodes image sequences by using the ImageMagick library.
ImageMagick is able to handle a lot of different image formats such
as png, jpg, miff, tiff, etc. Use -F to select the desired
format.
Supported processing formats: audio - RAW (pass-through) PCM, video
- RGB YUV
- jpg - (video) * | (audio) MPEG/AC3/PCM
-
At compile-time libjpeg must be available. This module has no
run-time dependencies. Support for this module is good.
- Encodes jpg image sequences using libjpeg. Faster than
ImageMagick. Use -F to select the compression quality.
Supported processing formats: audio - RAW (pass-through) PCM, video
- RGB YUV
- lame - (audio) MPEG 1/2
-
At compile-time libmp3lame (only for MPEG audio layer III) must be
available. At run-time lame and sox must be present. Support for
this module is good.
- An audio-only encoder which drives the lame binary. The tool
sox is used to do resampling if required. Encodes to a MP3
file.
Supported processing formats: audio - PCM, video - none
- lzo - (video) LZO real-time compression | (audio)
MPEG/AC3/PCM
-
At compile-time liblzo and libmp3lame (only for MPEG audio layer
III) must be available. This module has no run-time dependencies.
Support for this module is good.
- Encodes video using a loss-less real-time LZO codec. This codec
is a homegrown invention of transcode and is intended as an
intermediate storage format. MPlayer can playback LZO-based AVI
files as well.
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RAW (pass-through) RGB YUV DV
- mjpeg - (video) Motion JPEG | (audio) MPEG/AC3/PCM
-
At compile-time libjpeg and libmp3lame (only for MPEG audio layer
III) must be available. This module has no run-time dependencies.
Support for this module is poor.
- Encodes MJPEG based AVI files using a homegrown algorithm based
on libjpeg. Using ffmpeg -F mjpeg for this task is a good idea.
Supported processing formats: audio - PCM AC3, video - RGB YUV
- mov - (video) * | (audio) *
-
At compile-time libquicktime must be available. At run-time
libquicktime must be present. Support for this module is fair.
- Interface to the quicktime library.
Supported processing formats: audio - PCM, video - RAW
(pass-through) RGB YUV YUV422 YUY2
- mp1e - (video) MPEG1 video | (audio) MPEG1-Layer
-
This module has no compile-time dependencies. At run-time mp1e must
be present. Support for this module is good.
- Drives the mp1e binary and writes an mpeg1 file to disc. It can
also encode vcd compliant streams. Note: it writes an intermediate
wav file for audio due to a limitation of mp1e.
Supported processing formats: audio - PCM, video - RGB YUV
YUV422
- mp2 - (video) null | (audio) MPEG 1/2
-
This module has no compile-time dependencies. At run-time ffmpeg
and sox must be present. Support for this module is good.
- Encodes audio (raw PCM) to MPEG 1 Layer 2 audio aka mp2.
Additionaly it can change the speed of the audio stream by a factor
you can specify. See docs/export_mp2.txt.
Supported processing formats: audio - PCM, video - none
- mp2enc - (audio) MPEG 1/2
-
At compile-time mjpegtools must be available. At run-time mp2enc
must be present. Support for this module is good.
- Drives the mp2enc binary and writes an MP2 (MPEG1-Layer2) file.
Useful for when encoding to SVCD to be multiplexed with mplex after
encoding.
Supported processing formats: audio - PCM, video - none
- mpeg - (video) MPEG 1/2 | (audio) MPEG 1 Layer II
-
At compile-time nasm must be available. This module has no run-time
dependencies. Support for this module is good.
- Interface to the bbmpeg library (included in transcode). It can
encode generic mpeg1, VCD, SVCD, MPEG2 and DVD type video. Encoded
video goes into a elementary file to be multiplexed with the
corresponding audio file after encoding.
Supported processing formats: audio - PCM, video - RGB YUV
- mpeg2enc - (video) MPEG 1/2
-
At compile-time mjpegtools must be available. At run-time mpeg2enc
must be present. Support for this module is good.
- Drives the mpeg2enc binary. mpeg2enc is a very feature rich
MPEG encoder, have a look at its manpage. Encodes generic mpeg1,
VCD, SVCD, MPEG2 and DVD type video.
Supported processing formats: audio - none, video - RGB YUV
- net - (video) RGB/YUV | (audio) PCM/AC3
-
At compile-time net-support must be available. This module has no
run-time dependencies. Support for this module is good.
- Transfers video data over a network between various transcodes.
Useful if you have multiple systems connected via a fast
network.
Supported processing formats: audio - PCM AC3, video - RGB YUV
- null - (video) null | (audio) null
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- Data sink. Does nothing else than discarding data.
Supported processing formats: audio - none, video - none
- ogg - (video) null | (audio) ogg
-
This module has no compile-time dependencies. At run-time oggenc
must be present. Support for this module is good.
- Drives the oggenc binary. Encodes an Ogg/Vorbis file.
Resamples.
Supported processing formats: audio - PCM, video - none
- pcm - (audio) PCM (non-interleaved)
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- Writes each audio channel to a WAVE PCM file.
Supported processing formats: audio - PCM, video - RAW
(pass-through) RGB YUV
- ppm - (video) PPM/PGM | (audio) MPEG/AC3/PCM
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- Writes an image sequence of PGM or PPM files. PPM is an old
format and there are several tools around to manipulate such
files.
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RGB YUV
- pvm - (video) * | (audio) *
-
At compile-time libpvm3 must be available. At run-time pvm must be
present. Support for this module is good.
- Meta module. It allows transcode to be used in a PVM cluster.
See docs/export_pvm.txt
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RAW (pass-through) RGB YUV DV YUV422 YUY2
- pvn - (video) PVN | (audio) MPEG/AC3/PCM
-
This module has no compile-time dependencies. At run-time pvm must
be present. Support for this module is good.
- Writes PVN video. See contrib/pnmpvn/pvnspecs.html
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RGB YUV
- raw - (video) * | (audio) MPEG/AC3/PCM
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- Can write uncompressed streams to an AVI file as well as raw
mpeg2 files in pass-through mode.
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RAW (pass-through) RGB YUV DV YUV422
- toolame - (audio) MPEG 1/2
-
This module has no compile-time dependencies. At run-time toolame
and sox must be present. Support for this module is good.
- Drives the toolame binary to create MP2 audio tracks. Sox is
used for resampling if requested.
Supported processing formats: audio - PCM, video - none
- wav - (audio) WAVE PCM
-
This module has no compile-time dependencies. This module has no
run-time dependencies. Support for this module is good.
- Creates WAVE PCM files with interleaved audio for stereo.
Supported processing formats: audio - PCM, video - RAW
(pass-through) RGB YUV
- xvid2 - (video) XviD 0.9.x (aka API 2.1 series) |
(audio) MPEG/AC3/PCM
-
At compile-time libmp3lame (only for MPEG audio layer III) must be
available. At run-time libxvidencore.so.2 must be present. Support
for this module is good.
- Encodes MPEG4 video using the library available from xvid.org.
Check out the library from xvidcvs using cvs -d :pserver:anonymous@cvs.xvid.org:/xvid co
-rrelease-0_9_2 xvidcore. The output can either be an AVI file or a
MPEG4 elementary stream (with -F raw).
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RGB YUV YUV422
- xvid3 - (video) XviD nonumber series (aka API 3.0) |
(audio) MPEG/AC3/PCM
-
At compile-time libmp3lame (only for MPEG audio layer III) must be
available. At run-time libxvidcore.so.3 must be present. Support
for this module is good.
- Encodes MPEG4 video using the library available from xvid.org.
Check out the library from xvidcvs using cvs -d :pserver:anonymous@cvs.xvid.org:/xvid co
-rHEAD xvidcore. The output can either be an AVI file or a MPEG4
elementary stream (with -F raw).
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RGB YUV YUV422
- xvid4 - (video) XviD 1.0.x series (aka API 4.0) |
(audio) MPEG/AC3/PCM
-
At compile-time libmp3lame (only for MPEG audio layer III) must be
available. At run-time libxvidcore.so.4 must be present. Support
for this module is good.
- Encodes MPEG4 video using the library available from xvid.org.
Check out the library from xvidcvs using cvs -d :pserver:anonymous@cvs.xvid.org:/xvid co
-rdev-api-4 xvidcore. There is also a tool available to create
configuration files for this xvid version at http://zebra.fh-weingarten.de/transcode/xvid4conf.
The output can either be an AVI file or a MPEG4 elementary stream
(with -F raw).
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RGB YUV YUV422
- yuv4mpeg - (video) YUV4MPEG2 | (audio) MPEG/AC3/PCM
-
At compile-time mjpegtools must be available. This module has no
run-time dependencies. Support for this module is good.
- Writes the uncompressed raw YUV data in a YUV4MPEG format as
used by the lav* and mjpeg* tools.
Supported processing formats: audio - RAW (pass-through) PCM AC3,
video - RGB YUV
- To see what your transcode has, do a
ls -1 `tcmodinfo -p`/export*.so
- It is possible to pass option strings to export modules like to
filter modules. The syntax is
-y vmod=options,amod=options
- -z
- flip video frame upside down [off].
- --accel type
- enforce experimental IA32 acceleration for type [autodetect].
type may be one of
-
- C
- No acceleration
- ia32asm
- plain x86 assembly
- mmx
- 3dnow
- sse
- sse2
- --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
- 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/ -V --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/ -V --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
- --ext vid,aud
- Use these file extensions [.avi,.mp3]
When this option is not given, transcode will use a file extension
dependend on the export module. For the mpeg export modules this is
".m2v" resp ".m1v" and ".mpa" for audio.
To clean up this mess, the option --ext was introduced without
breaking exising behaviour. Use --ext
none,none to disable filename extension.
- --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
- --divx_quant min,max
- divx encoder min/max quantizer [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.
- --uyvy
- use UYVY (4:2:2) as internal video codec [off]
This 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 YV12/I420. Most equipment in film
and video post-production uses UYVY. UYVY doubles the precision for
chroma (color difference) information in the image.
- All internal transformations are supported in UYVY mode
(clipping, flipping, zooming, etc).
- --import_v4l n[,id]
- channel number and station number or name [0]
- --record_v4l a-b
- recording time interval in seconds [off]
obsolete, use -c a-b.
- --duration hh:mm:ss
- limit v4l recording to this duration [off]
obsolete, use -c 0-hh:mm:ss.
- --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 all -y xvid234 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"
yuy2tov12 was written by Thomas Oestreich. The version
documented here is v0.0.2 (2003-09-04). This is a video filter. It
can handle YUV mode only. It is a pre-processing only filter.
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 -V -j 16,0 -B 5,0 \
-Y 40,8 -s 4.47 -U my_movie -y xvid -w 1618
Option -V tells transcode to use YUV as internal
video colorspace, which saves a lot of CPU/PCI bandwidth.
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 multiplied 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
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 already found: 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
transcode was written by Thomas
Östreich <ostreich@theorie.physik.uni-goettingen.de>
and Tilmann Bitterberg with contributions from many others. See the
AUTHORS file for details.
SEE ALSO
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
Example transcode sessions
http://www.transcoding.org/cgi-bin/transcode?Command_Examples
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