Copy link to clipboard
Copied
Hi, I would like to create an exporter that exports a video clip as a sequence of stills, and I'm working my way through understanding the SDK API and the SDK_Exporter example.
I understand with a still sequence (presumably by setting 'singleFrameOnly' in exExporterInfoRec, on exSelStartup) that exSelExport is called for each frame. In terms of getting the pixel data, is the same as the existing SDK example, i.e. calling RenderVideoFrame on the SequenceRenderSuite? Presumably with exportInfoP->startTime as the time point?
Thanks,
Derek.
I modified the exSDKStartup function:
prMALError exSDKStartup (
exportStdParms *stdParmsP,
exExporterInfoRec *infoRecP)
{
prMALError result = malNoError;
// .... snip ....
infoRecP->singleFrameOnly = kPrTrue;
// .... snip ....
return result;
}
and added a handler for exSelQueryStillSequence:
prMALError exSDKQueryStillSequence (
exportStdParms* stdParmsP,
exQueryStillSequenceRec* exportQueryStillSequenceRecP)
{
prMALError result = malNoError;
csSDK_uint32 exID = exportQueryS
...
Copy link to clipboard
Copied
I think so, yes; let us know how it goes.
Copy link to clipboard
Copied
I modified the exSDKStartup function:
prMALError exSDKStartup (
exportStdParms *stdParmsP,
exExporterInfoRec *infoRecP)
{
prMALError result = malNoError;
// .... snip ....
infoRecP->singleFrameOnly = kPrTrue;
// .... snip ....
return result;
}
and added a handler for exSelQueryStillSequence:
prMALError exSDKQueryStillSequence (
exportStdParms* stdParmsP,
exQueryStillSequenceRec* exportQueryStillSequenceRecP)
{
prMALError result = malNoError;
csSDK_uint32 exID = exportQueryStillSequenceRecP->exporterPluginID;
ExportSettings* mySettings = reinterpret_cast<ExportSettings*>(exportQueryStillSequenceRecP->privateData);
PrSDKExportParamSuite* paramSuite = mySettings->exportParamSuite;
csSDK_int32 mgroupIndex = 0;
exParamValues frameRate;
paramSuite->GetParamValue(exID, mgroupIndex, ADBEVideoFPS, &frameRate);
exportQueryStillSequenceRecP->exportAsStillSequence = kPrTrue;
exportQueryStillSequenceRecP->exportFrameRate = frameRate.value.timeValue;
return result;
}
Copy link to clipboard
Copied
One thing I wanted to query was whether I've got the exportFrameRate setting right - I assumed it was in 'ticks' (as per other usages of frame rate in the SDK docs) rather than 'FPS', but the SDK documentation wasn't explicit for the exQueryStillSequenceRec struct.
Copy link to clipboard
Copied
exQueryStillSequenceRec.exportFrameRate is a PrTime.