Skip to content

Commit 74e0ab7

Browse files
committed
Tune CI software stream profile
1 parent 501edaa commit 74e0ab7

3 files changed

Lines changed: 9 additions & 9 deletions

File tree

docs/guide/video.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ A few practical guidelines:
7979
- **Start on the default for compatibility.** `h264-software` works without requiring the hardware encoder, but full-resolution latency can be high.
8080
- **Switch to `h264` on local Apple Silicon when hardware encode is available.** Hardware H.264 gives the smoothest local preview with the least CPU.
8181
- **Switch to `h264-software` when the hardware encoder stalls or is unavailable.** The encoder scales the longest edge to 1600 pixels, can climb toward 60 fps, and backs off dynamically under encode latency.
82-
- **Use `--stream-quality ci-software` for Studio providers on virtualized CI Macs when hardware encode is unavailable.** This profile uses software H.264 at a 960-pixel longest edge, targets 24 fps, lowers bitrate pressure, and favors fresh frames over full-resolution sharpness.
82+
- **Use `--stream-quality ci-software` for Studio providers on virtualized CI Macs when hardware encode is unavailable.** This profile uses software H.264 at an 844-pixel longest edge, targets 20 fps, lowers bitrate pressure, and favors fresh frames over full-resolution sharpness.
8383
- **Use `h264-software --low-latency` only when you need the older extra-conservative software profile.** It caps at 15 fps, uses a single pending frame, reduces the longest edge to 1170 pixels, and backs off before software encode latency turns into seconds of stream delay.
8484

8585
## Tuning with metrics

server/src/api/routes.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,10 @@ const STREAM_QUALITY_PROFILES: &[StreamQualityProfile] = &[
106106
StreamQualityProfile {
107107
id: "ci-software",
108108
label: "CI Software",
109-
max_edge: 960,
110-
fps: 24,
111-
min_bitrate: 1_200_000,
112-
bits_per_pixel: 2,
109+
max_edge: 844,
110+
fps: 20,
111+
min_bitrate: 800_000,
112+
bits_per_pixel: 1,
113113
},
114114
StreamQualityProfile {
115115
id: "quality",

server/src/main.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -652,10 +652,10 @@ fn stream_quality_env_for_profile(profile: &str) -> anyhow::Result<StreamQuality
652652
}),
653653
"ci-software" => Ok(StreamQualityEnvironment {
654654
profile: "ci-software",
655-
max_edge: 960,
656-
fps: 24,
657-
min_bitrate: 1_200_000,
658-
bits_per_pixel: 2,
655+
max_edge: 844,
656+
fps: 20,
657+
min_bitrate: 800_000,
658+
bits_per_pixel: 1,
659659
}),
660660
_ => anyhow::bail!("Unknown stream quality profile `{profile}`."),
661661
}

0 commit comments

Comments
 (0)