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.