Checks if the browser supports screen-sharing. Desktop Chrome, Firefox and Opera support screen-sharing
1 if the browser supports screen-sharing, 0 otherwise
Checks if the browser supports OpenVidu
1 if the browser supports OpenVidu, 0 otherwise
Disable all logging except error level
Collects information about the media input devices available on the system. You can pass property deviceId
of a Device object as value of audioSource
or videoSource
properties in initPublisher method
Get a MediaStream object that you can customize before calling initPublisher (pass MediaStreamTrack property of the MediaStream value resolved by the Promise as audioSource
or videoSource
properties in initPublisher)
Parameter options
is the same as in initPublisher second parameter (of type PublisherProperties), but only the following properties will be applied: audioSource
, videoSource
, frameRate
, resolution
To customize the Publisher's video, the API for HTMLCanvasElement is very useful. For example, to get a black-and-white video at 10 fps and HD resolution with no sound:
var OV = new OpenVidu();
var FRAME_RATE = 10;
OV.getUserMedia({
audioSource: false,
videoSource: undefined,
resolution: '1280x720',
frameRate: FRAME_RATE
})
.then(mediaStream => {
var videoTrack = mediaStream.getVideoTracks()[0];
var video = document.createElement('video');
video.srcObject = new MediaStream([videoTrack]);
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
ctx.filter = 'grayscale(100%)';
video.addEventListener('play', () => {
var loop = () => {
if (!video.paused && !video.ended) {
ctx.drawImage(video, 0, 0, 300, 170);
setTimeout(loop, 1000/ FRAME_RATE); // Drawing at 10 fps
}
};
loop();
});
video.play();
var grayVideoTrack = canvas.captureStream(FRAME_RATE).getVideoTracks()[0];
var publisher = this.OV.initPublisher(
myHtmlTarget,
{
audioSource: false,
videoSource: grayVideoTrack
});
});
Returns a new local recorder for recording streams straight away from the browser
Stream to record
Returns a new publisher
The Publisher object will dispatch an accessDialogOpened
event, only if the pop-up shown by the browser to request permissions for the camera is opened. You can use this event to alert the user about granting permissions
for your website. An accessDialogClosed
event will also be dispatched after user clicks on "Allow" or "Block" in the pop-up.
The Publisher object will dispatch an accessAllowed
or accessDenied
event once it has been granted access to the requested input devices or not.
The Publisher object will dispatch a videoElementCreated
event once a HTML video element has been added to DOM (only if you
let OpenVidu take care of the video players). See VideoElementEvent to learn more.
The Publisher object will dispatch a streamPlaying
event once the local streams starts playing. See StreamManagerEvent to learn more.
HTML DOM element (or its id
attribute) in which the video element of the Publisher will be inserted (see PublisherProperties.insertMode). If null or undefined no default video will be created for this Publisher.
You can always call method Publisher.addVideoElement or Publisher.createVideoElement to manage the video elements on your own (see Manage video players section)
Returns a new publisher
The Publisher object will dispatch an accessDialogOpened
event, only if the pop-up shown by the browser to request permissions for the camera is opened. You can use this event to alert the user about granting permissions
for your website. An accessDialogClosed
event will also be dispatched after user clicks on "Allow" or "Block" in the pop-up.
The Publisher object will dispatch an accessAllowed
or accessDenied
event once it has been granted access to the requested input devices or not.
The Publisher object will dispatch a videoElementCreated
event once a HTML video element has been added to DOM (only if you
let OpenVidu take care of the video players). See VideoElementEvent to learn more.
The Publisher object will dispatch a streamPlaying
event once the local streams starts playing. See StreamManagerEvent to learn more.
Returns a new publisher
The Publisher object will dispatch an accessDialogOpened
event, only if the pop-up shown by the browser to request permissions for the camera is opened. You can use this event to alert the user about granting permissions
for your website. An accessDialogClosed
event will also be dispatched after user clicks on "Allow" or "Block" in the pop-up.
The Publisher object will dispatch an accessAllowed
or accessDenied
event once it has been granted access to the requested input devices or not.
The Publisher object will dispatch a videoElementCreated
event once a HTML video element has been added to DOM (only if you
let OpenVidu take care of the video players). See VideoElementEvent to learn more.
The Publisher object will dispatch a streamPlaying
event once the local streams starts playing. See StreamManagerEvent to learn more.
Returns a new publisher
The Publisher object will dispatch an accessDialogOpened
event, only if the pop-up shown by the browser to request permissions for the camera is opened. You can use this event to alert the user about granting permissions
for your website. An accessDialogClosed
event will also be dispatched after user clicks on "Allow" or "Block" in the pop-up.
The Publisher object will dispatch an accessAllowed
or accessDenied
event once it has been granted access to the requested input devices or not.
The Publisher object will dispatch a videoElementCreated
event once a HTML video element has been added to DOM (only if you
let OpenVidu take care of the video players). See VideoElementEvent to learn more.
The Publisher object will dispatch a streamPlaying
event once the local streams starts playing. See StreamManagerEvent to learn more.
Promisified version of OpenVidu.initPublisher
WARNING: events
accessDialogOpened
andaccessDialogClosed
will not be dispatched if using this method instead of OpenVidu.initPublisher
Returns new session
Set OpenVidu advanced configuration options. Currently configuration
is an object with the following optional properties (see OpenViduAdvancedConfiguration for more details):
iceServers
: set custom STUN/TURN servers to be used by OpenVidu BrowserscreenShareChromeExtension
: url to a custom screen share extension for Chrome to be used instead of the default one, based on ours https://github.com/OpenVidu/openvidu-screen-sharing-chrome-extensionpublisherSpeakingEventsOptions
: custom configuration for the PublisherSpeakingEvent feature and the StreamManagerEvent.streamAudioVolumeChange featureforceMediaReconnectionAfterNetworkDrop
: always force WebRTC renegotiation of all the streams of a client after a network loss and reconnection. This can help reducing frozen videos in low quality networks.Call this method to override previous values at any moment.
Generated using TypeDoc
Entrypoint of OpenVidu Browser library. Use it to initialize objects of type Session, Publisher and LocalRecorder