Start with one component
Native video, packaged skins, captions and typed media events through VideoPlayer.
A complete player when you need one. Shared state and composable controls when you need more.
Native video, packaged skins, captions and typed media events through VideoPlayer.
PlayerRoot, media and upstream control bindings use one player store.
Readonly selectors and explicit actions connect Vue to Video.js without duplicating state.