Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iwanbk/confku
WebRTC multiparty conference library
https://github.com/iwanbk/confku
Last synced: about 1 month ago
JSON representation
WebRTC multiparty conference library
- Host: GitHub
- URL: https://github.com/iwanbk/confku
- Owner: iwanbk
- License: bsd-3-clause
- Created: 2013-10-17T01:46:46.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2016-05-12T22:29:25.000Z (over 8 years ago)
- Last Synced: 2024-04-17T00:03:43.356Z (8 months ago)
- Language: JavaScript
- Size: 42 KB
- Stars: 7
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ConfKu : JavaScript WebRTC conference example
You can use this example to build peer to peer video conference using WebRTC technology.
This example has 3 components:
- signaling server using Go, can be found in `hub` directory.
- javascript client in `client` directory
- web app to serve HTML (with css and javascript) in [confku-sample](https://github.com/iwanbk/confku-sample) repo.Signaling is separated from web app to show that it is a distinct component, can be written in any language.
----------------------
BUILD JAVASCRIPT CLIENT
----------------------
* move to client dir
cd client* install npm (nodejs package manager):
-> install npm in ubuntu
sudo apt-get install npm-> install npm in mac with brew
brew install npm* install gruntjs:
sudo npm install -g grunt-cli
npm install grunt grunt-contrib-concat grunt-contrib-jshint grunt-contrib-uglify* build js client
grunt* build result can be found in dist directory
- confku.min.js : minified JS
- confku.dist.js : unminified JS* include confku.min.js/confku.dist.js in the conference room
example : https://github.com/iwanbk/confku-sample/blob/master/static/confku.min.js--------------------
RUN SIGNALING SERVER
--------------------
* move to hub (signaling server) directory
cd hub* install requirement
go get -v* run it
go run *.goIt will listen on port 8001
------------
USAGE EXAMPLE
------------
* Implement addVideo and removeVideo functions.You need to implement two functions to make it works:
/**
* This function will be called by confku library when
* stream from some peer become available.
*/
confkuUI.addVideo = function (stream, peerId);/**
* This function will be called by confku library when
* stream from some peer become unavailable.
*/
confkuUI.removeVideo = function (peerId);
You can find the example here:
https://github.com/iwanbk/confku-sample/blob/master/static/public.confkuui.js* include confku.min.js in your conference page
* full example can be found here : https://github.com/iwanbk/confku-sample
-------------
CONFKU EVENTS
-------------ConfKu will fire some events regarding the conference.
You can add event handler for those events.* list of events
TODO
* example usage
Look at https://github.com/iwanbk/confku-sample/blob/master/static/public.confkuui.js
There are two event handlers in that file:
/**
* handle for peer_join_room event.
* This event will be fired when there is new peer joining the room
*/
confku.ee.on('peer_join_room', function (data);/**
* handle for peer_leave_room event.
* This event will be fired when there is a peer leaving the room.
*/
confku.ee.on('peer_leave_room', function (data);----
TODO
----* Chat using datachannel (soon)
* Screen sharing
* mute mic
* mute video
-------
LICENSE
------BSD License
-------
CREDITS
------Initial client code of this library come from webrtc.io project
https://github.com/webRTC/webRTC.io