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 the HTML video element has been added to DOM (if targetElement not null or undefined)
The Publisher object will dispatch a videoPlaying
event once the local video starts playing (only if videoElementCreated
event has been previously dispatched)
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 access the native MediaStream object by calling Publisher.stream.getMediaStream() and use it as srcObject of any HTML video element)
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 the HTML video element has been added to DOM (if targetElement not null or undefined)
The Publisher object will dispatch a videoPlaying
event once the local video starts playing (only if videoElementCreated
event has been previously dispatched)
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 access the native MediaStream object by calling Publisher.stream.getMediaStream() and use it as srcObject of any HTML video element)
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 the HTML video element has been added to DOM (if targetElement not null or undefined)
The Publisher object will dispatch a videoPlaying
event once the local video starts playing (only if videoElementCreated
event has been previously dispatched)
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 access the native MediaStream object by calling Publisher.stream.getMediaStream() and use it as srcObject of any HTML video element)
error
parameter is null if initPublisher
succeeds, and is defined if it fails.
completionHandler
function is called before the Publisher dispatches an accessAllowed
or an accessDenied
event
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 the HTML video element has been added to DOM (if targetElement not null or undefined)
The Publisher object will dispatch a videoPlaying
event once the local video starts playing (only if videoElementCreated
event has been previously dispatched)
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 access the native MediaStream object by calling Publisher.stream.getMediaStream() and use it as srcObject of any HTML video element)
error
parameter is null if initPublisher
succeeds, and is defined if it fails.
completionHandler
function is called before the Publisher dispatches an accessAllowed
or an accessDenied
event
Promisified version of OpenVidu.initPublisher
WARNING: events
accessDialogOpened
andaccessDialogClosed
will not be dispatched if using this method instead of OpenVidu.initPublisher
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 featureGenerated using TypeDoc
Entrypoint of OpenVidu Browser library. Use it to initialize objects of type Session, Publisher and LocalRecorder