NAME
tcexport - Simple frontend to transcode's encoding subsystem
SYNOPSIS
tcexport [ -i video_file ] [ -p audio_file ] [ -o output_file ] [ -c
f1-f2[,f3-f4[,...]] ] [ -N fmt,fmt ] [ -R n[,video_log[,audio_log]] ]
[ -P profile[,profile] ] [ -y video_mod,audio_mod,mplex_mod ] [ -w
bitrate[,keyint[,crisp]] ] [ -b bitrate[,vbr[,quality[,mode]]] ] [ -D ]
[ -d verbosity ] [ -m path ] [ -v ]
COPYRIGHT
tcexport is Copyright (C) by Francesco Romani
DESCRIPTION
tcexport was designed as a debug tool for transcode's encoding code: it
fits in a very limited range of usage cases; however, it can also be
used independently if you like.
tcexport encodes and multiplexes a raw YUV4MPEG2/WAV V/A stream using
given parameters and transcode encoder components. tecexport provides
direct and complete access to transcode's encoding features and
modules, but hasn't any of transcode
import/extracting/decoding/filtering capabilities. Use some other tc*
tool if you need those facilities.
tcexport's options are intentionally made similar, or identical if
feasible, to corresponding transcode's encoding options.
OPTIONS
-i video_file
Specify the path of video source. Only regular files on
filesystem are supported. video_file must be a YUV4MPEG2
stream, nothing else is supported.
-p audio_file
Specify the path of audio source. Only regular files on
filesystem are supported. audio_file must be a WAVE stream,
nothing else is supported.
-o output_file
Specify the (base)path of output file. Some multiplexors (es:
raw multiplexor) uses value of this option as an hint to make
the final output file(s) (i.e. appending different extensions
for A/V streams).
-c f1-f2[,f3-f4[, ... ] ]
encode only frames f1-f2 [and f3-f4 and so on]. Default is to
encode all available frames. Use this and you will 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 tcexport, ad well as 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
-N video_format,audio_format
Setup the desired encoded video and audio format respectively.
You must always use this option since there is some encoder
modules (notably encode_ffmpeg) that support a lot of codecs,
and tcexport nor modules can automatically choose a sane one not
have defaults (yet).
-R n[,video_log[,audio_log]]
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.
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.
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).
-P profile[,profile]
select export profile(s) to load. An export profile it's just a
different, already tuned, set of basic values for tcexport's
options. Even if isn't recomended, an user can always overwrite
profile settings just using standard options. export profiles
are stackable, just requesting to load multiple profiles
separated by commas; if some options are set by more than one
profile, the last profile determine their value.
-y video_mod,audio_mod,mplex_mod
Select export modules: video and audio encoders, and multiplexor
module. You always must select both the encoders and
multiplexor, there isn't implicit modules. The only exception to
this rule is if this option isn't used at all: in this case
tcexport will use null modules.
-w bitrate[,keyint[,crisp]]
encoder bitrate[,keyframes[,crispness]] [(6000 for MPEG 1/2,
1800 for others),250,100].
-b bitrate[,vbr[,quality[,mode]]]
audio encoder bitrate kBits/s[,vbr[,quality[,mode]]] [128,0,5,0]
-D Select dry run mode: tcexport will probe stream, load selected
modules then exit, without doing anything else.
-d verbosity
Select the verbosity of program, support code and modules. See
transcode's manpage to see supported verbosity levels. Please
note that higher verbosity levels include lower ones, so if You
select i.e. TC_DEBUG level you will get TC_DEBUG messages and
TC_INFO messages. Please also note that high verbosity levels
will output a lot of messages.
-m path
Look in Path instead of the compiled-in module path for a
module.
-v Print version information and exit.
RETURN VALUES
tcexport uses following return values:
0 successfull
1 bad parameter or command line option
2 error while reading/writing from/to a file
3 requested an inexistent (or unreadable) module
4 a module raised an internal error
5 error while probing input file(s). Make sure they are of right
format.
64 internal error. Please provide a report of what's happened on
transcode-devel mailing list
AUTHORS
tcexport was written by Francesco Romani
<fromani@gmail.com> with contributions from the Transcode Team and many
others. See AUTHORS for details.
SEE ALSO
tccat(1), tcdecode(1), tcdemux(1), tcextract(1), tcprobe(1),
transcode(1) tcmodinfo(1)