2.3 KiB
2.3 KiB
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
nbcsource 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
nbcsource kind and browser capture path. - Existing HDHomeRun, HLS, Linux DVB, and yt-dlp flows remain unchanged.