Moodle FLV Player module update

In February 2009, I released the first beta version of the FLV Player plugin activity module for Moodle. It leverages the ubiquitous JW FLV Player and has been very popular among teachers and course content developers working with Moodle. I’m working on a substantial update for the module and in this article I’m going to write about some of the improvements and new features in it.

What has changed?

The most significant changes in the module will be:

  • Support for alternative HD video streams.
  • Support for audio descriptions.
  • Uses simpler SWFObject 2.2 embed method.

Alternative HD video streams

The current FLV Player module can play any video format supported by Flash Player, which includes FLV, F4V, MOV,  MP4 and videos as well as MP3 and AAC audio files, and JPEG, PNG and GIF images (animation is not supported) and Flash animation files. See here for a full list of supported formats.

The new version of the player now supports an alternative HD video stream. This means that users can switch between normal and high definition video at the click of a mouse. All you need to do is provide two video files, one normal and one HD for the player to switch between. This is particularly useful for providing an alternative low definition stream to users with slow or intermittent internet connections.

Audio descriptions

This one’s still a bit buggy and doesn’t allow full control over the audio file. An audio description is a second, separate MP3 audio file that can be deployed alongside a video. It is synchronised with the video so that if you seek through it to a new point in time, the audio file plays at that point respectively. Users can switch the extra audio on and off as they like.

Audio descriptions are typically used for accessibility support for the visually impaired but can also be used for multi-language support, optional narrator’s voice overs, director’s commentaries, etc. I’m sure instructional designers, teachers and course content developers can come up with some creative applications for this feature.

SWFObject 2.2 embedding

Previous versions of the FLV Player module were a little “inconsistent” across different browsers and some suffered from bugs when it was necessary to perform Flash Player upgrades for users who don’t have Flash Player 9.0.115 or later installed. I’ve upgraded the module to SWFObject 2.2 and used a static embed method so that even with Javascript disabled, the video player will work, as well as detecting users’ Flash Player versions and informing them if they need to perform a Flash Player upgrade in order to view the video content, instead of automatically deploying Express Install, giving users more control. The new embed method has been successfully tested on Internet Explorer, Firefox, Safari and Google Chrome.

Prompt to upgrade the Flash Player version

A prompt to upgrade to the required Flash Player version.

Other features still supported

As well as these new features, the new version of the FLV Player will continue to support:

  • HTML notes under the video playback window so you can put lecture notes, diagrams, graphs, tables, photos, links to files or pages, etc. on the same page.
  • TimedText, RealText, ASX, ATOM, RSS and XSPF video caption formats (Users can now switch captions on and off).
  • XML Playlists.
  • Skins to change the visual appearance of the player (also includes support for XML based skins).
  • Definable player control colours.
  • Video poster images before playback commences.
  • A variety of other JW FLV Player plugins (as a CSV list).
  • Player configuration via an externally loaded XML file so that course-wide player policies can be established.

When will the new version be ready?

Many thanks to the brilliant developers at for all their ideas and hard work. I’m still testing and trying to “iron out” the bugs in the FLV Player module but this should be finished in the next week or so. Unfortunately, there’s a bug in the Audio Description plugin, which is beyond my control and I’m waiting for the respective developer to resolve the issue. Hopefully, this will be soon.


After spending some time going over the various requirements for supporting the new plugins, the changes to the module code and the database table structure, I’ve realised that a number of the changes would “break” older instances on Moodle courses and lead to a lot of extra work for teachers and course content developers. With this in mind, I’ve decided to leave the FLV Player as it is for people who don’t need a feature-rich media player.

I’m now developing a very feature-rich “Media Player” module that will support most of the plugins currently available for the JW FLV Player as well as playlists and all the other features that we expect of a good web video application for e-learning. The module editing page will also be better organised to make it easier to use. The JW FLV Player plugins that I’m experimenting with at the moment are as follows:

Please note that the Live Stream and Snapshot plugins require a server-side script and will not be enabled as standard for security reasons. The search Seach Bar plugin can use custom search scripts but only search will be enabled by default.