iOS limitations for media HLS streaming

Recently we often receive inquiries about different HTTP-based adaptive bitrate streaming (HLS) on iOS devices. Well, this is not a player or a plugin error, but what the Safari browser's support for HLS streaming is.

iOS HLS video

Most of moderns browsers with HTML5 support make use of Media Source Extension (MSE) API to implementat code for streaming media entirely in JavaScript.

Ima plugin - reset and request ads

In a previous blog we have described how to reset or set new VAST ads either for video playlist items or for new video loaded programmatically. Now we will describe how to reset or load new Google video ads, also know as Google Ima ads, served through Ima plugin by Google.

Reset Vast ads programatically - Videojs

Updated VAST/VPAID plugin (version 2.0) now features few options to reset and reuse VAST/VPAID ads when video changed and loaded programmatically or for videos from the playlist.

Videojs VAST reset

Nuevo plugin has been updated not to allow video source changed while VAST/VPAID ad playing. Same concerns video from playlist. You can't switch to the new video item when ad is playing.

Here's an example of video with VAST preroll and the option to change video source. Once video source changed, VAST is reseted and reused!

Videojs - reconnect live stream automatically

When you attempt to play live stream, but media server is down or disconnected the the video.js player keeps loading playlist continuously every 5 seconds about. If you leave the website page in this state or try to reconnect media server by reloading video source programmatically, after few minutes the browser may crash due to lack of memory.

Live stream offline

Videojs fires "retryplaylist" event every 5 seconds about, when the only one HLS playlist or final rendition of the HLS playlist failed to load media file. In Nuevo plugin (from version 6.0.1) we have added a few options to limit the number of playlist loading retries and play "offline" video once the limit reached. When "offline" video ended, the browser is automatically refreshed and attempts to load Hls playlist again.

Set video source programmatically

Several users asked us how to set media source and corresponding data like captions, chapters, etc. progrmmatically instead of video element parameters.

Usually people make use of videojs src() function to load media source programattically, however it allows only to set media source. With Nuevo plugin you can make use of changeSource() function. Hoever since this is Nuevo plugin function, you can use it only once Nuevo plugin is loaded.

Nuevodevel Blog
Nuevodevel Tweeter