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="ovenmedia-conference-3" class="has-settings"></div>
</div>
<script type="text/javascript">
var player = jwplayer("ovenmedia-conference-3").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": {
"applicationName": "app",
"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"
]
}
],
"ovenmedia": {
"apiToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJPbmxpbmUgSldUIEJ1aWxkZXIiLCJpYXQiOjE2MzY5MDE2MTQsImV4cCI6MTY2ODQzNzYxNCwiYXVkIjoid3d3LmV4YW1wbGUuY29tIiwic3ViIjoianJvY2tldEBleGFtcGxlLmNvbSIsImNvbW1hbmQiOiJhdmFpbGFibGVTdHJlYW1zIn0.A8spwEH6zcpy8TJB0i31_xa-cg43clGk8VK43sa_ZLQ",
"policy": "",
"roomServerURL": "https://rtc.electroteque.org:8444/ome",
"transportTcp": true
},
"publisher": true,
"roomName": "room1",
"seperateScreen": true,
"server": "ovenmedia-conference",
"serverURL": "127.0.0.1:3333",
"wsSecure": false
}
},
"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>