Video Player
A styled wrapper for HTML5 video, YouTube, and Vimeo content.
Examples
Native Video
Standard HTML5 video with custom play button overlay.
blade
<div class="w-full max-w-2xl">
<x-plume::video src="https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4"
poster="https://interactive-examples.mdn.mozilla.net/media/cc0-images/flower.jpg" />
</div>
YouTube Embed
Automatically detects YouTube URLs.
blade
<div class="w-full max-w-2xl">
<x-plume::video src="https://www.youtube.com/watch?v=dQw4w9WgXcQ" />
</div>
Vimeo Embed
Automatically detects Vimeo URLs.
blade
<div class="w-full max-w-2xl">
<x-plume::video src="https://vimeo.com/76979871" />
</div>
| Prop | Type | Default | Description |
|---|---|---|---|
| src | string | null | Video URL (Direct file, YouTube, or Vimeo). |
| poster | string | null | Poster image URL for native videos. |
| autoplay | bool | false | Whether to start playing automatically. |
| controls | bool | true | Whether to show native player controls. |
| loop | bool | false | Whether to restart automatically after ending. |
| muted | bool | false | Whether to start with audio disabled. |
| aspect | string | 'video' | Aspect ratio: 'square' (1:1), 'video' (16:9), 'standard' (4:3), 'portrait' (3:4), 'cinema' (21:9), 'vertical' (9:16). Supports both '4/3' and '4:3' notations. |
| onPlay | string | null | AlpineJS expression or function to call when playback starts. |
| onPause | string | null | AlpineJS expression or function to call when playback pauses. |
| onEnded | string | null | AlpineJS expression or function to call when playback ends. |
Usage
blade
<x-plume::video src="video.mp4" poster="thumb.jpg" />
<x-plume::video src="https://www.youtube.com/watch?v=..." />