# Video.js v10 — Html Documentation
## Getting started
Installation, project setup, and introductory guides.
- [Installation](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/how-to/installation.md): Install Video.js and build your first player with streaming support and accessible controls
- [Overview](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/concepts/overview.md): How Video.js players are structured — state, UI, and media
- [Build with AI](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/how-to/build-with-ai.md): How to give AI tools the context they need to build Video.js players alongside you
- [v10 Roadmap](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/concepts/v10-roadmap.md): Timeline and milestones for Video.js v10 rebuild and the future of v8
- [Browser Support](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/concepts/browser-support.md): Which browsers Video.js 10 supports and how it handles newer platform features
## Concepts
Understanding-oriented pages that explain how and why things work. Read these to build a mental model of the library.
- [Features](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/concepts/features.md): The state and actions each feature adds to the player
- [Skins](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/concepts/skins.md): Packaged player designs that include both UI components and their styles.
- [Presets](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/concepts/presets.md): Pre-packaged player configurations that bundle state management, skins, and media elements for specific use cases.
- [UI components](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/concepts/ui-components.md): How Video.js UI components work — one element per component, data attributes for state, and compound composition.
- [Accessibility](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/concepts/accessibility.md): How Video.js approaches accessible media playback, covering standards, ARIA, keyboard, captions, contrast, touch targets, and user preferences.
## How to
Task-oriented guides with step-by-step instructions to achieve a specific outcome by applying one or more concepts. Each guide may assume you already understand the relevant concepts.
- [Customize skins](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/how-to/customize-skins.md): Learn how to customize Video.js v10 skins by copying and modifying them
## Components
API Reference for UI components for building media player interfaces.
- [video-player](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/player-provider.md): The state boundary — creates a store and broadcasts it to all descendants.
- [media-container](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/player-container.md): The player's interaction surface — handles layout, fullscreen, media attachment, and user activity detection.
- [media-buffering-indicator](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/buffering-indicator.md): Loading indicator that displays when the video player is buffering or waiting for data
- [media-captions-button](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/captions-button.md): Accessible captions toggle button with availability detection and state reflection
- [media-controls](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/controls.md): Container component for composing and auto-hiding video player controls on user interaction
- [media-fullscreen-button](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/fullscreen-button.md): Accessible fullscreen toggle button with keyboard support and state reflection
- [media-mute-button](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/mute-button.md): Accessible mute/unmute button with keyboard support and volume state reflection
- [media-pip-button](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/pip-button.md): Accessible picture-in-picture toggle button with keyboard support and state reflection
- [media-play-button](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/play-button.md): Accessible play/pause button with keyboard support and customizable rendering
- [media-playback-rate-button](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/playback-rate-button.md): A button that cycles through playback speed rates
- [media-popover](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/popover.md): A popover component for displaying contextual content anchored to a trigger
- [media-poster](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/poster.md): Poster image component that displays a thumbnail until video playback starts
- [media-seek-button](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/seek-button.md): Accessible seek button for skipping forward or backward by a configurable number of seconds
- [media-slider](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/slider.md): A composable slider component with track, fill, thumb, preview, and value parts
- [media-thumbnail](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/thumbnail.md): Time-based thumbnail preview component for timeline scrubbing and hover previews
- [media-time](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/time.md): Time display components for showing current time, duration, and remaining time in a video player
- [media-time-slider](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/time-slider.md): A slider component for seeking through media playback time
- [media-tooltip](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/tooltip.md): A tooltip component for displaying contextual labels on hover and focus
- [media-volume-slider](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/volume-slider.md): A slider component for controlling media playback volume
## Controllers & Mixins
API Reference for controllers and mixins for HTML custom element integration.
- [createPlayer](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/html-create-player.md): Factory function that creates a player instance with typed store, mixins, and controller for HTML custom elements
- [PlayerController](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/player-controller.md): Reactive controller for accessing player store state in HTML custom elements
### Advanced
- [ContainerMixin](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/container-mixin.md): Mixin that consumes player context and registers the element as the media container
- [MediaAttachMixin](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/media-attach-mixin.md): Mixin for custom media elements to register themselves with the provider via context
- [playerContext](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/player-context.md): The default player context instance for consuming the player store in controllers
- [ProviderMixin](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/provider-mixin.md): Mixin that creates the player store and manages the full media attach lifecycle
- [SnapshotController](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/snapshot-controller.md): Reactive controller for subscribing to a State container in HTML custom elements
- [StoreController](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/store-controller.md): Reactive controller for subscribing to store state in HTML custom elements
## Features
API reference for feature modules that provide player capabilities and state.
- [createSelector](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/create-selector.md): Create a type-safe selector for a store slice's state
- [Buffer](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/feature-buffer.md): Buffered and seekable time range state for the player store
- [Controls](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/feature-controls.md): User activity and controls visibility state for the player store
- [Error](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/feature-error.md): Media error state and actions for the player store
- [Fullscreen](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/feature-fullscreen.md): Fullscreen state and actions for the player store
- [Picture-in-picture](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/feature-pip.md): Picture-in-picture state and actions for the player store
- [Playback](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/feature-playback.md): Play/pause state and actions for the player store
- [Playback rate](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/feature-playback-rate.md): Playback speed state and actions for the player store
- [Source](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/feature-source.md): Media source state and actions for the player store
- [Text tracks](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/feature-text-tracks.md): Subtitles, captions, and chapter track state for the player store
- [Time](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/feature-time.md): Playback position and duration state for the player store
- [Volume](https://deploy-preview-1264--vjs10-site.netlify.app/docs/framework/html/reference/feature-volume.md): Volume level and mute state for the player store
---
All documentation: https://deploy-preview-1264--vjs10-site.netlify.app/llms.txt