How zhw2590582/artplayer works
ArtPlayer.js is a browser HTML5 video-player ecosystem. An application creates ArtPlayer with a media URL; the player initializes playback state, controls, events, subtitles, persistence, and optional playback engines, then renders synchronized audio/video and exposes results through the UI and API. The repository also supplies capability plugins and standalone thumbnail tooling. Core engine wiring is supported by sampled sources; several plugin relationships remain intentionally broad because their complete implementations were not sampled.
Components 23
Player Core
- ArtPlayer Entry
packages/artplayer/src/index.js - Player Runtime
packages/artplayer/src/player/index.js - Event System
packages/artplayer/src/events/index.js
Playback Engines
- MediaBunny Proxy
packages/artplayer-proxy-mediabunny/src/index.js - MediaBunny Engine
packages/artplayer-proxy-mediabunny/src/MediaBunnyEngine.js - Audio Engine
packages/artplayer-proxy-mediabunny/src/AudioEngine.js - Video Engine
packages/artplayer-proxy-mediabunny/src/VideoEngine.js
Player Extensions
- HLS DASH Quality
packages/artplayer-plugin-hls-control/src/index.js - Subtitle Extensions
packages/artplayer-plugin-multiple-subtitles/src/index.js - Danmuku Comments
packages/artplayer-plugin-danmuku/src/index.js - Advertising Plugins
packages/artplayer-plugin-ads/src/index.js - Device Integrations
packages/artplayer-plugin-chromecast/src/index.js
Media Tools
- Thumbnail Generator
packages/artplayer-tool-thumbnail/src/index.js
State and Presentation
- Playback Controls
packages/artplayer/src/control/index.js - Settings UI
packages/artplayer/src/setting/index.js - Subtitle Manager
packages/artplayer/src/subtitle.js - Settings Storage
packages/artplayer/src/storage.js
Other components
- Application
- Video Source
- Local File Input
- Web Audio API
- Canvas Renderer
- Speech Callback
Connections 28
- Application → ArtPlayer Entry: creates player
- Video Source → Player Runtime: provides media
- ArtPlayer Entry → Player Runtime: initializes runtime
- Player Runtime → Event System: dispatches events
- Player Runtime → Playback Controls: drives controls
- Player Runtime → Settings UI: opens settings
- Player Runtime → Subtitle Manager: manages subtitles
- Player Runtime → Settings Storage: reads settings
- Settings UI → Settings Storage: writes settings
- MediaBunny Proxy → MediaBunny Engine: creates engine
- MediaBunny Engine → Audio Engine: coordinates audio
- MediaBunny Engine → Video Engine: coordinates video
- Audio Engine → Web Audio API: schedules audio
- Video Engine → Canvas Renderer: draws frames
- Player Runtime → MediaBunny Proxy: selects playback
- Application → HLS DASH Quality: configures plugin
- HLS DASH Quality → Player Runtime: controls quality
- Application → Subtitle Extensions: configures plugin
- Subtitle Extensions → Subtitle Manager: adds subtitle tracks
- Application → Danmuku Comments: configures plugin
- Danmuku Comments → Player Runtime: adds comments
- Application → Advertising Plugins: configures plugin
- Advertising Plugins → Player Runtime: overlays advertising
- Application → Device Integrations: configures plugin
- Device Integrations → Player Runtime: connects device
- Local File Input → Thumbnail Generator: selects video
- Thumbnail Generator → Canvas Renderer: renders thumbnails
- Player Runtime → Speech Callback: submits audio