General developer forum

 
 
Picture of Ankit Gupta
Audio/Video repository plugin for Moodle 2.3
 

Hi everyone,

I would be developing the Audio/Video repository plugin for Moodle as part of the GSoC programme. I have created the fork of the template by Dongsheng and pushed some initial code on this https://github.com/ankitdbst/moodle-repository_mediacapture/. I would be initially working on the audio recorder plugin and using https://github.com/sammarshallou/ouaudioapplets or the Nanogong applet (which has previously been used) for the audio recorder. 

The doc for the project is http://docs.moodle.org/dev/Audio/Video_Capture_repository_plugin

The Tracker for the same is http://tracker.moodle.org/browse/CONTRIB-3631

I would be happy to receive feedback & suggestions for the development of this plugin. smile

 
Average of ratings:Useful (2)
Matt Bury
Re: Audio/Video repository plugin for Moodle 2.3
Group Particularly helpful Moodlers

Hi Ankit,

Great to hear you're working on that smile

Users of Moodle for Second/Foreign language acquisition (SLA) tend to use the NanoGong assignment type (Assignment module) so that learners can record monologues and dialogues and submit them for analysis, feedback and/or grading.

It may be some time before Moodle 2.x becomes suitable for SLA because of the heavy use of multimedia modules, especially for audio. Anything that can bring 2.x up to speed with the plugins available for 1.9 would be very welcome! smile

All the best!

 
Average of ratings: -
Picture of Ankit Gupta
Re: Audio/Video repository plugin for Moodle 2.3
 

Thank you. I am initially examining the workings of the nanogong applet. And looking at some generic repo-plugin workings that doesn't rely on a particular technology.

 
Average of ratings: -
Picture of Paul Nicholls
Re: Audio/Video repository plugin for Moodle 2.3
Group DevelopersGroup Particularly helpful Moodlers

Hi,

Last week, I put the finishing touches (with some help from Justin Hunt) on an audio recording repository plugin which uses the Flash-based recording widget which I built as part of an assignment submodule.  I'd been holding off announcing it until the entry in the Moodle plugins database was accepted - it's still waiting for approval - but in the mean time, it can be found on Github: https://github.com/MaxThrax/moodle-repository_recordaudio.  There's still potential to tidy things up a bit more (at the moment, you just get a bare recorder - it might be nice to add some brief instructions, and possibly extend it to have the license dropdown etc).

I notice that the doc page you linked mentions Nanogong's editor integration/plugin, but I'm not convinced that anything extra is required - given that the standard editor has a button to insert/embed media which already allows picking files from repositories, there doesn't seem to be much point in adding another button which does the same thing.

Video will be interesting - I see you have plans to build a Java-based capture mechanism, but I wonder if it might be feasible to extend my audio recorder (or at least use the concepts behind it) to do it using Flash instead?  I haven't investigated video capture at all, but it's certainly possible to do local video capture from a webcam, so it'd be down to which codecs are available and how easy it is to get the audio and video (in suitable formats) into a relevant container file format.  The source for my recording widget is available in the Git repo, so feel free to take a look at how it works - and if you have any questions about it, feel free to ask (sending me a private message is probably the most effective way to reach me).

-Paul

 
Average of ratings: -
Picture of Ankit Gupta
Re: Audio/Video repository plugin for Moodle 2.3
 

Hi Paul,

I had discussed (with my mentor Rajesh Taneja ) about making this repo-plugin generic in nature which would not rely on a single technology as each one had it's implications. I am starting with the java applet to record audio and would possibly try to make it independent of the technology used, which would require me to use even a flash based (like yours) or even an HTML5 based alternative.

You have implemented this as a filepicker instance right ? I thought to make a TinyMCE plugin which would enable recording directly but what you say sounds reasonable too.

I would be requiring your help in the design and development of this as you have already implemented it using Flash. I would be testing your plugin by installing Moodle 2.0 (currently I have 2.3)

 
Average of ratings: -
Picture of Paul Nicholls
Re: Audio/Video repository plugin for Moodle 2.3
Group DevelopersGroup Particularly helpful Moodlers

Hi Ankit,

