Part of #920 (rank 15). Effort S, risk low.
Problem
- macOS always asks ScreenCaptureKit's writer for 76.5 Mbit/s, whatever the capture size:
useScreenRecorder.ts sends computeBitrate(TARGET_WIDTH, TARGET_HEIGHT), the app's 4K ceiling with the high-frame-rate boost.
- That is 4.25× the Windows budget for a 1080p capture.
- Linux had the same bug and fixed it: its request sends no bitrate, and the helper derives it from the size it actually got (see the comment in
buildNativeLinuxRequest).
Proposal
- Same fix as Linux: derive the bitrate in the Swift helper from the real output size (same tiers as
computeBitrate), and stop sending the ceiling's bitrate.
Verify
- Swift unit test for the size → bitrate tiers (runs in the
swift-macos-helper CI job).
- On a Mac:
ffprobe bitrate of a 1080p take, before and after. Expected 2 to 4× smaller files below 4K.
Part of #920 (rank 15). Effort S, risk low.
Problem
useScreenRecorder.tssendscomputeBitrate(TARGET_WIDTH, TARGET_HEIGHT), the app's 4K ceiling with the high-frame-rate boost.buildNativeLinuxRequest).Proposal
computeBitrate), and stop sending the ceiling's bitrate.Verify
swift-macos-helperCI job).ffprobebitrate of a 1080p take, before and after. Expected 2 to 4× smaller files below 4K.