Miraiclip SDK
Reference

Production readiness

Limits, benchmarks and gates.

What is measured, what to design around, and what is not verified yet. The numbers come from the engine's stress suite, which runs nightly in CI under software rendering (SwiftShader), the slowest case. The one-hour export was measured on a developer laptop. Treat them as regression benchmarks, not guarantees for your hardware.

Measured

WorkloadResultWhere
Playback: 149 clips on 10 tracks, with effects, transitions and captionsPlayback keeps tracking the clock: median lag 2 frames, p95 19 frames. Deep seeks recoverCI, software rendering
Export: a one-hour timeline (2,641 clips, 86,400 frames, an hour of audio), streamed to disk984 MB written, 165 MB JS heap peak, 1.6× realtimeDeveloper laptop
Decoder churn: 20 assets through the 4-decoder cap, plus a 30-seek scrub stormEvery paused seek lands on the exact frameCI, software rendering
Server export: 3 exports in parallelAll outputs valid, no interference between jobsCI, software rendering

Memory figures are JS heap, not whole-process memory.

Design around these

LimitWhat to do
A buffered export holds the whole file in memoryFor long outputs, stream: pass target (a WritableStream) to exportProject in the browser, or out (a file path) on the server. See Browser export and Server export
At most 4 assets decode at the same time (engine default)Sequential timelines of any length are unaffected. The cap is maxActivePipelines on MediaManager; createPlayer doesn't expose it
MP4 export needs real Chrome or EdgeFree Chromium has no H.264 encoder. Use WebM there, or install Chrome on export servers

Not verified yet

Treat these as open until numbers are published:

  • Playback smoothness percentiles on real devices
  • Seek latency under rapid seeking
  • Hour-long source files
  • Process-level memory (the figures above are JS heap)
  • Failure recovery
  • Sustained server concurrency

Run the stress suite

In a clone of the engine repo:

pnpm stress
Env varDefaultMeaning
STRESS_MINUTES5Length of the long-export timeline
STRESS_MIN_FPS5Export throughput floor
STRESS_MAX_LAG_FRAMES30Playback tracking tolerance. Tighten it on real hardware
STRESS_PARALLEL3Concurrent server exports

Results append to apps/playground/stress-results.json. Set the knobs to your scale; a run on your hardware tells you more than the CI numbers.

On this page