Ant Media WebRTC Group Call

WebRTC Conferencing for Ant Media Server. Master with merger.

Layouts

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.

Note: To feature a participant select them first or add their stream name to the api method arguments. Toggle the room view to show the video merger view.

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.

Conferencing master with graphics accelerated stream merger broadcasting and recording features. Using the conferencing plugin an api is provided to feature and mute a selected participant.

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 server side recording via Ant Media rest api. Configure a JWT token if the rest api security is enabled. Configure the stream name to record as the WebGL merger stream name ie C6Lx6ku6FEXgKtt-merge

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

    
  <div class="flex flex-col w-full">
          <div id="antmedia-conference-master" class=""></div>

  </div>
  <script type="text/javascript">
  	var player = flowplayer("#antmedia-conference-master", {
    "antmedia": {
        "apiToken": "",
        "subscriberCode": "",
        "subscriberId": "",
        "token": ""
    },
    "live": true,
    "mergerSrc": "C6Lx6ku6FEXgKtt-merger",
    "peakmeter": {},
    "rtc": {
        "applicationName": "WebRTCAppEE",
        "autoStartDevice": true,
        "buttons": false,
        "channelName": "data",
        "conference": {
            "autoPublish": true,
            "bgImage": "../../images/virtualbg.jpg",
            "container": "#conference-container",
            "enableFocus": true,
            "master": true,
            "mergerContainer": "#conference-merge-container",
            "mergerOnly": false
        },
        "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"
                ]
            }
        ],
        "meterAutoStart": false,
        "publisher": true,
        "recording": {
            "mimeType": "video/mp4",
            "name": "C6Lx6ku6FEXgKtt-merger",
            "server": true
        },
        "roomName": "room1",
        "seperateScreen": true,
        "server": "antmedia-conference",
        "serverURL": "rtc.electroteque.org:5443",
        "verticalMeter": false
    },
    "src": [
        {
            "publisher": true,
            "src": "C6Lx6ku6FEXgKtt",
            "type": "application/webrtc"
        }
    ],
    "title": "Participant 1",
    "token": "eyJraWQiOiIyeHRpc0Q5NHZzTjIiLCJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJjIjoie1wiYWNsXCI6NixcImlkXCI6XCIyeHRpc0Q5NHZzTjJcIixcImRvbWFpblwiOltcImVsZWN0cm90ZXF1ZS5vcmdcIl19IiwiaXNzIjoiRmxvd3BsYXllciJ9.WLUkZHpDNoaXWDaFO2V5UfXm7SnDvE1pFAM0e7ppnFovOSyCCZM-b8gQNBSElB5yirTP__x76Qyo8pMWh6lVrw"
});

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