Advance forge rollout, Ethereum rails, and NBC sources
This commit is contained in:
parent
be26313225
commit
7d84510eac
88 changed files with 11230 additions and 302 deletions
|
|
@ -0,0 +1,60 @@
|
|||
# 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue