Format

Container format

How texture, geometry, and audio share one MP4 presentation timeline.

Track model

An OpenVolumetric asset is an ISO Base Media File Format/MP4 container with:

OpenVolumetric MP4
├── video: HEVC or H.264 texture imagery
├── data: timed Draco geometry samples tagged vvge
└── audio: optional conventional audio track

The runtime expects exactly one video stream, exactly one vvge data stream, and zero or one audio stream. Missing, duplicate, or malformed required tracks cause initialization to fail.

Timing

The geometry packer derives every geometry sample’s timestamp and duration from the corresponding encoded video sample. It does not recreate geometry timing from a nominal frame rate after video encoding.

At runtime, MP4 presentation timestamps are the authority for pairing texture and geometry. Audio is decoded from the same demux order and synchronized through the common playback clock.

Geometry packets

Every vvge sample begins with a versioned binary header. The current wire version is 2 and supports:

  • IndependentMesh: a complete Draco mesh and random-access point.
  • PositionUpdate: a sequential Draco position point cloud referencing a preceding complete topology mesh.

Headers declare source frame number, topology identifier, referenced keyframe, vertex and triangle counts, codec, flags, and payload size. Multi-byte fields use big-endian byte order. Parsers validate sizes and legal codec/mode combinations before allocation or decoding.

Conventional playback

The video and audio tracks remain conventional and can be extracted or remuxed without re-encoding. Some generic players do not reliably ignore the custom vvge track in fragmented files; VLC can stop at the first fragment. An audio/video-only stream-copy preview avoids that compatibility issue.

Fragmentation

OpenVolumetric fragmented MP4 files retain all tracks in each complete resource. Terminal mfra/tfra indexes provide bounded random-access information used by the HTTP scheduler. Video and full-geometry access points are aligned at every fragment boundary.

Stability

The vvge track and its geometry packet format are OpenVolumetric-specific and are not registered standards. The packet version is explicit so incompatible future changes can be rejected rather than misdecoded.