OvenMedia WebRTC Group Call

WebRTC Conferencing master for OvenMediaEngine. Uses rest api for gathering streams.

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.

WebRTC Conferencing configuration for Ovenmediaengine.

Conferencing master participant. Using the conferencing plugin an api is provided to feature and mute a selected participant.

Supplied is a demo rest api node server to obtain available publish stream names via OME rest api. To provide group room features for OME.

Configured is a Signed Policy token config for providing stream security if setup in the server.

    <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-3"></video>
  <script type="text/javascript">
  	var player = videojs("ovenmedia-conference-3", {
    "plugins": {
        "peakmeter": {
            "verticalMeter": false
        "rtcconference": {
            "container": "#conference-container",
            "master": true
        "rtcpublisher": {
            "applicationName": "app",
            "autoStartDevice": true,
            "buttons": false,
            "iceServers": [
                    "urls": [
            "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": "",
            "wsSecure": false
    "sources": [
            "src": "room1-C6Lx6ku6FEXgKtt",
            "type": "application/webrtc"
    "title": "Participant 1"

      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) => {