Severity: 🟡 · Effort: S (low-latency) + L (HEVC)
Two encoder wins the vendored HaishinKit fork already supports:
- Low-latency rate control — set
isLowLatencyRateControlEnabled = true so makeEncoderSpecification() enables VideoToolbox low-latency mode (tightens encoder queuing latency).
- HEVC — add a
settings.videoCodec and select kVTProfileLevel_HEVC_Main_AutoLevel for SRT/WHIP + enhanced-RTMP, keeping H.264 Main as the fallback for traditional RTMP (Restream). ~40% quality-per-bit gain on text-heavy screen content in the 2–8 Mbps band. Verify negotiation per real ingest on device.
Evidence: RTMPPublisher.swift:747; SessionPublisher.swift:233; fork VideoCodecSettings.swift
From the architecture audit MVP backlog.
Severity: 🟡 · Effort: S (low-latency) + L (HEVC)
Two encoder wins the vendored HaishinKit fork already supports:
isLowLatencyRateControlEnabled = truesomakeEncoderSpecification()enables VideoToolbox low-latency mode (tightens encoder queuing latency).settings.videoCodecand selectkVTProfileLevel_HEVC_Main_AutoLevelfor SRT/WHIP + enhanced-RTMP, keeping H.264 Main as the fallback for traditional RTMP (Restream). ~40% quality-per-bit gain on text-heavy screen content in the 2–8 Mbps band. Verify negotiation per real ingest on device.Evidence:
RTMPPublisher.swift:747;SessionPublisher.swift:233; forkVideoCodecSettings.swiftFrom the architecture audit MVP backlog.