Optional integration recipe · AI + media
Track objects. Transcode the result.
Connect a separately supplied tracking plugin and model to CoreMF’s decode, annotation and encoding pipeline. This integration recipe shows how the media stages fit together.
For a first run without a tracking package or model, use the CoreMF evaluation guide ↗.
What CoreMF connects
From video frames to annotated output.
The source reads compressed media; the decoder supplies video frames to the tracking plugin.
The plugin returns timestamped boxes, labels, confidence and track IDs. CoreMF renders the returned detections onto frames.
The encoder converts annotated frames to the selected output size and frame rate. The sink writes video and available audio to MP4.
The tracking model provides the detections; CoreMF provides the media graph, plugin integration, highlighting and output pipeline. Detection quality and throughput depend on the selected model and hardware.
01 · Prepare
Use your tracking plugin and model.
-
A matching CoreMF runtime with
runAPI, Python plugin support and usable H.264/AAC encoders. Keep the package's runtime dependency layout intact. -
A separately supplied, compatible tracking package registering
CoreAIProcessorwith theobject_trackalgorithm and AI processor profile. Configure its licensed model and inference dependencies according to that package's instructions. - A short video containing objects the model can recognize, and new output filenames in a writable directory.
The tracking package, model and Python dependencies are supplied separately. The base SDK includes no AI model pack. Plugin access and delivery ↗
02 · Run
Track, annotate and transcode in one command.
Replace the plugin path and input filename. The plugin must already be configured with its model. This example requests 1280×720 at 25 fps and keeps in-process GPL encoders disabled.
runAPI --script-plugin /absolute/path/to/tracker/plugin.json \
-i input.mp4 -o tracked.mp4 -p objecttrack \
-s 1280x720 -r 25 -gpl off \
-filter-config '{"sample_every":1}' -j tracked.graph.json
sample_every: 1 runs inference on every frame reaching
the processor. Model-specific settings belong to the selected
package. On Windows, use runAPI.exe and your shell's
quoting and line-continuation syntax.
-gpl off controls encoder selection; it does not change
the license of the linked media runtime. If no allowed H.264 encoder
is available, configure a supported encoder/device before running.
03 · Inspect
Check the video, tracking results and graph.
-
tracked.mp4: play the full output. Boxes and labels should follow actual detections; frames without detections need no boxes. Check audio, synchronization and final-frame drain. -
tracked_all_results.csv: inspect timestamps, track IDs, confidence and bounding boxes emitted through the AI profile. Compare events with the corresponding video frames. -
tracked.graph.json: inspect the exported source, decoder, AI processor, highlight, encoder and sink nodes.
Artifact names follow the compatible plugin package. Validate output, resource use and per-frame latency on your target hardware.
Bring the same graph into your application.
runAPI builds this pipeline through
CoreMF_API.h. Your application can create and link
nodes in code or load a configured Graph JSON pipeline; language
bindings expose the same application boundary. Custom frame
processing stays in the selected plugin.
Discuss your AI processing needs.
Discuss the plugin, platform and output requirements for your application.