Immersive 3D,
captured or generated.

Three products against one problem: putting a convincing three-dimensional world in front of someone's eyes. Two of them begin at a camera — a stereoscopic capture app, and the platform that delivers what it shoots. The third begins at a sentence, and builds the world from nothing.

The capture chain

A phone with two cameras at one end, a headset at the other.

Stereoscopic video is not one picture, it is two that have to agree — about exposure, about white balance, about the exact instant they were taken. Most of the difficulty in this chain is in keeping that agreement from the sensor all the way to the eye.

Diagram: two iPhone cameras feed a hardware encoder producing one stream per eye; an ingest server composes and packages them; delivery forks into a roughly 200 millisecond browser monitor and an adaptive HLS stream for headsets.

Two eyes, captured together

Both rear cameras run at once, each with its own hardware encode. Frames are paired by timestamp, not by arrival, because the cameras interleave.

Matched, not just synchronised

The ultra-wide is held to the wide camera's exposure and white balance four times a second. Eyes that disagree about brightness read as fatigue rather than as an obvious fault.

Delivered twice, on purpose

The operator holding the camera gets a roughly 200 ms monitor to frame the shot. The audience gets a packaged adaptive stream a standalone headset can actually decode.

How we build

Four positions we hold across the codebases.

These are not aspirations. Each one is a decision already made, and each one cost something to keep.

No third-party code in the camera

VRecord's binary contains no SDKs. No analytics, no crash reporting, no advertising identifier. Only AVFoundation, VideoToolbox, Network and SwiftUI, all of which ship with the system — which matters for an app trusted with a camera and a microphone.

The protocol belongs to nobody

The ingest protocol is published and may be implemented by anyone, without permission or royalty. The receiving end accepts any conforming client rather than one particular app, so neither half of this chain holds the other hostage.

Don't store what you don't need

VRecord writes nothing to the device — no recording, no file of any kind. Stream keys live in memory for the run of a broadcast and are never written to disk, to a log, or into a URL. A destination with no key is refused outright.

Offer a device what it can decode

An 8K rung in a Quest 2's quality menu is a menu item that plays black. Which rendition a headset is offered comes from a device profile, so the catalogue never advertises something that will not play.

Contact

Licensing, integration, or a destination server.

All three products are proprietary and commercial licences are available. If you are building a destination that should accept VRecord, the protocol document is the place to start and you do not need our permission to implement it.

[email protected]