As per my post (below) in response to Matt's questions, Flash adoption is closer to universal than Java (according to all the stats I've seen), so it might be wiser to start with Flash and treat Java as more of a last resort.  In the longer term, once browsers have support for HTML5 audio capture, I'd suggest the order of precedence ought to be HTML5 -> Flash -> Java (use HTML5 where available, falling back to Flash where available, falling back to Java as a last resort).

As far as the repository plugin itself goes, you're certainly welcome to look at how I've implemented it; feel free to ask me any questions you may have, either here or via private messsage.

-Paul

 
Average of ratings: -
Rajesh Taneja
Re: Audio/Video repository plugin for Moodle 2.3
Group DevelopersGroup Moodle Course Creator Certificate holdersGroup Moodle HQGroup Testers

Awesome Paul,

I think the point here is which technology to go with. It might be nice to have a plugin, which can open a audio/video recorder independent of whether user system supports flash/java/html5.

It might be nice to look at something generic which can support different technologies and provide good interface which can detect user system capabilities and show appropriate recorder.

 
Average of ratings: -
Matt Bury
Re: Audio/Video repository plugin for Moodle 2.3
Group Particularly helpful Moodlers

Hi Paul,

I've downloaded your MaxThrax package. I have't had a chance to look at the code yet but it looks like you're recording a WAV file into Flash's memory, encoding it to MP3 and then uploading it via POST (rough guess from looking at the .as class names). Is that correct?

If so, I've been experimenting with something similar but I ran into problems with the WAV to MP3 encode. Since Flash doesn't do multi-threading the whole app freezes while the encoding takes place. The library I was using took an unreasonably long time and just didn't seem practical. Is the library you're using fast?

Also, I know of another way to save the file to the server that gets around POST file size limits on the server - AMFPHP. It can do the file write, gradebook entry and anything else you want by sending it all in one object to a PHP service script.

Finally, I think it's worth mentioning at this point that one of the reasons the NanoGong client-side applet is so popular is that it only requires JRE on the client and PHP on the server which is pretty close to universally compatible.

Looking forward to checking out your code tomorrow! smile

 
Average of ratings: -
Picture of Paul Nicholls
Re: Audio/Video repository plugin for Moodle 2.3
Group DevelopersGroup Particularly helpful Moodlers

Hi Matt,

You're spot on - that's exactly what it does (record to WAV, which is how Flash natively captures the audio, then transcode to MP3 and upload via HTTP POST)... at least, that's what the widget does in the assignment type; it's a little different for the repository plugin, though the HTTP POST code is still there as I'm hoping to extend the recorder and make it a more generic widget that could be used just about anywhere, since all it requires is Flash Player (10.1 or above) and anything on the server side that can accept POST requests.

