Dolby.io WebRTC Publisher

WebRTC Publisher configured for Dolby.io.

Advanced
Bitrate
Video Resolution (ideal)
Video Framerate (ideal)
Audio/Video Inputs
Video Input Source
Audio Input Source
Audio Output Source
Advanced
Bitrate
Video Resolution (ideal)
Video Framerate (ideal)
Audio/Video Inputs
Video Input Source
Audio Input Source
Audio Output Source
Note: A working live example to demonstrate live WebRTC publishing and subscribe features.

WebRTC Publisher configuration for Dolby.io. The account ID and publish token is required to be configured. A static list of Ice servers is also required. See documentation for obtaining a publish token for the stream setup in the console.

When configuring the publish token subscriber authentication can be selected. A supplied script is supplied to generate the subscriber token with domain restriction. That can be used to configure the subToken config. See the Dolby.io API Docs for generating these tokens.

Dolby.io supports WebRTC data channels which can be enabled with dataChannel and channelName

The Dolby.io Subscriber is configured to play back this publish stream.

Preferred Codecs for Dolby.io is configured with the codec config which defaults to h264. This can be set to VP9. In the future AV1 Codec in supported browsers can be used. See the AV1 WebRTC Dolby.io post regarding to AV1.

{

  "../../js/webrtcpublisher.js": {
      "dolbyio": {
        "accountId": "",
        "publishToken": "",
        "codec": "h264"
      },
      "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"
          ]
        }
      ]
    }
}
    <div class="flex w-full h-auto my-auto">
          <div id="dolbyio-publisher" class=""></div>
  </div>
  <script type="text/javascript">
  	var player = jwplayer("dolbyio-publisher").setup({
    "aspectratio": "16:9",
    "playbackRateControls": true,
    "plugins": {
        "../../js/webrtcpeakmeter.js": {},
        "../../js/webrtcpublisher.js": {
            "autoStartDevice": true,
            "dolbyio": {
                "accountId": "huaHNT",
                "codec": "h264",
                "publishToken": "31ae7f65a04762b5e44b56b0eb2b2cd6dae169c05d13955af09c526399378592"
            },
            "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"
                    ]
                }
            ],
            "publisher": true,
            "server": "dolbyio",
            "toggleScreen": true
        }
    },
    "sources": [
        {
            "appName": "webrtc",
            "file": "C6Lx6ku6FEXgKtt",
            "live": true,
            "publisher": true,
            "type": "mp4"
        }
    ],
    "width": "100%"
});
  </script>