Provided by: transcode-utils_1.1.5-0ubuntu10_amd64
avisplit - split AVI-files into chunks of a maximum size
avisplit [ -i file -o base [ -s size ] [ -H num ] [ -t s1-s2[,s3-s4,..] -c -m -b num -f commentfile ] ] [ -v ]
avisplit is Copyright (C) by Thomas Oestreich.
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.
-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.
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
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.
avisplit was written by Thomas Oestreich <email@example.com> with contributions from many others. See AUTHORS for details.