Dec 7, 2019

Tracking video completion in Moodle

Video playing is not a guarantee of learning, just like the presence in the classroom is not.
We need to certify asynchronous attendance, as we do in the classroom and online with the appeal, by a free tool using our institutional learning management system (Moodle).

Moodle turnaround

We simply record the time spent by the student on a (Moodle) web page embedding the video player with the recording of the lecture. Fortunately Moodle has counters for the time spent by each student on all the pages of a given course. Nothing more and nothing less. 

The trick is to create a new course for each video, because of a limitation on the operation of Moodle counters: they only work for the whole course and not for the specific page of the course. 
Another limitation is the counter timeout, so an hourly refreshing/reloading of the page embedding the video is required by the student or only the first hour or so will be considered by the counter. 

We are recording from Skype for Business and videos are saved in a Google Drive folder, for the video to be embedded in the tracking plugin, using minimal work. After Skype for Business phase out, we save our videos recorded using Microsoft Teams on Google Drive and embed them in a Moodle page. 

This is the best we have come up with, enough for a free tool used in a low budget course. 


Scorm is a standard of communication between Moodle and external content, available as plugin

h5p plugin for Moodle
allows adding also (interactive) video content, but some work is required to verify progress
Step by step screenshots and options

Trax video for Moodle plugin

Trax Video uses the xAPI VideoJS player, which is a reference implementation of the xAPI Video Profile integrated with the VideoJS player.

With this player, you can track video events such as:

  • Video started, paused, resumed, seeked, stopped.
  • Interactions with the video player like audio (un)mute or resolution change.
  • Video completion, time spent and viewed sections.

The video player build the related xAPI statements and send them to the server.