table of contents
TRANSCODE(1) | 14th July 2008 | TRANSCODE(1) |
NAME¶
transcode - LINUX video stream processing toolSYNOPSIS¶
transcode
-i name [-o name] [-y vmod,amod]
[-w
vbitrate [ ,vkeyframes [ ,vcrispness ] ]]
[-a atrack [ ,vtrack ]]
[-b abitrate [
,is_vbr [ ,quality [
,mode ] ] ]] [-M demuxer_mode]
[-F codec_string] [ other options]
QUICK SUMMARY¶
DESCRIPTION¶
OPTIONS¶
-Ause 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
-D num
de-interlace effects only
2
resize effects only
3
process full frame (slow)
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
-N format
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).
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
-O
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
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]
-S unit[,s1-s2]
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).
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):
If you also set --export_prof, you can use just "fast" to
indicate that fast resizing is wanted (likewise with
"interlaced").
-a ach[,vch]
-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.
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
-c f1-f2[,f3-f4[, ... ] ]
Joint Stereo (default)
1
Full stereo
2
Mono
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:
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
-c 500-0:5:01,:10:20-1:18:02.1
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
-g WidthxHeight
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
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
-r n[,m]
QUIET
1
INFO
2
DEBUG
4
STATS
8
WATCH
16
FLIST
32
VIDCORE
64
SYNC
128
COUNTER
256
PRIVATE
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
--avi_limit N
No acceleration
ia32asm
plain x86 assembly
mmx
MMX instruction set
3dnow
3DNow! instruction set
sse
SSE instruction set
sse2
SSE2 instruction set
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:
Keep in mind that there is no endless space in the AVI header, most likely its
around 1000 bytes.
--zoom_filter string
----------------snip---------------- INAM My 1st Birthday ISBJ My first steps! IART My proud family ----------------snip----------------
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
--export_prof S
1:1
2
4:3
3
16:9
4
2.21:1
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)):
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.
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.
--export_par C[,N]
--export_prof svcd clip top/bot -96; resizes to 480x576 --export_prof vcd-ntsc clip top/bot -96; resizes to 352x240
transcode -i vob/ --export_prof svcd -Z fast -o test
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
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
--import_asr C
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)
set import aspect ratio code C
[autoprobed]
Valid codes for C are
1
--keep_asr
1:1
2
4:3
3
16:9
4
2.21:1
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.
Consider --keep_asr a wrapper for calculating -Y options and
-Z options.
--mplayer_probe
+----------------+ +---480-----+ | | | black | |720x306 = 2.35:1| -> -Z 480x480 --keep_asr ->|-----------4 | | | 480x204 8 +----------------+ |-----------0 | black | +-----------+
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
--divx_vbv br,sz,oc
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 )
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
--export_frc F
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
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>
--av_fine_ms t
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-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
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
--dv_yuy2_mode, --dv_yv12_mode
progressive (default)
t
top-field first
b
bottom-field first
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
--nice N
$ transcode ... --write_pid /tmp/transcode.pid & $ kill -2 `cat /tmp/transcode.pid`
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
Scripts that need progress data should use type 2, since the format of type 1 is
subject to change without notice.
--progress_rate N
no progress meter
1
standard progress meter
2
raw progress data (written to standard
output)
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_COLORif set, forces the colored logging off for all
the tools of transcode suite.
NOTES¶
*Most source material parameter are
auto-detected.
*
Clipping region options are expanded
symmetrically. Examples:
-j 80 will be expanded to -j 80,0,80,0
-j 80,8 will be expanded to -j 80,8,80,8
-j 80,8,10 will be expanded to -j 80,8,10,8
*
maximum image size is 1920x1088.
*
The video frame operations ordering is fixed:
"-j -I -X -B -Z -Y -r -z -l -k -K -G -C" (executed from left to
right).
*
Shrinking the image with ´-B´ is not
possible if the image width/height is not a multiple of 8, 16 or 32.
*
Expanding the image with ´-X´ is not
possible if the image width/height is not a multiple of 8, 16 or 32.
*
The final frame width/height should be a
multiple of 8. (to avoid encoding problems with some codecs)
1.
*
Reducing the video height/width by 2,4,8
Option ´-r factor´ can be used to shrink the video image by a
constant factor, this factor can be 2,4 or 8.
2.
Clipping and changing the aspect ratio
transcode uses 3 steps to produce the input image for the export
modules
1.
Clipping of the input image.
2.
Changing the aspect ratio of the 1)
output.
3.
Clipping of the 2) output.
bitrate*1000 bpp = ------------------ width*height*fps
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
The frame size of the DVD movie is 720x480 @
16:9. For the purpose of frame resizing, the width 720 is not relavant (that
is, it will not be used in the following reasoning). It is not needed because
the original frame size is really defined by the frame height and aspect
ratio. The _final result_ should be 640x480, encoded as 480x480 @ 4:3 (the
height 480 multiplied by the aspect ratio 4:3 gives the width 640). This same
frame size (640x480) can also be encoded as 640x360 @ 16:9 (the height 360 by
the aspect ratio 16:9 gives the width 640).
As the _original video_ has aspect ratio 16:9, first we resize to 640x360,
keeping that aspect ratio. But the aspect ratio has to be changed to 4:3. To
find the frame size in the new aspect ratio the height 360 is multiplied by
the new aspect ratio, giving the width 480. This is accomplished with the
transcode options " --export_asr 2 -Z 480x360,fast".
To avoid stretching the video height in this change (because the new aspect
ratio is less than the original), black borders should be added at the top and
bottom of the video, bringing the frame to the desired 480x480 @ 4:3 size. The
transcode option for this is "-Y -60,0,-60,0".
If for some reason (maybe a subtitle filter) the black borders (of height 60
each) should be added before resizing the frame and changing the aspect ratio
to 4:3. One reason for that would be the need of running a _pre_ filter after
adding the black borders. Then the options "-j" or
"--pre_clip" can be used instead of "-Y". In this case the
black border height has to be recalculated by applying the aspect ratio 4:3 to
the value alreadyfound: 60 * (4/3) = 80. The transcode options "-j
-80,0,-80,0" or "--pre_clip -80,0,-80,0" are then used instead
of "-Y -60,0,-60,0", and "-Z 480x360,fast" is replaced by
"-Z 480x480,fast".
AUTHORS¶
Written by Thomas Oestreich <ostreich@theorie.physik.uni-goettingen.de>, Tilmann Bitterberg and the Transcode-Team See the AUTHORS file for details.SEE ALSO¶
WWW¶
Frequently asked questions (FAQ) at http://www.transcoding.org/cgi-bin/transcode?Transcode_FAQ [1] Example transcode sessions at http://www.transcoding.org/cgi-bin/transcode?Command_Examples [1]BUGS¶
Yes, there are bugs in transcode! Do your part and report them immediately. For details, see http://www.transcoding.org/cgi-bin/transcode?Reporting_Problems [1]NOTES¶
a
14th July 2008 | transcode(1) |