Skip to content

Game Memory

Beneath every Momento clip, a structured memory of what happened — embedded in standard MP4 boxes that anyone can read.

What travels with the clip

Most clip platforms keep your highlights as rows in their database. Lose access, lose the clip. The play is gone, and the memory of it with it.

Momento takes a different path. The events that made a clip worth keeping — every kill, every multikill, every moment you marked — live inside the MP4 itself, in an open structure anyone can read.

Events

Every kill, multikill, objective trigger and manual marker — annotated with timestamp, source and confidence. Not a string of metadata. A queryable timeline.

Integrity

A SHA-256 fingerprint binds the events to the video. Re-encode the clip, the fingerprint breaks. The events are honest by construction.

Open

No license, no API key, no platform lock-in. The schema is CBOR (RFC 8949), the box is ISO BMFF — standard. You read it the same way in a browser, in Node, or in your own pipeline.

For developers

The reference reader is published on npm. Drop a clip in the browser, in Node, or in your own backend — get a typed timeline.

Zero peer dependencies. ESM and CJS. Works in evergreen browsers, Node 18+, Deno, Bun.

import { readGameMemory } from '@momentogg/format';

const buf = await fetch('/clip.mp4').then(r => r.arrayBuffer());
const doc = readGameMemory(buf);

doc?.events.forEach(ev => {
  console.log(ev.ts, ev.kind, ev.source);
});
pnpm add @momentogg/formatView on npm