Skip to content
FrameworkStyle

VideoSkin

Full responsive video controls with settings, feedback, gestures, and keyboard input

Use it for a full-featured on-demand video player.

0:00

Use the packaged preset

import { VideoPlayer, VideoSkin } from '@videojs/react/video';
import { Video } from '@videojs/react/video';
import '@videojs/react/video/skin.css';

export function Player() {
  return (
    <VideoPlayer>
      <VideoSkin>
        <Video src="video.mp4" />
      </VideoSkin>
    </VideoPlayer>
  );
}

Install editable source

Install this Skin and its exact dependencies with Shadcn, or copy the same generated files manually. The Player and media remain package imports.

Add the @videojs namespace for the reacttailwind catalog, then install the editable source.

{
  "registries": {
    "@videojs": "https://shadcn.videojs.org/r/react/{name}.json"
  }
}
pnpm dlx shadcn@latest add @videojs/video

Requires `@videojs/react@10.0.0-beta.32`, which is installed with this item.

Customize the skin

Packaged skins support --media-accent-color, --media-accent-text-color,--media-border-radius, and --media-scale-unit. Add your own class name and style values to the skin root.

Use the skin's renderPoster prop to replace its poster.

See Customize skins for the complete styling and ownership workflow.

Behavior and API

  • The packaged export is VideoSkin in React and<video-skin> in HTML.
  • The on-demand preset includes duration and seeking behavior.
  • Default exposes the full primary and secondary control regions.

For player state and feature details, see Presets. For the UI building blocks, see UI components.