Raise Cast Streaming mirroring to 1080p, retune bitrate range to match
User is moving to a faster (150 Mbps) network and wants 1080p. Raised build_video_pipeline_for_streaming and VideoParams::default() together (they must agree -- see caststream.rs's doc comment on why a resolution mismatch there is a protocol violation, not just soft video). Left build_video_pipeline (the HLS/DLNA path) at 720p -- that one's 1280x720 choice is about an older Default Media Receiver's decoder profile/level, unrelated to what's changing here. Bitrate ceiling raised from 4-8x scaling but deliberately not straight back up to the old 8 Mbps: real testing tonight showed the AIMD probe pins to whatever MAX_BITRATE_KBPS is for the entire session once estimated_bandwidth_bps() reports (unreliably -- flat ~20 Mbps most of a session that was visibly stuttering) that there's headroom, and 8 Mbps sustained was more than the previous network+receiver could hold. 6 Mbps is a solid target for 1080p30 on its own merits. MIN_BITRATE_KBPS bumped 1000->1500 to match (1080p needs more of a floor than 720p did before it's a wall of blocking artifacts).
This commit is contained in:
parent
1ee607b5e9
commit
a058482b39
3 changed files with 38 additions and 12 deletions
|
|
@ -52,12 +52,22 @@ impl Default for VideoParams {
|
|||
// encodes (`breadcast-core/src/pipeline/mod.rs`), not just what
|
||||
// we'd like to send -- this OFFER's resolution is what the
|
||||
// receiver allocates its decoder/output surface for. Advertising
|
||||
// 1920x1080 while actually sending 1280x720 frames is a real
|
||||
// a resolution other than what's actually sent is a real
|
||||
// protocol mismatch that plausibly explains a receiver decoder
|
||||
// corrupting/freezing rather than just looking soft.
|
||||
width: 1280,
|
||||
height: 720,
|
||||
max_bitrate_bps: 8_000_000,
|
||||
width: 1920,
|
||||
height: 1080,
|
||||
// Kept equal to `breadcastd::cast_mirror::MAX_BITRATE_KBPS *
|
||||
// 1000` -- see that constant's doc comment for why 8 Mbps
|
||||
// (this struct's previous value) isn't used here even though
|
||||
// 1080p can look better with more headroom: real hardware
|
||||
// testing showed the AIMD probe pinning to whatever this
|
||||
// ceiling is for the entire session once the estimator reports
|
||||
// (unreliably) that there's room, and 8 Mbps sustained was more
|
||||
// than the previous network+receiver could actually hold,
|
||||
// producing repeated multi-second freezes rather than just
|
||||
// softer video.
|
||||
max_bitrate_bps: 6_000_000,
|
||||
max_frame_rate_numerator: 30,
|
||||
max_frame_rate_denominator: 1,
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue