diff options
Diffstat (limited to 'debian/transcode/transcode-1.1.7/docs/man/aviindex.1')
-rw-r--r-- | debian/transcode/transcode-1.1.7/docs/man/aviindex.1 | 215 |
1 files changed, 215 insertions, 0 deletions
diff --git a/debian/transcode/transcode-1.1.7/docs/man/aviindex.1 b/debian/transcode/transcode-1.1.7/docs/man/aviindex.1 new file mode 100644 index 00000000..5a38fe32 --- /dev/null +++ b/debian/transcode/transcode-1.1.7/docs/man/aviindex.1 @@ -0,0 +1,215 @@ +.TH aviindex 1 "29th February 2004" "aviindex(1)" +.SH NAME +aviindex \- Write and read text files describing the index of an AVI file +.SH SYNOPSIS +.B aviindex +[ +.B -o +.I ofile +.B -i +.I ifile +.B -f +.B -n +.B -x +.B -v +.B -h +] +.SH COPYRIGHT +\fBaviindex\fP is Copyright (C) 2003,2004 by Tilmann Bitterberg +.SH DESCRIPTION +.B aviindex +writes a text file describing the index of an AVI file. It analyses the +content or index if available of the AVI file and prints this information in a +human readable form. +.PP +An AVI file can have an optional chunk called "idx1" which contains +information about keyframes (syncpoints) and locations of video +frames resp. audio chunks. Though larger AVI files (>2-4GB), so-called +OpenDML AVI or also AVI 2 files, have a more complicated indexing +system, which consists of a superindex referring to (possibly) +several "standard" indexes, the "indexing principle" is the same. +Movie players use such indexes to seek in files. +.PP +\fBaviindex\fP reads the AVI file \fIifile\fP and writes the index +into \fIofile\fP. This can either happen in "dumb" mode where +\fBaviindex\fP looks for an existing index (and trusts this index!) +in the file and dumps this index into a human readable form. The +"dumb" mode is used, when \fI-n\fP is NOT specified or when the +filesize of the input file is smaller than 2 GB. +.PP +In "smart" mode, \fBaviindex\fP scans through the complete AVI file +and searches for chunks (may that video or audio) and reconstructs +the index based on the information found. If an index chunk is found +accidently, \fBaviindex\fP will use the information in this index to +recover the keyframe information, which is important. \fBaviindex\fP +will use smart mode, if given the \fI-n\fP option OR if the AVI file +is larger than 2 GB. If the file is large, the index chunk cannot be +found the usual way so one must use \fI-n\fP but it is possible that +there is an index chunk in this file. Cross fingers. +.PP +Also in smart mode, \fBaviindex\fP analyzes the content of the video frame and +tries to detect keyframes by looking at the data depending on the video codec. +.PP +The generated index file serves different purposes. +.RS +.TP +* +The library which handles AVI files in transcode(1) can read such +index files and use this file to rebuild the index instead of +scanning through the whole AVI file over and over again. Reading the +index from the index file is +.B much +faster than scanning through the +AVI. +.TP +* +It can be used as a seeking file. When given to transcode via the +--nav_seek switch, transcode will use the file to seek directly to +the position you specified via -c. This also works for multiple -c +ranges. +.TP +* +Its nice to have for debugging. +.RE +.SH OPTIONS +.TP +\fB-o\fP \fIofile\fP +Specify the name of the output file. +.TP +\fB-i\fP \fIifile\fP +Specify the name of the input file. +.TP +\fB-f\fP +force the use of the existing index. +.TP +\fB-n\fP +force generating the index by scanning the file. +.TP +\fB-x\fP +(implies -n) don't use any existing index to generate keyframes. +.TP +\fB-v\fP +show version. +.TP +\fB-h\fP +show help text. +.SH MPLAYER +.B aviindex +can convert from and to mplayer-generated index files. Since mplayer-1.0pre3 mplayer has the ability to save the index via +.I \-saveidx +FILE +and load it again through +.I \-loadidx +FILE. +.B aviindex +is able to convert an mplayer index file to a transcode index file and vice +visa. It is not able to directly write an mplayer file, though. Example of a +toolchain +.nf + mplayer -frames 0 -saveidx mpidx broken.avi + aviindex -i mpidx -o tcindex + avimerge -x tcindex -i broken.avi -o fixed.avi +.fi +Or the other way round +.nf + aviindex -i broken.avi -n -o broken.idx + aviindex -i broken.idx -o mpidx + mplayer -loadidx mpidx broken.avi +.fi +The major differences between the two index file formats is that the mplayer +one is a binary format which is an exact copy of an index in the AVI file. +.B aviindex +\'s format is text based. See +.B FORMAT +for details. +.SH EXAMPLES +The command +.PP +.nf + aviindex -i 3GBfile.avi -o 3GB.index +.fi +.PP +generates and index of the large file 3GBfile.avi. You can use the +file 3GB.index to tell transcode to read the index from this file +and not from the avi. This leads to much faster startup time. +.PP +Suppose 3GBfile.avi has DivX video and PCM sound and you want to +encode several ranges. +.PP +.nf +transcode -V -i 3GBfile.avi --nav_seek 3GB.index \\ +\ -x xvid,avi \\ +\ -c 5000-6000,0:20:00-0:21:00,100000-100001 \\ +\ -y xvid --lame_preset standard -o out.avi +.fi +.SH FORMAT +The format of the index file. The first 7 bytes in this file are +"AVIIDX1" for easy detection and a comment of who created the file. +The second line is a comment and describes the fields. Do not delete +it. Each line (except the first 2) consists of exactly 8 fields all +seperated by one space and describing one particular chunk of the AVI +file. +.br +Here is an example of an AVI file with two audio tracks. +.RS + +.nf +AVIIDX1 # Generated by aviindex (transcode-0.6.8) +TAG TYPE CHUNK CHUNK/TYPE POS LEN KEY MS +00db 1 0 0 2048 8335 1 0.00 +01wb 2 1 0 10392 847 1 0.00 +01wb 2 2 1 11248 847 1 0.00 +02wb 3 3 0 12104 847 1 0.00 +02wb 3 4 1 12960 847 1 0.00 +00db 1 5 1 13816 5263 0 0.00 +00db 1 6 2 19088 3435 0 0.00 +01wb 2 7 2 22532 834 1 0.00 +.fi + +.RE +The field \fITAG\fP is the chunk descriptor. Its "00d*" for the video, +"01wb" for the first audio track, "02wb" for the second audio track +and so on. +.PP +The field \fITYPE\fP is the type of the chunk. This is redundant because +the type is also embedded into the TAG field but its a convenient +thing to have. Its 1 for video, 2 for first audio track and 3 +for second audio track. +.PP +The field \fICHUNK\fP is the absolute chunk number in the AVI file. If you +read the CHUNK field in the last line of the index file, you know +how many chunks this AVI file has. +.PP +The field \fICHUNK/TYPE\fP holds information about how many chunks +of this type were previously found in the AVI file. +.PP +The field \fIPOS\fP is the absolute byte position in the AVI file +where this chunk can be found. Note this field can hold really large +numbers if you are dealing with large AVIs. +.PP +The field \fILEN\fP is the length of this chunk. +.PP +The field \fIKEY\fP holds information if this chunk is a keyframe. +In the example above, all audio chunks are key-chunks, but only the +first video frame is a key frame. This field is either 0 or 1. +.PP +The field \fIMS\fP holds information about how many milliseconds +have passed. This field may be 0.00 if unknown. +.SH AUTHORS +.B aviindex +was written by Tilmann Bitterberg <transcode at tibit.org> +.br +and is part of transcode. +.SH SEE ALSO +.BR avifix (1), +.BR avisync (1), +.BR avimerge (1), +.BR avisplit (1), +.BR tccat (1), +.BR tcdecode (1), +.BR tcdemux (1), +.BR tcextract (1), +.BR tcprobe (1), +.BR tcscan (1), +.BR transcode (1), +.BR mplayer (1) |