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">
<video class="video-js vjs-default-skin vjs-fluid has-settings" crossorigin="anonymous" controls="" id="ovenmedia-conference-rtmp"></video>
</div>
<script type="text/javascript">
var player = videojs("ovenmedia-conference-rtmp", {
"plugins": {
"peakmeter": {},
"rtcconference": {
"container": "#conference-container",
"master": true
},
"rtcpublisher": {
"adhocHls": false,
"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": {
"adhocCheck": true,
"policy": "",
"roomCheckInterval": 5000,
"roomServerURL": "rtc.electroteque.org:8444/groupcall",
"transportTcp": true
},
"publisher": true,
"recording": {
"mimeType": "video/mp4",
"name": "C6Lx6ku6FEXgKtt",
"server": true
},
"roomName": "room1",
"seperateScreen": true,
"server": "ovenmedia-conference",
"serverURL": "127.0.0.1:3333",
"wsSecure": false
}
},
"sources": [
{
"src": "C6Lx6ku6FEXgKtt",
"type": "application/webrtc"
}
],
"title": "Participant 1",
"vr": false
});
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>