tcexport man page

tcexport — Simple frontend to transcode's encoding subsystem


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 ]


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.


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


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)


Explore man page connections for tcexport(1).