# Video.js v10 — HTML API
> API reference for the player factory, presets, store controllers, features, translation tools, and utilities. Every page below is also available as Markdown at its `.md` URL. This section in one file (about 50k tokens): https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/llms-full.txt
## Player
API reference for creating a player and reaching it and its container from your own code.
- [createPlayer](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/html-create-player.md): Factory function that creates a typed player element and controller for HTML custom elements
- [PlayerController](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/player-controller.md): Reactive controller for accessing player store state in HTML custom elements
- [UIElement](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/ui-element.md): Base class for custom elements that read player state through reactive controllers
- [Media capability guards](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/media-capabilities.md): Type guards that narrow a Media object to the capabilities it supports
## Presets
API reference for the presets: each bundles a player, feature bundle, skins, and media for one use case.
- [Video preset](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/preset-video.md): The general-purpose video preset — a player, feature bundle, skins, and media for on-demand video
- [Audio preset](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/preset-audio.md): The audio-only preset — a player, feature bundle, skins, and media for on-demand audio
- [Live video preset](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/preset-live-video.md): The live video preset — a player, feature bundle, skins, and media for live video streams
- [Live audio preset](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/preset-live-audio.md): The live audio preset — a player, feature bundle, skins, and media for live audio streams
- [Background preset](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/preset-background.md): The background video preset — a player, feature bundle, skin, and media for ambient video with no controls
## Store
API reference for reading and subscribing to player state: selectors and the store controllers.
- [Player store](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/player-store.md): Every state field and action on the player store, grouped by the feature that adds it
- [createSelector](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/create-selector.md): Create a type-safe selector for a store slice's state
- [StoreController](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/store-controller.md): Reactive controller for subscribing to store state in HTML custom elements
- [SnapshotController](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/snapshot-controller.md): Reactive controller for subscribing to a State container in HTML custom elements
- [SubscriptionController](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/subscription-controller.md): Reactive controller that resolves a store and manages a derived subscription
## Features
API reference for the feature modules passed to createPlayer, which provide player capabilities and state.
- [Buffer](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-buffer.md): Buffered and seekable time range state for the player store
- [Controls](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-controls.md): User activity and controls visibility state for the player store
- [Error](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-error.md): Media error state and actions for the player store
- [Fullscreen](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-fullscreen.md): Fullscreen state and actions for the player store
- [Live](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-live.md): Live edge state for the player store
- [Metadata](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-metadata.md): Resolved title and poster values for the player store
- [Orientation lock](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-orientation-lock.md): Screen orientation locking while fullscreen is active
- [Picture-in-picture](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-pip.md): Picture-in-picture state and actions for the player store
- [Playback](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-playback.md): Play/pause state and actions for the player store
- [Playback rate](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-playback-rate.md): Playback speed state and actions for the player store
- [Quality](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-quality.md): Video rendition state and actions for the player store
- [Audio track](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-audio-track.md): Audio track state and actions for the player store
- [Remote Playback](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-remote-playback.md): Remote playback state and actions for the player store
- [Source](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-source.md): Media source state and actions for the player store
- [Stream type](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-stream-type.md): Stream delivery type (live / on-demand) state for the player store
- [Text tracks](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-text-tracks.md): Subtitles, captions, and chapter track state for the player store
- [Time](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-time.md): Playback position and duration state for the player store
- [Volume](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/feature-volume.md): Volume level and mute state for the player store
## i18n
API reference for translating the player: the i18n elements, controller, and the phrase registry.
- [createI18n](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/create-i18n.md): Factory that creates framework i18n helpers with custom loading options
- [media-i18n](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/media-i18n.md): HTML custom element that resolves locale and supplies translations to descendants
- [media-text](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/media-text.md): HTML custom element that renders a translated string by semantic key
- [Translation phrases](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/translation-phrases.md): Semantic i18n keys, their English defaults, and the player UI that uses them
- [registerI18n](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/register-i18n.md): Register or merge translation strings for a BCP 47 locale tag in the global i18n registry
- [getI18nTranslations](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/get-i18n-translations.md): Read the merged translation map for a locale using BCP 47 parent-chain fallback
- [hasRegisteredLocale](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/has-registered-locale.md): Check whether an exact locale tag exists in the global i18n registry
- [onI18nRegistryChange](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/on-i18n-registry-change.md): Subscribe to global i18n registry mutations
- [createTranslator](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/create-translator.md): Build a typed translator from a resolved translation map
- [translateText](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/translate-text.md): Translate a text descriptor, or fall back to its English default
- [resolveTranslation](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/resolve-translation.md): Translate a key with the params its English default requires
- [isText](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/is-text.md): Check whether a value is a text descriptor
- [loadLocale](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/load-locale.md): Lazy-load the built-in translation pack for a locale
- [getLocaleKey](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/get-locale-key.md): Normalize a locale tag to the key the i18n registry stores it under
- [findLocaleKeys](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/find-locale-keys.md): List the locale tags a lookup falls back through, most specific first
- [I18nController](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/i18n-controller.md): Reactive controller for consuming translator and locale values from an HTML i18n context
## Utils
Lower-level building blocks: adapter and MIME type resolution, and the keyboard shortcut controller for custom components.
- [resolveAdapterType](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/resolve-adapter-type.md): Resolve which type of adapter plays a source URL, from its host, MIME type, or file extension
- [resolveMimeType](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/resolve-mime-type.md): Resolve a source's MIME type from its file extension
- [AriaKeyShortcutsController](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/aria-key-shortcuts-controller.md): Reactive controller that exposes registered hotkey shortcut metadata
## Error codes
Reference for codes thrown when Video.js 8 APIs are used with the Video.js 10 package.
- [Error Codes](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/error-codes.md): Error codes emitted by the video.js package and how to resolve them
- [VJS8_LEGACY_INIT](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/vjs8-legacy-init.md): Legacy Video.js 8 player initialization error
- [VJS8_LEGACY_PLUGIN](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/vjs8-legacy-plugin.md): Legacy Video.js 8 plugin registration error
- [VJS8_LEGACY_COMPONENT](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/vjs8-legacy-component.md): Legacy Video.js 8 component registration error
- [VJS8_LEGACY_GET_PLAYER](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/vjs8-legacy-get-player.md): Legacy Video.js 8 player lookup error
- [VJS8_LEGACY_OPTIONS](https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/reference/api/vjs8-legacy-options.md): Legacy Video.js 8 global options error
---
HTML documentation: https://deploy-preview-9398--vjs10-site.netlify.app/docs/framework/html/llms.txt
All documentation: https://deploy-preview-9398--vjs10-site.netlify.app/llms.txt