Kurento Media WebRTC Group Call

WebRTC Conferencing for Kurento Media Server. Second participant.

Room Viewer

Note: Not a live demo, server configuration is just for example. For live working example try the Millicast Publisher and Subscriber example.

WebRTC Conferencing configuration for Kurento Media Server. The endpoint for the demo backend service for conferencing is groupcall

The config roomName is required to connect to a specific room.

Supplied is a custom example websocket signal server Wowza provider project for one to many and group call features.

    <div class="max-w-screen-2xl h-auto my-auto">
          <div id="kurento-conference-2" class="has-settings"></div>
  </div>
  <script type="text/javascript">
  	var player = jwplayer("kurento-conference-2", {
    "aspectratio": "16:9",
    "playbackRateControls": true,
    "plugins": {
        "../../js/webrtcpeakmeter-8.20.0.js": {},
        "../../js/webrtcpublisher-8.20.0.js": {
            "applicationName": "groupcall",
            "autoStartDevice": true,
            "channelName": "kurentodata",
            "conferenceContainer": "#conference-container",
            "dataChannel": true,
            "floatedControls": true,
            "iceServers": [
                {
                    "urls": [
                        "stun:stun.l.google.com:19302",
                        "stun:stun1.l.google.com:19302",
                        "stun:stun2.l.google.com:19302",
                        "stun:stun3.l.google.com:19302",
                        "stun:stun4.l.google.com:19302"
                    ]
                }
            ],
            "publishResumeable": true,
            "publisher": true,
            "publisherStopDelay": 60,
            "roomName": "room1",
            "server": "kurento-conference",
            "serverURL": "rtc.electroteque.org:8443",
            "settings": true,
            "toggleScreen": true
        }
    },
    "sources": [
        {
            "appName": "groupcall",
            "file": "djq574AA8FHQUEFD",
            "live": true,
            "publisher": true,
            "type": "mp4"
        }
    ],
    "width": "100%"
});

player.on("ready", function() {
player.on("selectedParticipant", (participant) => {
console.log("selected participant", participant);
}).on("unselectedParticipant", (e, participant) => {
console.log("unselected participant", participant);
}).on("participantleft", (sender) => {
}).on("participantfeatured", (sender) => {
}).on("participantunfeatured", (sender) => {
}).on("leaveroom", e => {
}).on("roomjoinfailed", e => {
}).on("existingparticipants", (sender) => {
});
});
  </script>