Kurento is an open source WebRTC platform that supports group communications, transcoding, recording, mixing, broadcasting and routing of audiovisual flows. Kurento is a part of Twilio.
See also our Twilio Video andTwilio Voice integration.
Currently only available for Kurento Rooms. Read the full documentation here
In the HTML:
<!DOCTYPE html>
<html>
<head>
<!-- Load callstats.io library (it provides window.callstats -->
<script src="https://api.callstats.io/static/callstats.min.js"></script>
<!-- Load Kurento Utils library -->
<script src="bower_components/kurento-utils/js/kurento-utils.js"></script>
<!-- Load callstats-kurento library (it provides window.callstatskurento) -->
<script src="js/callstats-kurento.js"></script>
<!-- Load our app code -->
<script src="js/app.js"></script>
</head>
<body>
<!-- your stuff -->
</body>
</html>
In app.js:
// Create a callstats-kurento App instance.
var ckApp;
var ckConference;
window.onload = function() {
ckApp = callstatskurento(
AppID,
AppSecret,
localUserID
);
// Create a callstats kurento conference interface, by supplying the CONFERENCE_ID
ckConference = cskApp.createConference(CONFERENCE_ID);
}
webRtcPeer = kurentoUtils.WebRtcPeer.WebRtcPeerSendonly(options, function(error) {
if(error) return onError(error);
// Create a callstats-kurento peer, by handling the the webrTc peer returned by kurentoUtils
// and supplying a PEER_ID (a session ID).
var ckPeer = ckConference.handle(webRtcPeer, PEER_ID);
this.generateOffer(onOfferPresenter);
});
NPM/Bower libraries have been published to the NPM/Bower registries.
Sample app can be found here - https://github.com/nimbleape/kurento-tutorial-node