Adding Script Commands to Windows Media Video

This example shows how to access the ltmmWMScript object, using it to create script commands when converting to WMV video.

 

1.

Set the convert source, target and target format as follows:

C Source

IltmmConvert_put_SourceFile(pConvert, L"source.avi");

IltmmConvert_put_TargetFile(pConvert, L"target.wmv");

IltmmConvert_put_TargetFormat(pConvert, ltmmConvert_TargetFormat_WMV_Mux);

C++ Source

pConvert->put_SourceFile(L"source.avi");

pConvert->put_TargetFile(L"target.wmv");

pConvert->put_TargetFormat(ltmmConvert_TargetFormat_WMV_Mux);
 

2.

Call the convert object to retrieve the target filter as follows:

C Source

IUnknown *pUnk;
IltmmConvert_GetSubObject(pConvert, ltmmConvert_Object_TargetFilter, &pUnk);

C++ Source

IUnknown *pUnk;
pConvert->GetSubObject(ltmmConvert_Object_TargetFilter, &pUnk);
 

3.

Retrieve the ltmmWMScript interface as follows:

C Source

IltmmWMScript *pWMScript;

IUnknown_QueryInterface(pUnk, &IID_IltmmWMScript, (void**)&pWMScript);
IUnknown_Release(pUnk);

C++ Source

IltmmWMScript *pWMScript;

pUnk->QueryInterface(&IID_IltmmWMScript, (void**)&pWMScript);
pUnk->Release();
 

4.

Add a header script at 5.0 seconds as follows:

C Source

IltmmWMScript_AddHeaderScript(pWMScript, L"caption", L"Test Caption", 5.0);

C++ Source

pWMScript->AddHeaderScript(L"caption", L"Test Caption", 5.0);

 

5.

Clean up the ltmmWMScript object as follows:

C Source

IUnknown_Release(pWMScript);

C++ Source

pWMScript->Release();
 

6.

Start the conversion as follows:

C Source

IltmmConvert_StartConvert(pConvert)

C++ Source

pConvert->StartConvert();

 

For the complete C example, refer to IltmmWMScript HeaderScripts Example for C.

For the complete C++ example, refer to IltmmWMScript HeaderScripts Example for C++.

To see how to handle script commands during playback, see Processing Script Commands During Windows Media Video Playback.