You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`--browser-gpu` / `--no-browser-gpu`| — |on locally, off in Docker | Use or opt out of host GPU acceleration for local Chrome/WebGL capture |
128
+
|`--browser-gpu` / `--no-browser-gpu`| — |software | Use or opt out of host GPU acceleration for local Chrome/WebGL capture. Set `PRODUCER_BROWSER_GPU_MODE=auto` to probe hardware availability|
128
129
|`--hdr`| — | off | Force HDR output even if no HDR sources are detected (MP4 only). See [HDR Rendering](/guides/hdr)|
129
130
|`--sdr`| — | off | Force SDR output even if HDR sources are detected |
130
131
|`--docker`| — | off | Use Docker for [deterministic rendering](/concepts/determinism)|
|`--browser-gpu` / `--no-browser-gpu`| — |on locally, off in Docker | Use or opt out of host GPU acceleration for local Chrome/WebGL capture |
620
+
|`--browser-gpu` / `--no-browser-gpu`| — |software | Use or opt out of host GPU acceleration for local Chrome/WebGL capture. Set `PRODUCER_BROWSER_GPU_MODE=auto` to probe hardware availability|
621
621
|`--docker`| — | off | Use Docker for [deterministic rendering](/concepts/determinism)|
622
622
|`--quiet`| — | off | Suppress verbose output |
623
623
|`--variables`| JSON object | — | Variable overrides merged over `data-composition-variables` defaults. Read via `window.__hyperframes.getVariables()`|
Copy file name to clipboardExpand all lines: docs/packages/producer.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -226,7 +226,7 @@ When GPU encoding is enabled, Hyperframes detects the available FFmpeg hardware
226
226
npx hyperframes doctor
227
227
```
228
228
229
-
The CLI enables local Chrome/WebGL GPU capture automatically and supports `--no-browser-gpu`as an opt-out. When using the producer API directly, pass an engine config override:
229
+
The CLI uses software Chrome/WebGL capture by default for stable cross-platform frame output. Use `--browser-gpu`to opt into host GPU capture, or set `PRODUCER_BROWSER_GPU_MODE=auto` to probe hardware availability and fall back to software. When using the producer API directly, pass an engine config override:
"Force host GPU acceleration for Chrome/WebGL capture. Default: auto (probe on first launch; fall back to software if no GPU). Use --no-browser-gpu to force software (SwiftShader).",
183
+
"Force host GPU acceleration for Chrome/WebGL capture. Default: software (SwiftShader) for stable cross-platform frame capture. Set PRODUCER_BROWSER_GPU_MODE=auto to probe hardware availability.",
184
184
},
185
185
quiet: {
186
186
type: "boolean",
@@ -570,8 +570,8 @@ interface RenderOptions {
570
570
gpu: boolean;
571
571
/**
572
572
* Chrome WebGL backend mode. "auto" probes on first launch and falls back
573
-
* to "software" if no usable GPU. Defaults to "software" when omitted to
574
-
* stay backwards-compatible with callers that pre-date the tri-state.
573
+
* to "software" if no usable GPU. Defaults to "software" when omitted for
574
+
* deterministic local frame capture.
575
575
*/
576
576
browserGpuMode?: "auto"|"hardware"|"software";
577
577
hdrMode: "auto"|"force-hdr"|"force-sdr";
@@ -734,12 +734,13 @@ export function validateVariablesAgainstProject(
734
734
* `--no-browser-gpu` → "software".
735
735
* 3. Env var `PRODUCER_BROWSER_GPU_MODE` accepts "hardware" / "software" /
736
736
* "auto".
737
-
* 4. Default = "auto" — engine probes WebGL availability on first launch
738
-
* and falls back to software if the host lacks a usable GPU.
Copy file name to clipboardExpand all lines: packages/cli/src/docs/rendering.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,13 +20,13 @@ Requires: Docker installed and running.
20
20
-`--crf` — Override encoder CRF (mutually exclusive with `--video-bitrate`)
21
21
-`--video-bitrate` — Target video bitrate such as `10M` (mutually exclusive with `--crf`)
22
22
-`--gpu` — Use GPU encoding (NVENC, VideoToolbox, VAAPI, QSV)
23
-
-`--browser-gpu` / `--no-browser-gpu` — Force host GPU or software (SwiftShader) for Chrome/WebGL capture. Default for local renders is `auto` — probe WebGL availability on first launch and fall back to software if no GPU is reachable. Docker mode always uses software.
23
+
-`--browser-gpu` / `--no-browser-gpu` — Force host GPU or software (SwiftShader) for Chrome/WebGL capture. Local renders default to software for stable cross-platform capture. Set `PRODUCER_BROWSER_GPU_MODE=auto`to probe hardware availability. Docker mode always uses software.
24
24
-`-o, --output` — Custom output path
25
25
26
26
## Tips
27
27
28
28
- Use `draft` quality for fast previews during development
29
-
- Local renders auto-detect GPU on first launch; use `--browser-gpu` to force hardware (errors if no GPU) or `--no-browser-gpu` to force SwiftShader
29
+
- Local renders use software Chrome capture by default; use `--browser-gpu` to force hardware (errors if no GPU) or `PRODUCER_BROWSER_GPU_MODE=auto` to probe and fall back to SwiftShader
30
30
- Use `--gpu` when a local render also benefits from hardware FFmpeg encoding
31
31
- Use `npx hyperframes benchmark` to find optimal settings
32
32
- 4 workers is usually the sweet spot for most compositions
0 commit comments