The MP3 encoder I'm using seems to be pretty quick (it's intended to be a very light-weight encoder), and it also provides progress events (which allow the "preparing for upload" progress bar to give some idea of actual progress, rather than just locking up the interface until it's done).

I'm certainly aware of AMFPHP, but I've had trouble making it work in the past (probably my fault), so I decided to go for the more straightforward (from a PHP perspective, at least) HTTP POST approach.  The repository plugin then diverges from the HTTP POST approach by accepting a Javascript callback which it'll pass the filename and content to - this is done primarily so that everything can happen neatly within the repository plugin rather than needing an iframed page that handles the POST and dismisses the file picker.

I'm one of those people who tries to steer clear of Java applets - for a few reasons, but mostly because they tend to be slow to initialise and browsers tend to give you lovely security warnings before they'll let you run them - so I tended towards Flash (which, incidentally, stats tend to indicate has a higher adoption rate than Java browser plugins).

Ultimately, if I could find the time to do so, I'd like to make the recording widget into more of a framework with an HTML interface which can use Flash to do the dirty work - or, once the capability is available, can be switched to use HTML5 (retaining the Flash as a fallback).  Last I heard, browsers were yet to implement audio capture, which makes it less of a priority for me - but I'm trying to keep an eye out for browsers landing the functionality that'd make it possible.

-Paul

 
Average of ratings: -
Picture of Ankit Gupta
Re: Audio/Video repository plugin for Moodle 2.3
 

Edit : The github repo link is incorrect. https://github.com/ankitdbst/moodle-repository_mediacapture/

 
Average of ratings: -
Picture of Paul Nicholls
Re: Audio/Video repository plugin for Moodle 2.3
Group DevelopersGroup Particularly helpful Moodlers

Hi Ankit,

Following on from the discussions relating to which technology to use, it might be worth extending and contributing to getusermedia.js - it's a shim for the HTML5 getusermedia functionality, which when I last checked supported webcam/video only (getusermedia doesn't support microphone/audio yet, but it's planned).  The main issue with this is that browsers haven't implemented MediaStreamRecorder yet, so you might need to implement something similar for that (if nobody else has done it yet!) - use MSR if present, falling back to Flash if necessary (which it would currently always be).  Flash seems like it might be a good choice for the fallback, since it's easy to send data between Flash and Javascript.

Extending getusermedia.js and/or creating a similar shim for MediaStreamRecorder would not only be a great way (in my opinion) of implementing the A/V repository plugin, but would be a great contribution to the wider web development community by themselves.

-Paul

P.S. This is actually another one of those things that's been on my to-do (or at least to-investigate) list, but I just haven't had the time to do it - I'd been wanting to add audio support to getusermedia.js for use in my audio recording assignment type, so that I could tie a new HTML front end to getusermedia.js.

 
Average of ratings: -
Picture of Ankit Gupta
Re: Audio/Video repository plugin for Moodle 2.3
 

Hi Paul,

Thanks for the information on the getusermedia.js. I have kept it on watch on github. That could be of good use considering the surge in use of HTML5 technology. Flash and Java both can be used as a fallback for HTML5 (as java has lesser dependencies, except for the permissions issue)

I will definitely look into MSR after I am done implementing a basic framework for the A/V plugin.

 
Average of ratings: -
Picture of Troy Williams
Re: Audio/Video repository plugin for Moodle 2.3
 

Hi Ankit,

I have some nanogong code I haven't touched in a few months I will put up on github in next week you may be interested in.  Adds nanogong to editor and allows voice recording in spx format to be stored under users draft area in any form where html editor (tinymce). The module/tool etc then can save under it's own component/filearea in the filepool.

tinymce - nanogong

A filter that will load nanogong applet with just playback controls.

Troy

 

 

 
Average of ratings:Useful (1)
Picture of Ankit Gupta
Re: Audio/Video repository plugin for Moodle 2.3
 

Hi Troy,

I have recently implented a repo-plugin for audio capture using Nanogong which records via the filepicker. This is the git-hub repo : https://github.com/ankitdbst/moodle-repository_mediacapture It's still-under developement (works!). 

I had TinyMCE plugin in mind (similar to the preview you have attached) as HTML editor is used pretty much everywhere. This should definitely save me a start. Let me know the git-repo. Would be happy to take a look.

Cheers

 
Average of ratings: -
Picture of Graeme Boxwell
Re: Audio/Video repository plugin for Moodle 2.3
 
Hello, Great to see your excellent work so far on this plugin. This would be fantastic for the promotion of audio feedback to students, as well as many other uses. The HTML editor part of this would be really beneficial as this is the area that staff use currently with Nanogong in Moodle 1.9 and if we could continue to support them in the way they currently use it we would have more chance of keeping them engaged with this technology. Thanks again for the hard work! Graeme
 
Average of ratings: -
Picture of Ankit Gupta
Re: Audio/Video repository plugin for Moodle 2.3
 

Hi Graeme Boxwell,

Thanks a lot for the encouragement. I had planned on developing that too, as that seems really beneficial. But I was in touch with one of Nanogong's developer Dr. David Rossiter and they have come up with the both the activity module and HTML editor TinyMCE plugin. Here is more to that : http://moodle.org/mod/forum/discuss.php?d=203460

I would continue to work on this and the video part of the plugin. Will post updates. 

Cheers

 
Average of ratings: -
Picture of Troy Williams
Re: Audio/Video repository plugin for Moodle 2.3
 

Looks like nanogong have updated html editor plugin:

http://nanogong.ust.hk/moodle2.html

Troy

 
Average of ratings: -
Picture of Ankit Gupta
Re: Audio/Video repository plugin for Moodle 2.3
 

Updated the git-repo for the audio-recorder repo plugin and added a patch to be applied to filepicker.js to accomdate custom attachement label in Moodle 2.3 dev release.

Tracker : http://tracker.moodle.org/browse/CONTRIB-3649

Git - repo : https://github.com/ankitdbst/moodle-repository_mediacapture

 
Average of ratings: -
Picture of Ankit Gupta
Re: Audio/Video repository plugin for Moodle 2.3
 

Updated the Media Capture repository plugin with support for Video Recorder.  The plugin offers to record audio/video from the same interface.

Audio recording is done using Nanogong and Video recording via Vimas applet (demo version)

Github Repo

 
Average of ratings: -
Picture of Ankit Gupta
Re: Audio/Video repository plugin for Moodle 2.3
 

Update

I have completed a 0.1v of the repository_mediacapture plugin for Moodle 2.3.  The plugin offers audio/video recording capabilties in both Java/Flash and fallbacks to the other technology in case one is missing from the client browser.

Currently Flash is given preference over Java. I have used the following recorders for the plugin :

1. Nanogong applet for audio recorder in Java and Paul Nicholls Flash recorder (Thanks Paul). 

2. Red5Recorder for video recording using Flash and Vimas video recorder applet in Java.

Note: Plugin requires Red5 to be installed on the server for Video recorder in flash to be able to connect to a RTMP server for exchanging data.

Check the Git repo here 

 
Average of ratings: -
Picture of Gurudutt Mallapur
Re: Audio/Video repository plugin for Moodle 2.3
 

Hi,

It's great to see that extra care has been taken to ensure that the plugin is generic. I hope this is the correct place to suggest a feature for the plugin.

The PopCorn Maker application from Mozilla allows to create "dynamic video" i.e. adding of outside content from youtube, hyperlinks, inline maps at various points in the originally static video.

This will help students/teachers (in fact anyone) to start with a basic video and enrich it with extra content from anywhere on the internet. One of the most successful Open Content projects Wikipedia has been built like this by by contributors worldwide.

I've already started a discussion with more details on the "Resource Types" discussion forum about feasibility of developing a Moodle Plugin. I then happened to chance upon your existing customizable plugin.

Adding Popcorn Maker capability could turn out to be a killer-app for both Moodle and Mozilla and definitely for the user community.

Esp. students more comfortable with computers and video than writing text.

Thanks,
GuruM

 
Average of ratings: -
Picture of Gurudutt Mallapur
Re: Audio/Video repository plugin for Moodle 2.3
 

Pasting details on Popcorn here for easy reference:

>>>>

Can Mozilla Popcorn for (creating dynamic video content) be supported as a new feature in Moodle?

Videos are a great aid to learning.
The only thing is that they're static i.e. once they're recorded they don't evolve.
Mozilla has come up with a HTML5 based way to pull-in content into a video.

TED Talk video by CEO of Mozilla on Popcorn:

I searched the site/forums for any plugin or support for Mozilla's Popcorn.js
but couldn't find anything.

About Popcorn: http://mozillapopcorn.org
0) Review: http://www.webmonkey.com/2011/11/mozilla-reinvents-web-video-with-popcorn-1-0

