Ant Media WebRTC Group Call

WebRTC Conferencing for Ant Media Server. Second participant.

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.

}).on("participantunfeatured", (e, sender) => {
}).on("leaveroom", e => {
}).on("roomjoinfailed", e => {
}).on("existingparticipants", (e, sender) => {
});

WebRTC Conferencing configuration for Ant Media Server. Ant Media Server License is required to play back WebRTC. A trial license will work to play back WebRTC. The default WebRTC app for Ant Media Server is WebRTCAppEE.

Ant Media default WebSocket signalling server supports room group calls by default. Datachannel setting is required to be turned on in the Ant Media console for custom commands to work.

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

Configured is stream token security if configured in the server using a JWT token.

    <div class="flex w-full h-auto my-auto">
      <video class="video-js vjs-default-skin vjs-fluid has-settings" crossorigin="anonymous" controls="" id="antmedia-conference-2"></video>
  </div>
  <script type="text/javascript">
  	var player = videojs("antmedia-conference-2", {
    "plugins": {
        "peakmeter": {
            "verticalMeter": false
        },
        "rtcconference": {
            "container": "#conference-container",
            "featuredContainer": "#featured-container",
            "participantContainer": "#conference-participant-container",
            "playerTemplate": "<div id=\"${id}\" class=\"conference-player\"><video id=\"${playerid}\" class=\"video-js vjs-default-skin vjs-fluid\" preload=\"none\" controls></video></div>",
            "profile": "../../images/wowza-logo.png",
            "roomContainer": "#room-container",
            "studioMode": true
        },
        "rtcpublisher": {
            "antmedia": {
                "apiToken": "",
                "subscriberCode": "",
                "subscriberId": "",
                "token": ""
            },
            "applicationName": "WebRTCAppEE",
            "autoStartDevice": true,
            "buttons": false,
            "channelName": "data",
            "dataChannel": 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"
                    ]
                }
            ],
            "publisher": true,
            "roomName": "room1",
            "seperateScreen": true,
            "server": "antmedia-conference",
            "serverURL": "rtc.electroteque.org:5443"
        },
        "virtualbackground": {
            "backgroundColor": "000000",
            "bgImage": "../../images/virtualbg.jpg",
            "enable": false
        }
    },
    "sources": [
        {
            "src": "djq574AA8FHQUEFD",
            "type": "application/webrtc"
        }
    ],
    "title": "Participant 2"
});




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