Giter VIP home page Giter VIP logo

moodle-mod_webrtcexperiments's Introduction

WebRTC Moodle Plugin

Welcome to WebRTC Moodle Plugin!

This project uses the code from

https://webrtc-experiment.com/

to implement an activity module for Moodle to allow people to interact more freely.

Everything you need to start communicating using your webcam and microphone is an updated browser like Firefox or Chrome. There is no need to install any third-party plugins on your browser. There is no flash here.

Also, this plugin transfer data (audio and video) in a P2P (peer-to-peer) fashion. This way, data is sent directly from one user computer to another. There is no dependency on a "central server" or a "streaming server".

The only dependency on a server is for "signaling events" like room creations, and users joining and leaving. See more about it on the "Signaling server" section of this document.

Features

  • Video and audio chat
  • Text chat
  • File sharing (it is P2P file sharing, not integrated with Moodle Files API)

It is basically a copy of the Audio+Video+TextChat+FileSharing using RTCMultiConnection demo:

https://rtcmulticonnection.herokuapp.com/demos/Audio+Video+TextChat+FileSharing.html

Future features

  • Screensharing
  • Record video and audio from any peer (or local stream) and save to your computer
  • Colaborative canvas

Install

  • Put this code under "youmoodlerootdir/mod/webrtcexperiments" (you may "git clone" or "composer require")
  • Visit your Moodle site as administrator to install plugin via web interface

Usage

To use the module, the first user must use the "Open Room" button. The browser should then ask you to share mic and cam.

Then it should give the id of the room to the other users.

The other users should use the code given by the first user, fill the form with it, and use the "Join room" button. The browser should then ask you to share mic and cam.

When the second user enters the room, the chat and share files will be enabled.

Signaling Server

This module needs a signaling server. To learn more about Signaling, please visit:

https://github.com/muaz-khan/WebRTC-Experiment/blob/master/Signaling.md

If you don't want (or don't feel the need to, or cannot, for any reason) to run your own server, don't worry, this module will use the server below by default (under TLS)

https://novoaeon.com.br:1234

Note that there is no warranty for this server to be up and running. This server runs a websocket server over node.js that can be found at

https://github.com/muaz-khan/WebRTC-Experiment/tree/master/websocket-over-nodejs

Contact

Feel free to contact me at [email protected] .

If you have problems using the plugin the plugin or would like to see a new feature implemented, please visit

https://github.com/danielneis/moodle-mod_webrtcexperiments/issues

If you like the plugin and want to say hi publicly instead of sending an email, leave a comment at

https://moodle.org/plugins/view/mod_webrtcexperiments

Icon

The icon was downloaded from pixabay and is licensed under CC0 Public Domain

http://pixabay.com/en/connection-network-router-cable-27386/

Donations

This development is a not for profit work. If you like you can help keep it going by donating via paypal =)

moodle-mod_webrtcexperiments's People

Contributors

danielneis avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.