Skip to content

zk-video ​

Renders a <video> element with source and track support. Accepts a sources array or a single URL string.

Props ​

PropTypeDefaultDescription
sourcesarray|string|nullnullSource URL (string) or array of source objects
tracksarray|string|nullnullTrack URL (string) or array of track objects
controlsbooltrueShow browser controls
autoplayboolfalseAuto-play on load
loopboolfalseLoop playback
mutedboolfalseMute audio
widthint|nullnullVideo display width
heightint|nullnullVideo display height
posterstring|nullnullPoster image URL
preloadstring|nullnullauto, metadata, or none
classstring|nullnullCSS class(es)

Source Object Structure ​

php
[
    'src'    => '/video/clip.webm',  // required
    'type'   => 'video/webm',        // default: 'video/webm'
    'sizes'  => null,
    'media'  => null,
    'srcset' => null,
]

Examples ​

Single source (string shorthand) ​

blade
<x-zk-video sources="/video/demo.mp4" />

Multiple sources for compatibility ​

blade
<x-zk-video :sources="[
    ['src' => '/video/demo.webm', 'type' => 'video/webm'],
    ['src' => '/video/demo.mp4',  'type' => 'video/mp4'],
]" poster="/img/poster.jpg" />

Muted autoplay (hero video) ​

blade
<x-zk-video
    sources="/video/hero.mp4"
    autoplay
    loop
    muted
    :controls="false"
    class="hero-video" />

With subtitles ​

blade
<x-zk-video
    sources="/video/talk.mp4"
    :tracks="[
        ['src' => '/subtitles/en.vtt', 'kind' => 'subtitles', 'srclang' => 'en', 'label' => 'English', 'default' => true],
        ['src' => '/subtitles/fr.vtt', 'kind' => 'subtitles', 'srclang' => 'fr', 'label' => 'Français'],
    ]" />

Documentation of 3.2.0 , built from c93e21f on 3.2.0 by pipeline #2919741884 on 2026-10-06.