...
Supported platforms and browsers
Chrome | Firefox | Safari 11 | Edge | |
---|---|---|---|---|
Windows | + | + | + | |
Mac OS | + | + | + | |
Android | + | + | ||
iOS | - | - | + |
Operation flowchart
1. The browser connects to the server via the Websocket protocol and sends the publish command.
...
Code Block | ||||
---|---|---|---|---|
| ||||
publishStream = session.createStream({ ... disableConstraintsNormalization: true, constraints { video: { width: {ideal: 1024}, height: {ideal: 768} }, audio: true } }).on(STREAM_STATUS.PUBLISHING, function (publishStream) { ... }); publishStream.publish(); |
H264 encoding profiles exclusion
Since build 5.2.620 some H264 encoding profiles can be excluded from remote SDP which is sent by server to browser. The profiles to exckude should be listed in the following parameter
Code Block | ||
---|---|---|
| ||
webrtc_sdp_h264_exclude_profiles=4d,64 |
In this case, Main (4d) and High (64) profiles will be excluded, but Baseline (42) still remains:
Code Block | ||
---|---|---|
| ||
a=rtpmap:102 H264/90000
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:125 H264/90000
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:127 H264/90000
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:108 H264/90000
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f |
This setting may be useful if some browser encodes B-frames for example using high profiles while hardware acceleration is enabled.
By default, no profiles will be excluded from SDP if they are supported by browser
Code Block | ||
---|---|---|
| ||
webrtc_sdp_h264_exclude_profiles= |
Known issues
1. If the web app is inside an iframe element, publishing of the video stream may fail.
...