Opencast Player - Piwik Tracking Plugin

This plugin allows to user Piwik ( to track usage data. To setup Piwik please follow the instructions on the piwik website:

The plugin respects the Do-Not-Track settings of a browser. You might also need to consider the legal requirements of your country when you setup Piwik.

This plugin uses a Piwik javascript library that is loaded from the remote Piwik server!

Tested Piwik version: 3.0.2

The configurations for the piwik player plugin are done for each tenant. So the configuration keys are located in .../etc/org.opencastproject.organization-mh_default_org.cfg.

To activate the plugin set:


Where localhost should be replaced with your Piwik server URL.



The Piwik server from which the Piwik JS library will be loaded and where the dat awill be reported.


The Piwik site ID has to be numeric value. If not set this will be 1. It is recommended to use different site IDs for each tenant that is configured in Opencast.


The heartbeat setting to track how long a user stayed on the player page. Set to 0 or comment this line to disable the heartbeat.


This setting lets you track several player events. Add the events that you want to track to the list. Comment this property to prevent event tracking.

Events that can be tracked:

  • play: play has been pressed (will also be called if after seeking).
  • pause: pause has been pressend (will also be called if before seeking).
  • seek: user jumps to a different time. Time in seconds will be stored
  • ended: video has reached the end
  • playbackrate: user changes the playback speed (values 0.75 to 3.00)
  • volume: Volume change by the user value 0.0 to 1.0
  • quality: manual change of video quality (quality tag is stored)
  • fullscreen: user presses fullscreen button
  • focus: user selects one video to be enlarged (flavor of selected video is stored)
  • layout_reset: user switches back to default layout
  • zoom: user changes the zoom of the video

Tracked Data

Additional to the event data that can be turned on for each event (see above), this Opencast specific data is tracked if tracking is allowed:

  • Page name as " - <lecturer name>"</li> <li>Custom Piwik variables:</li> <li>"event" as "<title of the event> (<event id>)"</li> <li>"series" as "<title of the series> (<series id>)"</li> <li>"presenter"</li> <li>"view_mode" which can be "desktop", "mobile" or "embed"</li> </ul> <p>Heartbeat data does not show how long a video has been played but how long a viewer remained on the page, while the page was in the foreground.</p> </div> </div> <footer> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <a href="../searchindex/" class="btn btn-neutral float-right" title="Search Index">Next <span class="icon icon-circle-arrow-right"></span></a> <a href="../player.url.parameter/" class="btn btn-neutral" title="URL Parameters"><span class="icon icon-circle-arrow-left"></span> Previous</a> </div> <hr/> <div role="contentinfo"> <!-- Copyright etc --> </div> Built with <a href="">MkDocs</a> using a <a href="">theme</a> provided by <a href="">Read the Docs</a>. </footer> </div> </div> </section> </div> <div class="rst-versions" role="note" style="cursor: pointer"> <span class="rst-current-version" data-toggle="rst-current-version"> <a href="" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a> <span><a href="../player.url.parameter/" style="color: #fcfcfc;">« Previous</a></span> <span style="margin-left: 15px"><a href="../searchindex/" style="color: #fcfcfc">Next »</a></span> </span> </div> <script src="../../js/theme.js"></script> </body> </html>