# Video.js v10 ## Docs - [buffer](https://mintlify.wiki/videojs/v10/api/features/buffer.md): Buffered and seekable time range state for the player store - [controls](https://mintlify.wiki/videojs/v10/api/features/controls.md): User activity and controls visibility state for the player store - [error](https://mintlify.wiki/videojs/v10/api/features/error.md): Media error state for the player store - [fullscreen](https://mintlify.wiki/videojs/v10/api/features/fullscreen.md): Fullscreen state and actions for the player store - [pip](https://mintlify.wiki/videojs/v10/api/features/pip.md): Picture-in-picture state and actions for the player store - [playback](https://mintlify.wiki/videojs/v10/api/features/playback.md): Play/pause state and controls for the player store - [playbackRate](https://mintlify.wiki/videojs/v10/api/features/playback-rate.md): Playback speed state and actions for the player store - [source](https://mintlify.wiki/videojs/v10/api/features/source.md): Media source state and actions for the player store - [textTrack](https://mintlify.wiki/videojs/v10/api/features/text-tracks.md): Subtitles, captions, and chapter track state for the player store - [time](https://mintlify.wiki/videojs/v10/api/features/time.md): Playback position and duration state for the player store - [volume](https://mintlify.wiki/videojs/v10/api/features/volume.md): Volume level and mute state for the player store - [ContainerMixin](https://mintlify.wiki/videojs/v10/api/html/container-mixin.md): Mixin that consumes player context and auto-attaches media elements found within the element. - [createPlayer()](https://mintlify.wiki/videojs/v10/api/html/create-player.md): Factory function that creates a typed player store, mixins, and controller for HTML custom elements. - [PlayerController](https://mintlify.wiki/videojs/v10/api/html/player-controller.md): Reactive controller for accessing typed player store state in HTML custom elements. - [ProviderMixin](https://mintlify.wiki/videojs/v10/api/html/provider-mixin.md): Mixin that creates and provides the player store to descendant elements via context. - [SnapshotController](https://mintlify.wiki/videojs/v10/api/html/snapshot-controller.md): Reactive controller that subscribes to a State container and triggers host updates on state changes. - [StoreController](https://mintlify.wiki/videojs/v10/api/html/store-controller.md): Reactive controller for accessing store state and actions in HTML custom elements. - [BufferingIndicator](https://mintlify.wiki/videojs/v10/api/react/components/buffering-indicator.md): Loading indicator that shows when the player is buffering or waiting for data. - [CaptionsButton](https://mintlify.wiki/videojs/v10/api/react/components/captions-button.md): Accessible captions toggle button with availability detection and active state reflection. - [Controls](https://mintlify.wiki/videojs/v10/api/react/components/controls.md): Layout wrapper for composing and auto-hiding video player controls on user interaction. - [FullscreenButton](https://mintlify.wiki/videojs/v10/api/react/components/fullscreen-button.md): Accessible fullscreen toggle button with platform availability detection. - [MuteButton](https://mintlify.wiki/videojs/v10/api/react/components/mute-button.md): Accessible mute/unmute button with volume level state reflection. - [PiPButton](https://mintlify.wiki/videojs/v10/api/react/components/pip-button.md): Accessible picture-in-picture toggle button with platform availability detection. - [PlayButton](https://mintlify.wiki/videojs/v10/api/react/components/play-button.md): Accessible play/pause/replay button that toggles playback state. - [PlaybackRateButton](https://mintlify.wiki/videojs/v10/api/react/components/playback-rate-button.md): A button that cycles through playback speed rates. - [Popover](https://mintlify.wiki/videojs/v10/api/react/components/popover.md): Accessible popover wrapper for displaying contextual content anchored to a trigger. - [Poster](https://mintlify.wiki/videojs/v10/api/react/components/poster.md): Poster image component that displays a thumbnail until video playback starts. - [SeekButton](https://mintlify.wiki/videojs/v10/api/react/components/seek-button.md): Accessible seek button for skipping forward or backward by a configurable number of seconds. - [Slider](https://mintlify.wiki/videojs/v10/api/react/components/slider.md): Composable base slider primitive with track, fill, thumb, preview, and value sub-components. - [Thumbnail](https://mintlify.wiki/videojs/v10/api/react/components/thumbnail.md): Time-based thumbnail preview component for timeline scrubbing and hover previews. - [Time](https://mintlify.wiki/videojs/v10/api/react/components/time.md): Time display components for showing current time, duration, and remaining time. - [TimeSlider](https://mintlify.wiki/videojs/v10/api/react/components/time-slider.md): Scrub bar slider for seeking through media playback time. - [Tooltip](https://mintlify.wiki/videojs/v10/api/react/components/tooltip.md): Accessible tooltip wrapper for displaying contextual labels on hover and focus. - [VolumeSlider](https://mintlify.wiki/videojs/v10/api/react/components/volume-slider.md): Volume control slider for adjusting media playback volume. - [createPlayer()](https://mintlify.wiki/videojs/v10/api/react/create-player.md): Factory function that creates a typed React player with Provider, Container, and hooks bound to your feature set. - [Player context](https://mintlify.wiki/videojs/v10/api/react/player-context.md): Low-level React context primitives for building custom player components that integrate with the player store. - [useMedia()](https://mintlify.wiki/videojs/v10/api/react/use-media.md): Hook for accessing the underlying HTMLMediaElement from within a Player.Provider context. - [usePlayer()](https://mintlify.wiki/videojs/v10/api/react/use-player.md): Hook for accessing the typed player store from within a Player.Provider context. - [useSelector()](https://mintlify.wiki/videojs/v10/api/react/use-selector.md): Low-level hook for subscribing to external store state with full control over subscription plumbing and equality comparison. - [useStore()](https://mintlify.wiki/videojs/v10/api/react/use-store.md): Hook for accessing store state and actions, with optional selector-based reactive subscriptions. - [createSelector()](https://mintlify.wiki/videojs/v10/api/store/create-selector.md): Create a type-safe selector for a store slice's state. - [useSnapshot()](https://mintlify.wiki/videojs/v10/api/store/use-snapshot.md): Subscribe to a State container and return its current value. - [Features](https://mintlify.wiki/videojs/v10/concepts/features.md): Self-contained units of player state and actions — and how to use them. - [Overview](https://mintlify.wiki/videojs/v10/concepts/overview.md): How Video.js players are structured — state, UI, and media. - [Presets](https://mintlify.wiki/videojs/v10/concepts/presets.md): Pre-packaged player configurations that bundle state management, skins, and media elements for specific use cases. - [Skins](https://mintlify.wiki/videojs/v10/concepts/skins.md): Complete pre-designed player UIs that package components and styles together. - [UI components](https://mintlify.wiki/videojs/v10/concepts/ui-components.md): Building blocks for custom player UIs — one element per component, data attributes for state, and compound composition. - [Custom features](https://mintlify.wiki/videojs/v10/guides/custom-features.md): Compose and extend Video.js v10 feature bundles to build players with exactly the functionality you need. - [Custom skins](https://mintlify.wiki/videojs/v10/guides/custom-skins.md): Customize or build your own Video.js v10 skin using CSS custom properties, component composition, and ejected skins. - [HTML custom elements](https://mintlify.wiki/videojs/v10/guides/html.md): Use Video.js v10 in any HTML page or framework-free project with @videojs/html custom elements. - [Installation](https://mintlify.wiki/videojs/v10/guides/installation.md): Install Video.js v10 and set up your first player using npm, pnpm, yarn, or bun. - [Media sources](https://mintlify.wiki/videojs/v10/guides/media-sources.md): Use plain video, HLS, DASH, and other media sources with Video.js v10 in both React and HTML. - [React integration](https://mintlify.wiki/videojs/v10/guides/react.md): Build a fully featured video player in React using @videojs/react components, hooks, and typed stores. - [Introduction](https://mintlify.wiki/videojs/v10/introduction.md): Video.js v10 is a modern, modular media player framework for Web and React — built for composability, TypeScript-first development, and multi-platform delivery. - [@videojs/core](https://mintlify.wiki/videojs/v10/packages/core.md): Runtime-agnostic core logic, feature definitions, and DOM bindings shared across all Video.js platform packages. - [@videojs/html](https://mintlify.wiki/videojs/v10/packages/html.md): HTML Custom Elements library for building media players with vanilla JavaScript and Web Components. - [@videojs/react](https://mintlify.wiki/videojs/v10/packages/react.md): React library for building accessible, feature-rich media players with components, hooks, and utilities. - [@videojs/spf](https://mintlify.wiki/videojs/v10/packages/spf.md): Stream Processing Framework — a unified interface for HLS and MPEG-DASH playback, abstracting hls.js and dash.js. - [@videojs/store](https://mintlify.wiki/videojs/v10/packages/store.md): Reactive state management for external systems, with selector-based subscriptions and platform bindings for HTML and React. - [@videojs/utils](https://mintlify.wiki/videojs/v10/packages/utils.md): Shared utilities for type predicates, DOM helpers, events, and more — used across all Video.js packages. - [Quickstart](https://mintlify.wiki/videojs/v10/quickstart.md): Get a working Video.js v10 player running in under 5 minutes. Choose your platform: React components or HTML custom elements. ## OpenAPI Specs - [openapi](https://mintlify.wiki/videojs/v10/api-reference/openapi.json)