Configuration
July 6, 2026 · View on GitHub
The WARP Player can be configured after build by editing the config.json file
in the distribution directory (dist/config.json) — no rebuild required. The
same file lives at src/config.json for the built-in defaults.
Configuration File
{
"defaultServerUrl": "https://moqlivemock.demo.osaas.io/moq",
"fingerprintUrl": "",
"bufferProfiles": {
"base": { "minimalBuffer": 200, "targetLatency": 300 },
"rules": []
}
}
Options
- defaultServerUrl: The default MOQ server URL shown in the connection input field.
- fingerprintUrl: Optional URL for fetching a self-signed certificate fingerprint (see FINGERPRINT.md). Leave empty to disable.
- bufferProfiles: Buffer/latency defaults, resolved per render engine and browser (see below). Omit the whole object to use the built-in default.
Buffer profiles
Buffer/latency targets depend on the render engine actually chosen for a session
(MSE for CMAF/LOCMAF, WebCodecs for LOC) and the browser, because their latency
floors differ. bufferProfiles is a base plus an ordered list of rules:
"bufferProfiles": {
"base": { "minimalBuffer": 200, "targetLatency": 300 },
"rules": [
{ "browser": "safari", "engine": "mse", "minimalBuffer": 500, "targetLatency": 600 }
]
}
- minimalBuffer (ms): buffered media required before playback starts; the control loop keeps the buffer at or above this. targetLatency must be greater than it.
- targetLatency (ms): the end-to-end latency the control loop steers toward after playback starts.
- Resolution: start from
base, then apply every matching rule in order (later wins). A rule matches when itsengine(mse|webcodecs) andbrowser(safari|other) equal the session's — omit either field to match any.
The resolved profile is applied when the engine is determined at Start and shown in the buffer input fields. Editing those fields in the UI overrides the profile for that session.
The built-in default is base 200/300 ms with no rules — stable across all
engines and browsers. Add a rule only to tune a specific combination (e.g. raise
Safari + MSE if needed). If config.json is missing or unreadable, the built-in
default is used.
Usage
- After
npm run build, editdist/config.json. - Reload the app; settings load on startup.