I am a final year CS undergraduate from Sri Lanka. I have a fair knowledge in Java, php and MySQL. This is my first time in GSOC contest. We are currenty using Moodle at our university. So it is very helpful for the moodle users if there is an efficient way of using video material with in moodle. So I'd like to contribute to this project. Any suggestions??
At present we are not using any Open Source Video Server. Videos and Presestations ar managed by a separate module(According to the information i obtained). Is this idea "Use of Video Material Within Moodle" includes handling live videos or is it only showing the videos from a repository ?? From the information in the ideas page it seems that it is about streaming videos from a repository. In that case it may be much easy . Is there a mentor specifically allocated for this project?? Thanks
For live synchronous and asynchronous presentation of content i used the white board from flashguru.com and actionscripted Flash media server. We made the
interaction between Moodle and online interactive tools (including whiteboard) interoperable without SSO. For a demo visit
username : student
password : student
Select Math Zone course
Click online interaction - student
You will be in the online ineractive suite combining synchronous and asynchronous applications from Flash Media Server 2
Even now moodle has some features to use videos. For example, one can upload a media file, add it to a page using the editor and if the multimediaplugin is enabled, then there will be a player to play it. but better way of doing that is to "stream" videos and some how link with moodle. also it's better to built some activities around the video, rather than simply publishing it.
I tried to do this via the module "FlashVideo" but i have found few issues there.
What is the streaming server to use?
Here we have several solutions. although Flash Media Server is popular but it is very costly,and not open source. so the alternative is RED5. and also one can use Darwin. If you are using lighttpd, then there is a module to stream flv files.
[I choose RED5 ]
How to manage video files?
Currently the video files should be uploaded to these streaming servers. But it would be lot easier if we can manage these files within moodle. e.g. the teacher can upload a file to moodle and moodle will take necessary steps to make it streamable. (In moodle the files may access via Repository)
How to use video files?
* Videos can be a separate module (like flashvideo)
* Videos can be added any where via the editor (sorry i cant remember who but someone already done some work on this)
So ultimately it is expected that;
* video files can be managed via Moodle
* video files can be streamed
* video files can be used any where in Moodle (and in future modules too)
May be we cannot implement every thing at once, but at least we can do something in the direction of Moodle 2
I also think RED5 is the best solution.
> The output directory of the streaming server could be set to be accessible by the php and then move the files to the moodle repository / moodle move it to the stream folder.
First of all i thank you for being interested on this project.
IMHO i think we have to treat "synchronous" (real-time) video and "asynchronous" videos separately. For functionalities like online white board, desktop sharing and real time video stream/chat, there are already many products and there are some modules to integrate them with moodle.
1. webclass - developed by me, but have lot to do
2. WiZiQ live class - many people currently testing it
3. Elluminate Live - another popular one
4. DimDim - another opensource product
5. ePresence - another opensource product and they are planing to develop a module to integrate with moodle
All these products (except myone ) trying to build a module to integrate the respective standalone products with moodle and they are successful upto certain extent ( BTW some of the above products are using RED5 server!).
The other type is on demand video (or pre-recorded video). I think they are more like images, sound files, etc.. and there fore should be able to manage within moodle (e.g. the repository in moodle2). So it make sense to have some built-in moodle capabilities to communicate with streaming servers. Not only it will facilitate better use of on-demand video within moodle but also it will make integration of other products like the above lot easier and consistent. This will be the ultimate outcome of this project. So i thought by dealing with on-demand videos first will give more attention to develop this functionality at the moodle end.
"the teacher can upload a file to moodle and moodle will take necessary steps to make it stream able"
it could be done with moving/coping the on demand video to the streaming server (directory) but still know that it has been copied/moved (to make eventual changes thought the moodle repository maybe keep a copy of the movie (backup problems - some indications to restore it to the streaming server)).
"So it make sense to have some built-in moodle capabilities to communicate with streaming servers. "
Do you mean something like the RED5 module/api/administration under communicate capabilities?
but because of "Develop a fronted to configure the streaming server settings" i think it should be
i think it should be nice to integrate it into editor because moodle does it already with filetypes like images/files so it would be logical.
If there is a consistent way of accessing and managing streaming servers/video files, then all the above will be pretty straight forward.
As a proof of concept, either you can extend my module (any other module) and/or extend the editor.
so i repeat what i said earlier,
* video files can be managed via Moodle
* video files can be streamed
* video files can be used any where in Moodle (and in future modules too)
In The Netherlands we have the insitute for "media and sound", related to the public broadcast companies. They store AND make available educational and historical media content on THEIR streaming media server.
Part of this project is the VIRTUELE SNIJMACHINE (virtual videocutter)
Users with a login account can go to that server, choose a move, pinpoint the start and stop time of a self chosen part of that move.
The final result is a link you paste in your Moodle that gives the streaming server to send and paly only that part of the streaming video..
Is it not an idea to build a Moodle module that can handle this kind of streamingservers..
what we are trying to address in this project is quite larger than your case. There are several types of using streaming media.
Host in some external web site (or system) and access via a URL(your case, youtube, etc..) is just one way of using. Here the videos are managed almost totally outside moodle and we have to maintain separate authentication mechanism to access them unless they are public.
What we are planing is, Manage videos by using Moodle framework (e.g. moodle repository) and Moodle will take necessary steps to make them streamable. So there can be many "interfaces" to communicate with popular streaming methods and users will be able to use a consistent interface to manage them all.
Suppose the admin can configure a RED5 streaming server via Moodle and Moodle has functionalities to communicate with RED5 (this may be simply copy the videos for Red5 "stream" directory). Suppose users can just upload video files (possibly in any format) into Moodle and they can access them via "File manager" or via "Repository" in Moodle 2. Then they can add videos virtually any place via the editor and behind the scene moodle will stream them with the help of the streaming server and a player(also configurable)
Similarly suppose that we can configure many streaming server types (Red5, webserver like lighttpd, youtube, special servers like yours). Adding a new type of streaming server will be similar to adding a new authentication type or enrollment type.
On the other hand the development of modules based on videos will be much easier since there will be a high level API to manage videos within Moodle.
In this project what we are trying to do is to build the base for this functionality. As a proof of concept we can do things discussed earlier in this thread.
I like your idea to give Moodle the option to tune the communication and i hope that your solution will go in the direction of webservices.
I have tested the way DOOR was connecting to Moodle. Door has the advantage that it can handle metadata, which Moodle still has to learn. (There was also a person working on the modul metadatalom, but it is now silent overthere)
What I liked in Door:
- You could upload files from a moodle block to the Door repository.
- You could from a Moodle block, browse the catalog of Door and download and paste a file in your course
- If you had a package with metadata, Door could read the manifest and fill the catalog with the information
- objects without metadata could be stored by answering/filling a form with metadataquestions
- You could also upload/maintain Door resources from outside Moodle
What I did not like, nad why I stopped with DOOR:
- Door could not give a link instead of a download
- Door had no move/delete/change protection (locking) for resources that were used by running courses
- Door had no streaming interface (start & stop points in a movie)
- The upload and download from the block was not very intuitiv
I would prefer a framework for a (trusted) webservices solution, also because I expect that more and more web 2.0 services will appear.
The service Moodle has to offer to courses, should not suffer from heavy duties for managing and streaming media on the same server. (spread the load)
i have tried to develop a "fake" streaming server from php and you can find the code in the "FlashVideo" module (flvstream.php). But, i agree with Ger on scalability. Maybe it's better to host the streaming servers in separate machines in general.
BTW Moodle already has some webservices capabilities and they may used to develop some of the functionalities of this project.
Importantly we cannot make this a large project, since there going to be only 1 student for each project and he/she only has few months . What we can do is to plan for the basic/fundamental features so that more people can contribute later. Also it is important to make this project inline with other moodle developments like Moodle Repository.
in my project (Meestral, screencast here : http://220.127.116.11/moodle/mod/resource/view.php?id=6
I use red5 to stream movie files.
Teachers or students can upload any movie files (avi, mpeg,mov, ...) with the "clap" icon in the wysiwyg. When the movie is uploaded to the serveur, I convert the file in FLV format and move it in the stream directory.
My project is not a real module, because you must add 5 code lines in the wysiwyg.
If you need help, I can join the project and Meestral sources will be release in few days.
My name is Teo and i am a student of CS at the Faculty of Engineering Sarajevo BiH - third year (BSc final)
I am the administrator/webmaster of the official student portal/courseware based on moodle (for three years).
I have experience in PHP, JS/DHTML-Ajax, Action Script and web design on projects and i have some expirience with FMS also on projects and have experimented with RED5.
http://streamgoo.etf.ba/ - my experiment(the professor of software engineering did not believed me that i can code the service in one day so i did it in 6 hours ) how to use a virtual webcam to share desktop view and record/append video tutorials on the server/ view it live with collaboration similar "to online interaction - student" on elearning.edu but a light edition it is only experimental. (other non relevant languages C,C++ (MFC, managed extensions) , C#, Pascal, Java (fw: modelibra, swing, wicket)).
an example tutorial:
Collaboration (can collaborate with users that are currently viewing the video !!)
I am very interested in moodle and flash streaming (my current top interest) and i wanted to do something similar for my faculty(also uses moodle as courseware) the idea to do it as a moodle module is great ! and i would like to be a part of it.
my idea is to add a chat function / voice chat when viewing the video so the users can collaborate.
ps. i saw the power point presentation has been imported as a archive of pictures a cool idea.
I have find a nice solution:
used in openmeetings but it needs OpenOffice - not so practical
Firsly i would prefer to add my suggestions to the project
A. Moodle should have access to the video files which can be from own server or or multisites (other accessible moodle sites) or other repository
B For streaming videos the Moodle should have its own stream server.
But we should have own stream server.The reason is
i.Its possible firstly to build Moodle's own stream server. As a Web 2.0 developer & UVA coder i believe if we go through some existing streaming server scripts we should have a better knowledge to code the best stream server .
ii.Google SOC is intended to produce some better ideas success with a few months effort.So if we are several coders here ,we should have belief in us that we gonna make the best stream server here .
C.Its important that web admin has always the option to use the script to use another stream server on his page.So why as coders will do the task for them....We would rather make them use MOodle's own streams server
D.There should be option for the user to change and customize the player of moodle as many ways as possible
E.On the player there should be option of move forward or same essential tools .We can add extra things like news update (if he is watching the news category item),music chart(if he listens music) or course materials(if user is watching the lecture on video).These can be handled on the silde bar of the player..
F.Yes we also give the user to customize our player for his own need.. it will be as glassy it shoule be
G. Moreover keeping our own stream server would allow us not to be thoughtful about stream servers fall down of others or video should be kept on the our servers
H.If we can explore a tool like that when any moodle web page is developed its video file links should be added to our database files.The stream server of one site could play another moodle sites video ..this could be a better idea
I. THe last thing is that if one site is using moodle stream server version x,he is connected to internet and moodle base site has the latest version x+1,then that site shoud be able to import automatically update from the base server and when update is finished its user can be a latest stream server viewser. Not only that the older version user can be suggested to use existing other moodle stream server of other site
To code the moodle own stream server and the player would be the best challenge for coders
Perhaps this project could just focus on developing a Moodle front end to this (as an activity module).
ePresence is interested on integrating there products with moodle and I have sent an email to Jonas (Bussiness development) at ePresence to join this discussion asp to give more info.
i just thought of developing something for asynchronous videos in the direction of Moodle repository. i really like to have this Repository feature in Moodle2 since i believe it has a huge potential not only for end users but also for developers.
so lets go for the better one
If ePresence is itself a repository then it would naturally makes sense to develop a special repository plugin for it...
in the IUT Paul Sabatier in France, we developed a "plugin" to add movies in moodle. This plugin is not an activity module because teaches want to insert movie in all parts of moodle, for that we integrate this in the wysiwyg.
For the future it will be interesting to have a wysiwyg really pluggable (for example add an icon without code modifications) or straming integrated directly in moodle (activable by the config panel) with open source solutions like red5.
This is a general question as I've been looking into online video recently and there's something I just can't find a simple answer for:
What is the point of "streaming" for asychronous files?
As far as I can tell, just putting the audio or video file on a website is fine unless:
- it's happening live and people would rather drop quality than fall behind
- you're trying to make it harder for people to copy your files
Youtube for example has progressive downloads (start watching before it's all loaded) and you can skip forward to points within a file--even if it's not already buffered--but it's just a file download. (Though I believe they use the 'fake streaming' approach built into lighttpd which is the same as the PHP based streaming scripts you get that let you jump ahead of your buffer and start downloading again from a later point in the file)
At my university video has always been handled by a "streaming server" (Windows to be precise, bah!) but no one can actually tell me why we'd want to use that rather than simply putting a .flv file on a server and linking to it through Moodle.
You guys seem to know what you're talking about so if someone could answer my question above in simple language, or point me to an appropriate resource, I'd appreciate it.
(One note, I can perhaps see a reason why for very long files streaming could be seen as an answer, but again I think a playlist of files broken up with "chapter marks" makes more sense to me)
I worked with epresence free downloadable part only. I found some problems with flash based content. Windows media player based content works well. Since this is a content repository, mat be web parts of sharepoint may be used to create a bridge to share video content.
My name is Varrun Ramani,a Computer Science Engg student at Amrita College of Engg,Kerala,India.I was very interested by this project.I have the basic skills of coding in PHP,JS and am familiar with Integration with Mysql,Oracle etc.I am an ardent programmer(mainly in C,C++ though).I wished to confirm if my idea about this is right.
This involves integrating a video streaming server like REd5 to stream Videos as the back end.I am not very familiar with Red 5,so i wanted to know if we could integrate Red5 with a PHP front end.I had a lot of features in mind to implement a comprehensive system for the same.
If it is possible,then i have a few project ideas i could discuss.Could you also suggest alternatives to integrate the same.
While ePresence is used by a diverse set of organizations (from Hospitals to Universities), it was designed from the very beginning to capture lectures in an automated fashion. Checkout a presentation at ePresence (http://epresence.tv/Presentation/215), you'll find that synchronized video and presentation media is captured. While the person giving a lecture might be a rocket scientist, it is often the case lecturers are unfamiliar with media production. Recording a class and mixing in presentation media is a significant challenge, unfortunately, not solved by just providing an interface to upload an FLV.
We continue to reduce the cost of our capture stations with each generation and offer our code open source, so organizations can deploy an ePresence solution at no cost if they have the expertise. I believe there are many benefits to working together and am confident that in the near future ePresence in partnership with Moodle will emerge as the preferred way to capture and publish presentations.
We are very interested in beginning the Moodle integration as part of GSOC. Just let us know how you would like to proceed.
Hi Martin, I'm very happy to announce that we have finished developing the Moodle activity module that makes it very easy to add ePresence rich media presentations to Moodle. We have tested the module against Moodle 1.9 on Linux and Windows and ePresence Server 4.1 and it appears very stable. To see this module in action please visit my 2 minutes demo at http://epresence.tv/mediacontent/archives/moodle/?archiveID=337
Please feel free to send any questions directly to me at wolfpet at epresence.tv
could you pls send me the link to download the latest ePresence server for linux (Red5 based).
We are using flv's to display the video. It is being served by a CDN that is costing us about $400/month. We don't really need that much power, but we needed more than just serving it up on our virtual server.
If I setup a dedicated video server would it perform about as well as the CDN? And what type of server would anyone suggest?
The other part that I think really helps our presentation is that all of the study guides for our lessons have been converted to Flash Paper. That way we can present the video and the study guide side-by-side. I would love to pull away from Flash Paper and use PDF, but you can embed the Flash Paper and it resizes easily, but I haven't seen if you can embed PDF's as easily.
Is anyone else using PDF's for content?
I'd love to hear some critics of our implementation and suggestions as well.
The released GPL version of the module can already accept pre-processed uploaded videos (either as progressive downloads from inside Moodle or a URL pointing at a streaming server) and flash slides exported from OpenOffice to build a presentation with synchronised slides and subtitles using a web based interface.
We also have some additional tools under development which enable you to record video straight onto your server from within the Moodle browser environment (using a webcam and microphone attached to your computer), synchronising the slides as you go. Once the recording is complete, you switch off the editing mode and the presentation is ready to go.