Videojs Offline Plugin

The live stream will start after second offline retry.

One time fee € 11.00

Buy now

Overview

The Offline plugin allows to display custom offline image with retry countdown when the live stream goes offline. Offline image is initialized when stream playlist is not accessible (errors 404, 403, etc.), when fatal network and media error occurs, when streaming network disconnected while playing, or internet connection goes down.
The plugin attempts to reconnect the stream automatically in user-defined intervals (default each 30 seconds).
The offline plugin features 3 easy to understand options.
  • offlineImage - URL of the offline Image
  • offlineTimeout (default 30) - timeout value (seconds) for offlineImage to retry live stream
  • offlineCountdown (default true) - set false to hide visible countdown
Important: You need to set preload="none" video attribute to have the offline plugin working correctly.
Minimum setup is:
Code snippet
<script src="//domain.com/videojs/videojs.min.js"></script>
<script src="//domain.com/videojs/plugins/videojs.offline.js"></script>

var player = videojs('myplayer'); 
player.offline({offlineImage: "//domain.com/path-to-video-image.jpg"});
</script>

You can also set optionss to change offline retry interval value, to hide contdown or to change countdown text string, which by default is "Restart".
Code snippet
player.offline({
   offlineImage:"//domain.com/path-to-video-image.jpg",
   offlineTimeout:20,  
   offlineCountdown:false,
   label:"Neustart"
});
</script>

Videojs VHS library used to stream HLS and DASH video is missing playlist parse errors validation. In other words, if playlist file is loaded, but this is an empty file, or playlist content is not a valid m3u8 or dash playlist, the player will not throw any error and offline plugin cannot work. We already reported this important missing VHS functionality to video.js devs. This issue doesn't concern alternative Hlsjs plugin and hls.js library. Hls.js does validate playlist for parse errors and throws an error to videojs, so the Offline plugin will work.

For the moment we added new functionality to the latest version of the Offline plugin, in case when using VHS and a playlist is not in a valid format. The user can define a timeout value for the media load event. If media not loaded, offline plugin is activated.
The default value for loadTimeout option is 0 and this means that timeout function will not be used. Set any other value in milliseconds to use load timeout function.
Code snippet
player.offline({
   offlineImage:"//domain.com/path-to-video-image.jpg",
   offlineTimeout:20,
   offlineCountdown:false,
   loadTimeout: 5000
});
</script>