Skip to content

Improve H264 streaming fallback#28

Merged
DjDeveloperr merged 1 commit intomainfrom
h264-stream-fallback
May 8, 2026
Merged

Improve H264 streaming fallback#28
DjDeveloperr merged 1 commit intomainfrom
h264-stream-fallback

Conversation

@DjDeveloperr
Copy link
Copy Markdown
Collaborator

@DjDeveloperr DjDeveloperr commented May 8, 2026

Summary

  • Adds the H264 WebSocket fallback and transport picker while keeping WebRTC as the primary live path.
  • Removes the MJPEG fallback work and keeps stream stats/config traffic on the active stream channels instead of REST polling spam.
  • Speeds first-frame and stream-switch paths by reusing valid cached sync keyframes, shortening local ICE waits, and avoiding client-side canvas/video remount reconnects.

Testing

  • cargo fmt --manifest-path server/Cargo.toml --check
  • cargo clippy --manifest-path server/Cargo.toml --all-targets -- -D warnings
  • cargo test --manifest-path server/Cargo.toml
  • prettier --check .
  • PATH="client/node_modules/.bin:$PATH" tsc --noEmit from client/
  • node node_modules/vitest/vitest.mjs run from client/
  • node node_modules/vite/bin/vite.js build from client/
  • scripts/build-cli.sh
  • Chrome smoke test on 127.0.0.1:4311: H264 WS first canvas frame, explicit WebRTC first video frame, stale stream=mjpeg falls back without MJPEG endpoint requests, and no client-stream-stats/stream-quality POST spam.

@DjDeveloperr DjDeveloperr force-pushed the h264-stream-fallback branch from 8d53c76 to 04d471f Compare May 8, 2026 21:54
@DjDeveloperr DjDeveloperr merged commit ccd6b99 into main May 8, 2026
16 of 18 checks passed
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.

1 participant