Skip to content

A simple atto editor plugin for Moodle that enables audio and video annotation anywhere the editor can be used

License

Notifications You must be signed in to change notification settings

blindsidenetworks/moodle-atto_recordrtc

Repository files navigation

RecordRTC Atto plugin for Moodle

Scrutinizer Code Quality Build Status

Features

Add audio and video annotations to text, anywhere an Atto text editor is present. This plugin adds buttons for recording audio or video (with audio) to the editor's toolbar. Using WebRTC technologies, all recording is done instantly in the browser, using nothing but HTML5 and JavaScript (no Flash!). 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.

Installation

There are currently two ways to install the plugin:

  1. Installing via zip file:

  2. Installing manually (if the user does not have necessary permissions for installing the first way):

    • Navigate to moodle_root_path/lib/editor/atto/plugins, where moodle_root_path is the location where Moodle is installed (ex.: /var/www/html/moodle)
    • Execute sudo git clone https://github.com/blindsidenetworks/moodle-atto_recordrtc.git recordrtc
    • Log into a Moodle account with administration capabilities
    • A screen should appear asking the install the plugin, similar to above

Soon, there will also be the possibility to install easily via the Moodle Plugins Directory.

Usage

To use the plugin, just click on one of the recording buttons (either the microphone or the video camera), and a popup will appear with a big "Start Recording" button. When clicked, the browser will probably ask for permission to use the webcam/microphone.

Recording buttons

After the recording starts, a timer will begin counting down, indicating how much time is left to record; when the timer hits 0, the recording will automatically stop (this will also happen if approaching the maximum upload size determined in the server settings).

Recording started

When the recording is finished, the user can play it back to see/hear if it is what they want. To embed the file, the user must click "Attach Recording as Annotation". A dialog box will pop up asking the user what the link should appear as in the text editor. After that, the file gets embedded right where the cursor was in the text.

Name the annotation

Annotation in editor

Configuration

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

  • Allow the users to record only audio, only video, or both (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

Common problems

  • For developers: If trying to update Bowser or Adapter.js dependencies for the project, it is necessary to replace the named definition at the top of the file with an anonymous one, like so (for Bowser):

    Old code:

    !function (root, name, definition) {
      if (typeof module != 'undefined' && module.exports) module.exports = definition()
      else if (typeof define == 'function' && define.amd) define(name, definition)
      else root[name] = definition()
    }(this, 'bowser', function () {
    

    New code:

    define([], function() {
    

    Or so (for Adapter.js):

    Old code

    (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.adapter = f()}})(function(){
    

    New code

    define([], function() {
    
  • The default maximum size of uploads in PHP is very small, it is recommended to set the upload_max_filesize setting to 40M and the post_max_size setting to 50M for a time limit of 2:00 to avoid getting an alert while recording

  • The filesize of recorded video for Firefox will likely be twice that of other browsers, even with the same settings; this is expected as it uses a different writing library for recording video. The audio filesize should be similar across all browsers

About

A simple atto editor plugin for Moodle that enables audio and video annotation anywhere the editor can be used

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages