Split a Large AVI Into Smaller Files

The following steps will split a large AVI into 2 smaller files.

1. Create an instance of the ltmmConvert class. This is accomplished using the Win32 CoCreateInstance function as follows:

C Source

IltmmConvert* pConvert;   
CoCreateInstance(&CLSID_ltmmConvert, NULL, CLSCTX_INPROC_SERVER, &IID_IltmmConvert, (void**) &pConvert); 

C++ Source

IltmmConvert* pConvert;   
CoCreateInstance(CLSID_ltmmConvert, NULL, CLSCTX_INPROC_SERVER, IID_IltmmConvert, (void**) &pConvert); 

Note: Pick a compressor when splitting a non-AVI or a non-WAV file to avoid creating two huge uncompressed files.

2. Set the source file as follows:

C Source

BSTR bstr;   
bstr = SysAllocString(L"c:\\Source.avi");   
IltmmConvert_put_SourceFile(pConvert, bstr);   
SysFreeString(bstr); 

C++ Source

BSTR bstr;   
bstr = SysAllocString(L"c:\\Source.avi");   
pConvert->put_SourceFile(bstr);    
SysFreeString(bstr); 

3. Get the duration of the media as follows:

C Source

double fDur;   
IltmmConvert_get_Duration(pConvert, &fDur); 

C++ Source

double fDur;   
pConvert->get_Duration(&fDur); 

4. Save the first small avi file as follows:

C Source

bstr = SysAllocString(L"c:\\Avi1.avi");    
IltmmConvert_put_TargetFile(pConvert, bstr);   
SysFreeString(bstr);   
IltmmConvert_put_SelectionEnd(pConvert, fDur/2);   
IltmmConvert_StartConvert(pConvert); 

C++ Source

BSTR bstr;   
bstr = SysAllocString(L"c:\\Avi1.avi");    
pConvert->put_TargetFile(bstr);   
SysFreeString(bstr);   
pConvert->put_SelectionEnd(fDur/2);   
pConvert->StartConvert(); 

5.Save the second small avi file as follows:

C Source

bstr = SysAllocString(L"c:\\Avi2.avi");    
IltmmConvert_put_TargetFile(pConvert, bstr);   
SysFreeString(bstr);   
IltmmConvert_put_SelectionStart(fDur/2);   
IltmmConvert_put_SelectionEnd(pConvert, fDur);   
IltmmConvert_StartConvert(pConvert); 

C++ Source

bstr = SysAllocString(L"c:\\Avi2.avi");    
pConvert->put_TargetFile(bstr);   
SysFreeString(bstr);   
pConvert->put_SelectionStart(fDur/2);   
pConvert->put_SelectionEnd(fDur);   
pConvert->StartConvert(); 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Multimedia C API Help