Note: You are currently viewing documentation for Moodle 3.6. Up-to-date documentation for the latest stable version of Moodle is likely available here: RecordRTC.

RecordRTC is a set of plugins for Moodle editors (Atto and TinyMCE) that enable users to add audio and video annotations to text, anywhere a text editor is present. This plugin adds buttons for recording audio or video (with audio) to the editor's toolbar. recordrtc buttons.png

Using WebRTC technologies, all recording is done instantly in the browser. After recording, users can embed the annotation directly into the text they are currently editing. The recording will appear as an audio or video player in the published writing.

Requirements

The initial version (1.0) works fine with Chrome, Firefox and Opera on Desktop computers running Windows, Linux, Mac OS and Chrome OS.

Installation

There are several ways to install a plugin in Moodle:

Through Moodle plugins directory

The easiest and more reliable way to install a plugin in the newer versions of Moodle is through the Moodle plugins directory.

Steps

  • Logged in as administrator into your Moodle server, go to [Site administration -> Plugins -> Install plugins]
  • Click on [Install plugins from the Moodle plugins directory]
  • Search for RecordRTC and choose the one you are looking for. There is an atto_recordrtc and a tinymce_recordrtc plugin.
  • Click on [Install now] and look up for your Moodle site in the list.
  • Click on [Install now] and follow the steps.

Using a zip file

From the Moodle plugin directory

Go to the list of releases available in the Moodle plugin directory. Here for Atto and here for TinyMCE

Look for the latest release and download zip file by using the button recordrtc moodle download.png

From the GitHub repository

Go to the list of releases available in the GitHub project's repository. Here for Atto and here for TinyMCE

Look for the latest release and download zip file by using the link recordrtc git download.png

Steps

  • Logged in as administrator into your Moodle server, go to
[Site administration -> Plugins -> Install plugins]
  • Under the 'Install plugin from ZIP file' section, either select the above archive, or drag and drop it into the specified box on the page
  • Click on the button
[Install plugin from ZIP file]

Manually

This requires access to the server console and to have git installed.

Steps (for Ubuntu only)

Completing installation

A screen should appear asking to install the plugin. After the installation starts, just follow the steps. The plugin will work with the defaults, but you may want to go back and change them depending of your requirements.

Configuration

The plugin can be configured during the initial install, and later by navigating to Site administration > Plugins > Text editors > Atto HTML editor > RecordRTC.

Administrator can:

  • Allow the users to record only audio, only video, or both by changing the buttons that appear in the editor toolbar.
  • Change the target bitrate of recorded audio.
  • Change the target bitrate of recorded video
  • Set the recording time limit, to control maximum recording size

The default bitrate for recorded audio (128000) should lead to generate files of about 15kB per minute and the default bitrate for recorded video (2500000) to generate files of 20MB per minute. The lower the bitrate the smaller the file size.

The recording time limit is set to 120 seconds by default so the maximum size expected on video files should be of about 40MB

Usage

Troubleshooting

Recording stops after a few seconds

recordingrtc error limit reached.png

There are two settings that establish the maximum file size that can be uploaded to Moodle. These are defined in php.ini for the web server.

post_max_size = 8M
upload_max_filesize = 2M

Just edit the file and increase their values to something between 40M-50M for 2 minutes video recordings. In Ubuntu

vi /etc/php/7.0/apache2/php.ini

Known Issues

  • The media files don't show duration
  • The controls for navigating the files do not work properly in the player.

F.A.Q.

Why these plugins can not be used with all browsers?

WebRTC ("Web Real-Time Communication") is a collection of communications protocols and application programming interfaces that enable real-time communication over peer-to-peer connections. Implemented in browsers it enables applications such as video conferencing, file transfer, chat, or desktop sharing without the need of either internal or external plugins.[Wikipedia]

As these plugins make use of WebRTC technologies, they can only be used in browsers that have a full implementation of WebRTC. This is the case for Chrome, Firefox and Opera. [See `Supported browsers and platforms`] Therefore these are the only ones that the initial version of these plugins (1.0) support.

There is an implementation of WebRTC in Microsoft Edge but it is not fully compatible with the standard, so implementing the plugins for this browser requires some customisation to the libraries.

Also, by Aug 2017 there are plans for implementing WebRTC on Safari for iOS [See] but it is not clear how this implementation is going to be.

For the moment we can say for sure that the initial version works fine with Chrome, Firefox and Opera on Desktop computers running Windows, Linux, Mac OS and Chrome OS.

Can I have recordings with a duration of more than 2 minutes?

Yes. That can be changed in the plugin configuration. Keep in mind that as the file size will increase, the settings in php should also be edited. Also, because the size can be too much for the browser itself, we recommend not going to large. The only solution for giving a really large limit to the file size is to include a server component for doing a progressive upload and trans coding. But the first version of these plugins do not cover that possibility.

Where are the recordings stored?

Storing the RecordRTC recordings is not different than storing any other media file that is uploaded to Moodle. So, it depends of the file system your Moodle server has configured. When using the default configuration, all files are stored in /moodlepath/moodledata/filedir/xx/yy/ where xx and yy are the path defined by the API when the file was uploaded. If you are a developer interested in learning more details about this you can see File storage on disk. It is an old article but it gives a good idea on what is underneath. Also Amazon S3 repository for learning how to store files externally in Amazon S3 buckets.

How do we maintain the recordings?

Developers