1) Pull-in outside content into the video using different plugins
   for facebook, googlemaps, twitter etc in the Butter.js player :
   http://popcornjs.org/popcorn-docs/plugins
2) Use Popcorn.js timeline video editing with other players like youtube, vimeo etc :
   http://popcornjs.org/popcorn-docs/players
3) A full feature 3D documentary which (also) uses Popcorn:
   3D dynamic video with links: http://www.wired.com/underwire/2011/11/one-millionth-tower

4) Popcorn parsers supports subtitle formats ( SBV, SRT, SSA, TTML, TTXT and VTT): http://popcornjs.org/popcorn-docs/parsers

5) PopCorn API reference: http://popcornjs.org/popcorn-docs/index.html

Thanks,
Guru M

 
Average of ratings: -
Picture of Paul Nicholls
Re: Audio/Video repository plugin for Moodle 2.3
Group DevelopersGroup Particularly helpful Moodlers

Hi,

Although Popcorn Maker certainly does seem worth integrating with Moodle in some way, I'm not sure that the file picker / repository browser is the best way to implement it.  You'd either end up constraining the Popcorn Maker interface to a very small size to fit into the file picker, or you'd have to just have a button in the file picker that launches a whole new window with Popcorn Maker in it.

It's still not a perfect solution, but I wonder if it might be better to develop an assignment submission module and perhaps a resource module.  The assignment submission module would allow students to create and submit videos using Popcorn Maker, whilst the resource module would allow teachers to create videos to use as teaching resources. This would narrow your options for where you can use it a little, but I think it should cover most potential uses of it whilst alleviating the issues that crop up if you try to fit it into the file picker interface.

