Skip to content

React Video Player Examples

These use the same 5 minute video, intended for comparing behavior & performance.

Features implemented

  • Playback options (autoplay, loop, mute by default, hide controls)
  • Captions (browser native)

Simple HTML5

A baseline video tag using raw file URL.

JS payload: 566KB

Mux Player

Based on https://www.mux.com/docs/guides/mux-player-web, with a WIP custom theme.

JS payload: 1651KB

HTML5 with HLS (Below the fold)

Same as above, but not initially visible (on most screens), to demonstrate lazy loading via `hydrateOn="visible"`.

JS payload: 1,030 KB

HTML5 with HLS

Video tag loading Hls.JS (optionally, based on module field).

JS payload: 1,030 KB

Mux Player - Themes

Light & Dark themes

JS payload: 1651KB

Current Video Module

Iframe based player for comparison.

JS payload: 2,572 kB to load, 3,027 kB to play (we defer loading VideoJS/HLS.JS and show a poster image initially, but the static app baseline is still significant)