High-Level Components
- Transport Layer: ingest live streams over HTTP-FLV, WS-FLV, and WS-RAW style inputs.
- Decode Layer: WebAssembly decoders (H.264/H.265/AAC/PCMA/PCMU) with runtime strategy selection.
- Render Layer: MSE / WebCodecs / software render pipeline selected by capability and scenario.
- Control Layer: player state machine, reconnect logic, and user controls.
- Extension Layer: diagnostics hooks, custom UI integrations, and PRO-oriented capabilities.
Runtime Boundaries
- Runs in browser environments on desktop and mobile without plugin installation.
- Capability differences across browsers affect MSE/WebCodecs availability.
- Decode/render path is chosen at runtime based on feature support and stability.
- Network and autoplay constraints are enforced by browser security policies.
Core Playback Pipeline
- Player receives stream URL and initializes transport connection.
- Incoming packets are demuxed and queued for decode.
- Video/audio frames are decoded through selected hardware/software path.
- Renderer outputs frames and synchronizes A/V for low-latency playback.
- On failure, reconnect and fallback strategies keep playback resilient.