-Paul

 
Average of ratings: -
Picture of Gurudutt Mallapur
Re: Audio/Video repository plugin for Moodle 2.3
 

Hi Paul,

Thanks for the suggestions.
I'm new to Moodle as a tool. I just searched for likely candidates which might work with integrating Popcorn.

Are there __people__ you can suggest in Moodle who'd be really interested in carrying forward the integration of Popcorn?

Otherwise I feel a good tool for the Moodle community may go begging in various discussion forums.


Thanks,

GuruM

 
Average of ratings: -
Davo
Re: Audio/Video repository plugin for Moodle 2.3
Group DevelopersGroup Particularly helpful Moodlers

Gurudutt,

If you are saying you would like to employ someone to add 'Popcorn' support to Moodle, then the best places to try are to either post to the 'jobs' board (Community > Jobs, at the top of this page), or contact one of the Moodle Partners listed at http://moodle.com.

If you are not offering to pay for this, but are simply proposing it as a good idea, then the best thing to do would be to post the request to http://tracker.moodle.org, possibly create a page with an in-depth proposal on http://docs.moodle.org/dev and then promote the issue (and the docs page) here in the forums (and anywhere else, e.g. blogs, twitter, etc. where you spend your time). If enough people vote for it or are in favour of it in the forums, then you might find someone (either in HQ or in the wider community) who is interested in spending the time to add it.

 
Average of ratings:Useful (1)
Picture of Gurudutt Mallapur
Re: Audio/Video repository plugin for Moodle 2.3
 

Hi Davo,

I'm not a commercially inspired person to employ someone to develop the Popcorn support.

What I am is - interested in education and learning tools like Moodle which can help students learn in a more holistic and natural medium. Text hardly qualifies as a natural medium of learning. Video is the closest you can get to "experiencing" a topic. However static video is "static". Some time back I did have an idea to convert video to a more dynamic hyperlink based system. So when I saw Popcorn actually bring that to reality I said WoW!! This needs to be in Moodle.

Popcorn might help change the game as far as interesting young people in dynamically "grown" self-learning/self-teaching like in Wikipedia.

Moodle might be made more interesting by extension (literally).

Hence the suggestion.

I've never tried "promoting" an idea before. So I'm still learning the right way to go about things. Thanks for the tips.

It might help if you could point to a person who's already good at promoting such ideas within Moodle. 'Coz by the time I learn promotional techniques it may be quite late.

Regards,

GuruM.

 
Average of ratings: -
Picture of Gurudutt Mallapur
Re: Audio/Video repository plugin for Moodle 2.3
 

Hi,

Created a New Feature in Moodle Tracker: http://tracker.moodle.org/browse/MDL-36678. Any tips of making a better proposal would be helpful to promote the tool.


Thanks,

GuruM

 
Average of ratings: -
Picture of Sankar Mahadevan
Re: Audio/Video repository plugin for Moodle 2.3
 

Hi Ankit, I have this issue in my Moodle 2.3 site. I can record audio or video from file picker menu. In the recording window I can hear the sound after finished recording. But after upload it, I can not hear the sound. When I download as file, I am able hear the sound. What would be the issue? Any solution for that?
Thanks in advance,
Regards,
Sankar.

 
Average of ratings: -