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();
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET