NAME
avisplit - split AVI-files into chunks of a maximum
size
SYNOPSIS
avisplit [ -i file -o
base [ -s size ] [ -H num ] [
-t s1-s2[,s3-s4,..] -c -m -b
num -f commentfile ] ] [ -v ]
COPYRIGHT
avisplit is Copyright (C) by Thomas
Östreich.
DESCRIPTION
avisplit splits a single AVI-file into
chunks of size size.
Each of the created chunks will be an independent file, i.e. it can
be played without needing any other of the chunk.
OPTIONS
- -i file
- Specify the filename of the file to split into chunks.
- -o base
- Specify the base of the output filename(s) avisplit will
then split to base-%04d.avi
- -s size
- Use this option to specify the maximum size (in units of MB) of
the chunks avisplit should create. 0 means dechunk,
create as many files as possible.
- -H num
- Create only the first num chunks then exit.
- -t s1-s2[,s3-s4,..]
- Split the input file based on time/framecode (hh:mm:ss.ms)
- -c
- Together with -t. Merge all segments into one AVI-File
again instead generating seperate files.
- -m
- Together with -t. Force split at upper bondary instead
of lower border.
- -b num
- Specify if avisplit should write an VBR mp3 header into the AVI
file. Default is 1 because it does not hurt. num is either 1
or 0.
- -f commentfile
- Read AVI tombstone data for header comments from
commentfile. See /docs/avi_comments.txt for a sample.
- -v
- Print only version information and exit.
EXAMPLES
The command
avisplit -s 700 -i my_file.avi
will split the file my_file.avi into chunks which's
maximum size will not exceed 700 MB, i.e. they will fit onto a CD,
each. The created chunks will be named my_file.avi-0000,
my_file.avi-0001, etc.
avisplit -i my_file.avi -c -o out.avi -t
00:10:00-00:11:00,00:13:00-00:14:00
will grab Minutes 10 to 11 and 13 to 14 from my_file.avi and
merge it into out.avi
BAD SYNCH
When you split a file with avisplit and
the A/V sync for the first file is OK but the sync on all
successive files is bad then have a look at the output of tcprobe(1)
(shortend).
| V: 25.000 fps, codec=dvsd, frames=250, width=720, height=576
| A: 48000 Hz, format=0x01, bits=16, channels=2, bitrate=1536 kbps,
| 10 chunks, 1920000 bytes
You'll see the AVI file has only 10 Audio chunks but 250 video
chunks. That means one audio chunk spans several video frames.
avisplit can not cut a chunk in half, it only handles complete
chunks. If you do, say, avisplit -s 20, it is possible that the
first file will have 6 audio chunks and the second one only 4
meaning there is too much audio in the first AVI file.
The solution is to remux the AVI file with
- transcode -i in.avi -P1 -N 0x1 -y raw -o out.avi
(of
course -N 0x1 is not correct for all AVI files). Now look at
tcprobe again
| V: 25.000 fps, codec=dvsd, frames=250, width=720, height=576
| A: 48000 Hz, format=0x01, bits=16, channels=2, bitrate=1536 kbps,
| 250 chunks, 1920000 bytes
The data in this file is exactly the same (its
bit-identical) as it was in in.avi; the AVI file was just written
in a different way, we do now have 250 audio chunks which makes
splitting much easier and more accurate for avisplit.
AUTHORS
avisplit was written by Thomas
Östreich
<ostreich@theorie.physik.uni-goettingen.de>
with contributions from many others. See AUTHORS for details.
SEE ALSO
aviindex(1),
avifix(1),
avimerge(1),
tccat(1),
tcdecode(1),
tcdemux(1),
tcextract(1),
tcprobe(1),
tcscan(1),
transcode(1)