diff --git a/site/src/assets/docs/concepts/why-videojs/chrome-default-controls.png b/site/src/assets/docs/concepts/why-videojs/chrome-default-controls.png new file mode 100644 index 00000000..2fb05004 Binary files /dev/null and b/site/src/assets/docs/concepts/why-videojs/chrome-default-controls.png differ diff --git a/site/src/assets/docs/concepts/why-videojs/firefox-default-controls.png b/site/src/assets/docs/concepts/why-videojs/firefox-default-controls.png new file mode 100644 index 00000000..608a726b Binary files /dev/null and b/site/src/assets/docs/concepts/why-videojs/firefox-default-controls.png differ diff --git a/site/src/assets/docs/concepts/why-videojs/safari-default-controls.png b/site/src/assets/docs/concepts/why-videojs/safari-default-controls.png new file mode 100644 index 00000000..bcde553b Binary files /dev/null and b/site/src/assets/docs/concepts/why-videojs/safari-default-controls.png differ diff --git a/site/src/content/docs/concepts/overview.mdx b/site/src/content/docs/concepts/overview.mdx index 8251323c..82b430be 100644 --- a/site/src/content/docs/concepts/overview.mdx +++ b/site/src/content/docs/concepts/overview.mdx @@ -11,6 +11,8 @@ import Aside from '@/components/Aside.astro'; Video.js v10 is built around a three-part architecture that separates concerns and maximizes flexibility. Each part is designed to work independently or together, allowing you to use as much or as little of Video.js as you need. +For the reasoning behind this design, see Why Video.js?. + ## 1. State management State is handled by a `Player.Provider`, which creates a central state store that all components can access. When you wrap your player in a `Player.Provider`, the components automatically connect to the state. diff --git a/site/src/content/docs/concepts/why-videojs.mdx b/site/src/content/docs/concepts/why-videojs.mdx new file mode 100644 index 00000000..4a4632be --- /dev/null +++ b/site/src/content/docs/concepts/why-videojs.mdx @@ -0,0 +1,159 @@ +--- +title: 'Why Video.js?' +description: 'The open-source video player for React and HTML. Lightweight, accessible components built for performance and streaming.' +--- + +import FrameworkCase from '@/components/docs/FrameworkCase.astro'; +import DocsLink from '@/components/docs/DocsLink.astro'; +import DocsLinkCard from '@/components/docs/DocsLinkCard.astro'; +import ContentWidth from '@/components/frames/ContentWidth.astro'; +import { TabsRoot, TabsList, TabsPanel, Tab } from '@/components/Tabs.tsx'; +import chromeDefaultControls from '@/assets/docs/concepts/why-videojs/chrome-default-controls.png'; +import safariDefaultControls from '@/assets/docs/concepts/why-videojs/safari-default-controls.png'; +import firefoxDefaultControls from '@/assets/docs/concepts/why-videojs/firefox-default-controls.png'; + +Video.js is the open-source video player for the web. It makes web video easy, performant, accessible, and customizable. + +Let's dig into when you'd want to use Video.js, starting with the the question we hear most... + + +## Why not `