video_player_web 2.0.12 icon indicating copy to clipboard operation
video_player_web: ^2.0.12 copied to clipboard

Platformweb
unlisted

Web platform implementation of video_player.

video_player_web #

The web implementation of video_player.

Usage #

This package is endorsed, which means you can simply use video_player normally. This package will be automatically included in your app when you do.

Limitations on the Web platform #

Video playback on the Web platform has some limitations that might surprise developers more familiar with mobile/desktop targets.

In no particular order:

dart:io #

The web platform does not suppport dart:io, so attempts to create a VideoPlayerController.file will throw an UnimplementedError.

Autoplay #

Attempts to start playing videos with an audio track (or not muted) without user interaction with the site ("user activation") will be prohibited by the browser and cause runtime errors in JS.

See also:

Some videos restart when using the seek bar/progress bar/scrubber #

Certain videos will rewind to the beginning when users attempt to seekTo (change the progress/scrub to) another position, instead of jumping to the desired position. Once the video is fully stored in the browser cache, seeking will work fine after a full page reload.

The most common explanation for this issue is that the server where the video is stored doesn't support HTTP range requests.

NOTE: Flutter web's local server (the one that powers flutter run) DOES NOT support range requests, so all video assets in debug mode will exhibit this behavior.

See Issue #49360 for more information on how to diagnose if a server supports range requests or not.

Mixing audio with other audio sources #

The VideoPlayerOptions.mixWithOthers option can't be implemented in web, at least at the moment. If you use this option it will be silently ignored.

Supported Formats #

Different web browsers support different sets of video codecs.

Video codecs? #

Check MDN's Web video codec guide to learn more about the pros and cons of each video codec.

What codecs are supported? #

Visit caniuse.com: 'video format' for a breakdown of which browsers support what codecs. You can customize charts there for the users of your particular website(s).

Here's an abridged version of the data from caniuse, for a Global audience:

MPEG-4/H.264

Data on Global support for the MPEG-4/H.264 video format

WebM

Data on Global support for the WebM video format

Ogg/Theora

Data on Global support for the Ogg/Theora video format

AV1

Data on Global support for the AV1 video format

HEVC/H.265

Data on Global support for the HEVC/H.265 video format