Modules

EMP HTML5 player 2 is delivered as javaScript modules.

The big advantage of this is that you can select the modules you need.

Javascript's that are included in the package:

Bundles

  • emp-player-all.js (includes video.js, emp-player.js, emp-shaka.js, emp-hls.js, emp-hls-mse and emp-cast-sender.js)
  • emp-player.js (includes emp-analytics.js and emp-entitlement.js)

Plugins and middleware

  • emp-analytics.js (includes EMP Analytics connector)
  • emp-entitlement.js (includes ProgramService Plugin and EntitlementMiddleware)
  • emp-cast-sender.js (includes Cast-Tech and Chromecast button)
  • shakaplayer-dna-wrapper.js (peer-to-peer plugin for MPEG-DASH Streamroot)
  • emp-yospace.js
  • Playlist-Plugin (in emp-player.js and emp-player-all.js)
  • vtt-thumbnails-plugin (in emp-player.js and emp-player-all.js)
  • download-service-plugin (in emp-player.js and emp-player-all.js)

Techs

  • emp-shaka.js (includes EMP Shaka Player patch version for playing MPEG-DASH with PlayReady and Widevine DRM)
  • emp-hls.js (for playing native HLS in Safari with Fairplay DRM, includes Airplay)
  • emp-hls-mse.js (includes hls.js Player for play unencrypted HLS with Chrome, Edge, IE11 and Firefox)
  • emp-dashif.js (Need dash.js for play MPEG-DASH with PlayReady and Widevine DRM)
  • emp-smooth.js (Need hasplayer for play encrypted Smooth Streaming with PlayReady DRM.)

Modules are delivered as Universal Module Definition(UMD) (.js) and CommonJS Modules (.cjs.js) and ES Modules (*.es.js).

Architecture overview


EMP HTML5 player architecture

Videojs comes with one tech included HTML5-Tech, that can play mp4 videos.
EMP-Player extended VideoJS-Player to add a richer functionality and better support of live streaming.

emp-player.css style-sheet extend videojs.css to add look and feel for EMP-Player and Control bar.
EMP-Controlbar has a program related progress/seek bar and buttons for: Bitrate, FF, RW, Restart, Reload, Stop, Live, Next/Prev-program.

  • EMP-Shaka-Tech adds support for playing encrypted MPEG-DASH Streams.

  • EMP-HLS-Tech adds support for playing encrypted HLS Streams and Airplay support.

  • EMP-HLS-MSE-Tech adds support for playing unencrypted HLS Streams with Chrome, Edge, IE11 and Firefox.

  • EMP-Dashif-Tech adds support for playing encrypted MPEG-DASH Streams and Low latency stream.

  • EMP-Smooth-Tech adds support for playing encrypted Smooth Streaming.

  • Chromecast-Tech adds support for casting to EMP Custom Receiver.

  • Analytics-Plugin adds support for sending playback analytics to EMP. Note that this module is already included in the EMP-Player. This module is used if you use another player then EMP-player but you still want to send analytics events to EMP Analytics processing service.

  • ProgramService-Plugin adds support for playing catchup-as-live and fetching EPG information.

  • Entitlement-Middleware adds support for authentication needed for playing EMP Streams.

  • Playlist-Plugin adds support for jump between programs, assets and external streams in the playlist.

  • yospace-plugin adds support for play Yospace Dynamic Ad Insertion Streams.

  • vtt-thumbnails-plugin adds support for vtt-thumbnails.

  • download-service-plugin adds support for download encrypted MPEG-DASH Streams and play them when offline.