Embed a fully featured video player on a website with subtitle support and custom playback controls.
Build a streaming video platform that serves HLS or DASH adaptive video with quality switching.
Add a scrolling bullet-comment overlay to a video player for interactive community viewing.
Integrate Chromecast support into a web video player with minimal extra code.
Available via npm or CDN, no build step needed for basic use, pre-built CDN file included.
ArtPlayer.js is a JavaScript video player for websites, built on the HTML5 video element. It is designed to be added to a web page with a few lines of code and provides a complete set of playback controls, while making most of those controls customizable so developers can match them to their own interface or business logic. Out of the box it supports three subtitle formats: VTT, ASS, and SRT. It is also designed to work alongside streaming libraries like hls.js (for HLS adaptive streaming), dash.js (for DASH), and flv.js (for FLV video), which are commonly used for live video or platforms that serve multiple video quality levels. Connecting those libraries to the player is straightforward. The player has a plugin system with a growing collection of officially maintained plugins. The danmuku plugin adds a bullet-comment overlay, a style of viewer comments that scroll across the screen popularized by Japanese and Chinese video platforms. Other plugins handle HLS and DASH quality switching, video chapter markers, thumbnail previews on the progress bar, multiple simultaneous subtitle tracks, Google Chromecast casting, standard video advertising formats (VAST and VPAID), an ambilight glow effect that extends the video colors onto the surrounding page, picture-in-picture mode, independent audio track selection, and automatic speech recognition for live captions. Installation uses npm, yarn, pnpm, or bun. A pre-built file is also available from CDNs for direct inclusion in a page without a build step. An interactive online editor at artplayer.org lets you try configurations and plugins in the browser before writing any code. The API documentation is also hosted there. The project is published to npm and receives regular downloads.
← zhw2590582 on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.