# Video.js v10 > Modern video player framework with multi-platform support ## Documentation ### Html + CSS - [Architecture](/docs/framework/html/style/css/concepts/architecture): Understanding the three-tier architecture of Video.js v10 - State, UI, and Renderers - [Skins](/docs/framework/html/style/css/concepts/skins): Understanding skins in Video.js v10 - packaged sets of UI components and styles - [UI Components](/docs/framework/html/style/css/concepts/ui-components): Understanding Video.js v10's primitive-based component architecture - [v10 Roadmap](/docs/framework/html/style/css/concepts/v10-roadmap): Timeline and milestones for Video.js v10 rebuild and the future of v8 - [Customize Skins](/docs/framework/html/style/css/how-to/customize-skins): Learn how to customize Video.js v10 skins by copying and modifying them - [Installation](/docs/framework/html/style/css/how-to/installation): Get started with Video.js v10 by choosing your framework, styles, skin, and media renderer - [fullscreen-button](/docs/framework/html/style/css/reference/fullscreen-button): A button component for toggling fullscreen mode - [mute-button](/docs/framework/html/style/css/reference/mute-button): A button component for toggling audio mute state - [play-button](/docs/framework/html/style/css/reference/play-button): A button component for playing and pausing media playback - [time-slider](/docs/framework/html/style/css/reference/time-slider): A slider component for seeking through media content - [volume-slider](/docs/framework/html/style/css/reference/volume-slider): A slider component for controlling media volume ### React + CSS - [Architecture](/docs/framework/react/style/css/concepts/architecture): Understanding the three-tier architecture of Video.js v10 - State, UI, and Renderers - [Skins](/docs/framework/react/style/css/concepts/skins): Understanding skins in Video.js v10 - packaged sets of UI components and styles - [UI Components](/docs/framework/react/style/css/concepts/ui-components): Understanding Video.js v10's primitive-based component architecture - [v10 Roadmap](/docs/framework/react/style/css/concepts/v10-roadmap): Timeline and milestones for Video.js v10 rebuild and the future of v8 - [Customize Skins](/docs/framework/react/style/css/how-to/customize-skins): Learn how to customize Video.js v10 skins by copying and modifying them - [Installation](/docs/framework/react/style/css/how-to/installation): Get started with Video.js v10 by choosing your framework, styles, skin, and media renderer - [FullscreenButton](/docs/framework/react/style/css/reference/fullscreen-button): A button component for toggling fullscreen mode - [MuteButton](/docs/framework/react/style/css/reference/mute-button): A button component for toggling audio mute state - [PlayButton](/docs/framework/react/style/css/reference/play-button): A button component for playing and pausing media playback - [TimeSlider](/docs/framework/react/style/css/reference/time-slider): A slider component for seeking through media content - [VolumeSlider](/docs/framework/react/style/css/reference/volume-slider): A slider component for controlling media volume ## Blog Posts - [Video.js 8 and Video.js HTTP Streaming 3](/blog/videojs-8-and-vhs-3): Video.js 8 and VHS 3 drop IE support and ES5 transpilation for 3-4% size reduction, introduce new TitleBar component with loadMedia metadata support, reorganize utilities into videojs.dom/fn/num/obj/str/time/url objects, and target evergreen browsers plus Chromium 53 for Smart TV compatibility. - [Announcing the new Videojs.com](/blog/announcing-the-new-videojs-com): Video.js unveils completely redesigned website with new logo, four CSS-only customizable themes showcasing player framework philosophy, unified root domain, Mux-funded development, and renewed focus on empowering builders to create custom video experiences. - [In-band Captions Support with videojs-http-streaming](/blog/inband-captions-support-with-vhs): VHS 1.2.0 introduces built-in CEA-608 caption parsing from FMP4 segments for HLS and MPEG-DASH using mux.js CaptionParser, automatically extracting caption streams and converting to VTTCue format for Video.js TextTrack API integration. - [Video.js 7.4](/blog/video-js-7-4): Video.js 7.4 debuts experimental live UI enabling seekable live streams with time display relative to live point, adds 14 first-time contributors, removes Grunt for npm scripts, updates focus-visible menu backgrounds, implements replay option, and expands to six new translations. - [Bugpost: Disconnects and Reconnects](/blog/bugpost-disconnects-and-reconnects): Video.js debugging journey fixes DASH network disconnect issues by comparing currentTime on timeupdate to prevent premature loading spinner removal, throttling final playlist retries to prevent console crashes, and fixing media-segment-request abort callbacks for init segments. - [Introducing Video.js HTTP Streaming (VHS)](/blog/introducing-video-js-http-streaming-vhs): Video.js HTTP Streaming (VHS) debuts as successor to videojs-contrib-hls, adding DASH support with shared codebase, bundled by default in Video.js 7 for cross-browser HLS and DASH playback without external plugins, with opt-out via core build. - [Video.js 7.3: Responsive Layout, Fill Mode, createLogger](/blog/video-js-7-3-responsive-layout-fill-mode-createLogger): Video.js 7.3 introduces Responsive Mode using playerresize event to apply breakpoint classes like vjs-layout-small for adaptive UI, promotes Fill Mode to first-class feature for contained resizing, and adds createLogger method for hierarchical plugin debugging. - [Video.js 7.1 and 6.11: Autoplay and Fullscreen changes](/blog/video-js-7-1-and-6-11-autoplay-and-fullscreen-changes): Video.js 7.1 and 6.11 expand autoplay option with muted, play, and any values for better browser policy compatibility, implement double-click fullscreen toggling outside control bar, disable fullscreen button in unsupported contexts, and show mute toggle on iOS. - [Video.js 7 is here! 🎉](/blog/video-js-7-is-here): Video.js 7 officially launches with VHS bundled for HLS and experimental DASH support, drops IE8-10 to enable modern CSS selectors and reduce code, provides core build without VHS, removes Google Analytics from CDN, deprecates 5.x, and plans future roadmap. - [Autoplay Best Practices with Video.js](/blog/autoplay-best-practices-with-video-js): Video.js autoplay best practices recommend never assuming autoplay succeeds, using muted attribute to improve success rates, preferring programmatic player.play() over autoplay attribute, and handling Promise rejection to detect when browsers block autoplay. - [videojs-contrib-ads 6](/blog/videojs-contrib-ads-6): videojs-contrib-ads 6 refactors state machine to match strict ad mode definition where content playback is blocked, introducing separate content and ad states, with Redispatch preventing extra media events and maintaining plugin compatibility. - [Video.js 7 Roadmap](/blog/video-js-7-roadmap): Video.js 7 roadmap announces VHS (videojs-contrib-hls successor) bundled by default for plug-and-play HLS/DASH, drops IE8-10 support saving 5-10 minutes in test time, deprecates 5.x, removes Google Analytics tracking from CDN, and transitions from Rollup to Webpack 4. - [videojs-vr Is Now Under The Video.js Org](/blog/videojs-vr-now-under-the-video-js-org): Video.js officially adopts videojs-vr as first-class plugin with Video.js 6 support, using three.js canvas with webvr-polyfill for 360/VR playback across equirectangular and cube projections, supporting VIVE, Oculus, and Google Cardboard. - [Video.js 6.7.1 released](/blog/video-js-6-7-1-released): Video.js 6.7.1 delivers working playerresize event using ResizeObserver with iframe fallback, mediator middleware for play/pause cancellation, getPlayer/getAllPlayers helpers to prevent duplicate initialization, and Netlify migration enabling HTTPS and automated PR previews. - [Video.js 6.5.0 Release](/blog/video-js-6-5-0-release): Video.js 6.5.0 introduces element for simpler embedding without requiring