Wowza Media WebRTC Publisher

WebRTC Publisher configured for Wowza Media Server.

PlayerConfig: { "sources": [ { "type": "mp4", "file": "C6Lx6ku6FEXgKtt", "appName": "webrtc", "publisher": true, "live": true }] }

Advanced
Bitrate
Video Resolution (ideal)
Video Framerate (ideal)
Audio/Video Inputs
Video Input Source
Audio Input Source
Audio Output Source

PlayerCode: async function tokenService() { return new Promise((accept) => { accept("{{ WOWZA_TOKEN }}"); }); }

Clip: { "live": true, "sources": [ { "type": "application/webrtc", "src": "C6Lx6ku6FEXgKtt"} ] }

WebRTC Publisher configuration for Wowza Media Server. Wowza Media Developer and full licence works with WebRTC.

Supplied is a custom example websocket signal server Wowza provider project for one to many and group call features.

Preferred codecs can be configured using the preferredCodecs config. For H264 wowza expects a level of baseline that needs to be filtered with 42e01f.

Configured is a custom publish token that is verified with the custom Wowza webrtc provider module using a configured shared secret.

Configured is a server side recording option for Wowza using a custom rest api http provider module. This is authenticated using the same publish token.

    <div class="flex w-full h-auto my-auto">
          <div id="wowza-publisher" class=""></div>
  </div>
  <script type="text/javascript">
  	var player = jwplayer("wowza-publisher").setup({
    "aspectratio": "16:9",
    "playbackRateControls": true,
    "plugins": {
        "../../js/webrtcpeakmeter-8.20.0.js": {},
        "../../js/webrtcpublisher-8.20.0.js": {
            "applicationName": "webrtc",
            "autoStartDevice": true,
            "debug": true,
            "floatedControls": false,
            "maxDeviceDimensions": false,
            "maxHeight": 720,
            "maxWidth": 1280,
            "publishToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ3ZWJydGMifQ.MjehxjweF5tPPqUJQjHEHdHLz4sjaXkTkJh0dkM8w9_M5PMKoyzUJZPYyYtgT1qn17eDZlUOUeIeyr37z-KhN1u66L2ScVCwvs0dBjf6s2ZSIw0shvKmCdq7u5bd5llWTY0FDbbtFA1l60CkfOsTd0_dQpeyKm3Y94XgIaPyJB_PCCezO8V1xmcyMT1aqPfwr99AmM8s_P_8nuDL6A1HHppImwZL550AnTjuPQaAMRSVSNuzlLrwFXBA1SRaKOa2AVkIzP0tYkqWCYd03Gvn_CpxZ5dhk5s4UYSoYeK2FX4nz4khn_k8loFO-vDu2M-1r7dvFXnt8iNYWGTzDxPNuQ",
            "publisher": true,
            "recording": {
                "codec": "VP9",
                "mimeType": "video/webm",
                "name": "C6Lx6ku6FEXgKtt",
                "server": true
            },
            "server": "wowza",
            "serverURL": "rtc.electroteque.org",
            "toggleScreen": true,
            "tokenService": "tokenService",
            "userData": {
                "param1": "value1"
            }
        }
    },
    "width": "100%"
});

async function tokenService() {
return new Promise((accept) => {
accept("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ3ZWJydGMifQ.MjehxjweF5tPPqUJQjHEHdHLz4sjaXkTkJh0dkM8w9_M5PMKoyzUJZPYyYtgT1qn17eDZlUOUeIeyr37z-KhN1u66L2ScVCwvs0dBjf6s2ZSIw0shvKmCdq7u5bd5llWTY0FDbbtFA1l60CkfOsTd0_dQpeyKm3Y94XgIaPyJB_PCCezO8V1xmcyMT1aqPfwr99AmM8s_P_8nuDL6A1HHppImwZL550AnTjuPQaAMRSVSNuzlLrwFXBA1SRaKOa2AVkIzP0tYkqWCYd03Gvn_CpxZ5dhk5s4UYSoYeK2FX4nz4khn_k8loFO-vDu2M-1r7dvFXnt8iNYWGTzDxPNuQ");
});
}
  </script>