transcode
LINUX video stream processing tool
see also :
avifix - avisync - avimerge - avisplit - tcprobe - tcscan - tccat - tcdemux - tcextract - tcdecode - tcmodinfo - tcxmlcheck
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]
add an example, a script, a trick and tips
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".
source
How to adjust and combine multiple lower quality photos into one better using FOSS?
You might want to have a look at Panorama Tools and Enblend.
However I have to disclaim any experience with those, I just know
those tools exist.
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
1.
http://www.mp3dev.org/mp3/doc/html/presets.html)
a
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.
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]
see also
transcode_export
, transcode_filter , transcode_import ,
avifix , avisync , avimerge ,
avisplit , tcprobe , tcscan ,
tccat , tcdemux , tcextract ,
tcdecode , tcmodinfo ,
tcxmlcheck , transcode
authors
Written by
Thomas Oestreich
<ostreich[:at:]theorie.physik[:dot:]uni-goettingen.de>,
Tilmann Bitterberg and the Transcode-Team
See the
AUTHORS file for details.