# ECP-0094: NBC Browser-Backed Source with Adobe Auth Status: Proposed ## Decision Add `nbc.com/watch/...` as a manual source in the Tauri app by treating it as a browser-backed capture source instead of a direct manifest source. The desktop app will: - recognize NBC watch URLs as a distinct `nbc` source kind - launch Chrome with a persistent profile so Adobe Pass / MVPD state can survive across runs - wait for the Adobe/NBC entitlement sequence seen in `intake/` - capture the rendered video element from the authenticated browser tab and feed those frames into the existing ffmpeg CMAF ladder path ## Motivation The intake traces show NBC live playback is not exposed as a plain live HLS or clear DASH input: - page metadata comes from `friendship.nbc.com` - entitlement is gated by Adobe Pass on `sp.auth.adobe.com` - authorization is validated through NBC's `tokenverifier` - playout resolves to MediaTailor DASH plus Widevine license requests That means the existing source model cannot ingest NBC by simply resolving a URL for ffmpeg. We need a source path that can execute the browser login/auth/player flow first. ## Scope In scope: - `nbc.com/watch/...` detection in the Tauri add-stream flow - persistent manual-source storage for the new kind - Chrome launch/profile handling for NBC playback - readiness checks tied to the Adobe/session/authorize/token-verifier path observed in the traces - browser-frame capture into the existing live transcode/publish pipeline Out of scope: - generic DRM extraction or CDM key handling - unattended credential entry for every MVPD provider - CLI ingest support in `ec-node` - perfect parity with native audio capture in the first cut ## Alternatives Considered - Treat NBC as a normal HLS/DASH source. Rejected because the trace shows DRM-gated DASH that ffmpeg cannot ingest directly. - Re-implement the full Adobe + MVPD HTTP flow in-process. Rejected for the first cut because the real browser/player state is already required for playout and provider flows vary. - Leave NBC unsupported. Rejected because the traces are sufficient to define a pragmatic desktop path now. ## Rollout / Reversibility - The change is additive and isolated to the desktop app's manual-source flow. - Roll back by removing the `nbc` source kind and browser capture path. - Existing HDHomeRun, HLS, Linux DVB, and yt-dlp flows remain unchanged.