every.channel/evolution/proposals/ECP-0007-tauri-dioxus-viewer.md
2026-02-15 16:17:27 -05:00

1.1 KiB

ECP-0007: Tauri + Dioxus viewer bridge

Status: Draft

Problem

We need a macOS-ready viewer so we can watch every.channel streams while MoQ playback matures.

Decision

Ship an embedded Dioxus web frontend inside a Tauri shell. The viewer lists generic stream descriptors (no HDHomeRun-specific UI) and plays a selected stream via a local HTTP bridge.

The bridge:

  • Spawns ffmpeg to transcode a stream URL into short CMAF-style HLS segments (fMP4).
  • Serves the generated playlist and segments from a local HTTP server.
  • Returns a playback URL to the frontend.

This preserves the stream abstraction while providing a pragmatic playback path on macOS (WebKit/HLS).

Alternatives considered

  • Wait for MoQ playback: rejected for now because it blocks local iteration.
  • Native AVFoundation player: deferred to keep UI portable and simple.

Rollout / teardown

  • Implement list_streams + start_stream commands in the Tauri backend.
  • Add Dioxus frontend with channel list and player.
  • Replace the HLS bridge with MoQ playback when the transport stack stabilizes.