Skip to content

feat: low-latency rate control + optional HEVC codec (#22) - #36

Merged
joeblau merged 1 commit into
mainfrom
feat/22-low-latency-hevc
Jul 6, 2026
Merged

feat: low-latency rate control + optional HEVC codec (#22)#36
joeblau merged 1 commit into
mainfrom
feat/22-low-latency-hevc

Conversation

@joeblau

@joeblau joeblau commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Closes #22 (M7 · Enable low-latency rate control + HEVC).

What

  • Adds an optional HEVC video codec alongside H.264, surfaced as a videoCodec setting with a picker in the Video settings section (H.264 stays the implicit default).
  • Enables low-latency rate control in the publisher path (RTMPPublisher / SessionPublisher).
  • HEVC saves ~40% bitrate on screen content but needs a compatible ingest (SRT, WHIP, or enhanced-RTMP) — the UI notes that traditional RTMP (e.g. Restream) requires H.264.

Scope

7 files, +178/-13 — StreamSettings (+ codable tests + VideoCodecTests), RTMPPublisher, SessionPublisher, SettingsView, README.

Reconciles a diverged duplicate: a parallel feat/low-latency-hevc copy existed in another worktree; this PR lands the canonical version (stacked on the telemetry work).

🤖 Generated with Claude Code

Working-tree snapshot committed at the user's request. This is the in-progress
M7 (#22) work that shared the worktree with the #23 telemetry change; committed
here to preserve it. NOTE: due to concurrent branch-switching it landed on
fix/bluetooth-audio-route-refresh stacked on top of the #23 commit — re-home to a
feat/22 branch off main as needed.

- StreamSettings gains a videoCodec setting (H.264 default / HEVC), Codec-decode
  back-compat, and unit tests.
- RTMPPublisher builds an enhanced-RTMP (hvc1) connect payload only for HEVC;
  both publishers select the HEVC profileLevel and enable low-latency VideoToolbox
  rate control.
- Settings adds a Codec picker + HEVC ingest-compatibility footer; README updated.

The Vendor/HaishinKit submodule shows dirty content and was left unstaged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@joeblau
joeblau merged commit d73eac6 into main Jul 6, 2026
1 check passed
@joeblau
joeblau deleted the feat/22-low-latency-hevc branch July 6, 2026 01:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

M7 · Enable low-latency rate control + HEVC

1 participant