Millicast WebRTC Group Call

WebRTC Conferencing master for Millicast.

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

    <div class="flex w-full h-auto my-auto">
          <div id="millicast-conference-1" class="has-settings"></div>
  </div>
  <script type="text/javascript">
  	var player = jwplayer("millicast-conference-1").setup({
    "aspectratio": "16:9",
    "playbackRateControls": true,
    "plugins": {
        "../../js/webrtcconference-8.20.0.js": {
            "container": "#conference-container",
            "master": true
        },
        "../../js/webrtcpeakmeter-8.20.0.js": {
            "verticalMeter": false
        },
        "../../js/webrtcpublisher-8.20.0.js": {
            "autoStartDevice": true,
            "buttons": false,
            "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"
                    ]
                }
            ],
            "millicast": {
                "accountId": "huaHNT",
                "codec": "h264",
                "publishToken": "ccd5e3c8dfaa833955fa46fe91b0537bc26a6959316fc02038476749524721c4",
                "roomServerURL": "rtc.electroteque.org:8444/groupcall",
                "subToken": "6d3eddde5f64f5f3a699a4b5eb05fe58c2b4d91887c46820ad79189f1295163d"
            },
            "publisher": true,
            "roomName": "room1",
            "seperateScreen": true,
            "server": "millicast-conference"
        }
    },
    "sources": [
        {
            "appName": "webrtc",
            "file": "C6Lx6ku6FEXgKtt",
            "live": true,
            "publisher": true,
            "type": "mp4"
        }
    ],
    "title": "Participant 1",
    "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>