avisplit
split AVI-files into chunks of a maximum size
see also :
aviindex - avifix - avimerge - tccat - tcdecode - tcdemux - tcextract - tcprobe - tcscan - transcode
Synopsis
avisplit
[ -i file -o base [ -s
size ] [ -H num ] [ -t
s1-s2[,s3-s4,..] -c -m -b num -f
commentfile ] ] [ -v ]
add an example, a script, a trick and tips
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
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.
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.
copyright
avisplit is Copyright (C) by Thomas Oestreich.
see also
aviindex ,
avifix , avimerge , tccat ,
tcdecode , tcdemux , tcextract ,
tcprobe , tcscan , transcode
authors
avisplit
was written by Thomas Oestreich
<ostreich[:at:]theorie.physik[:dot:]uni-goettingen.de> with
contributions from many others. See AUTHORS for details.