Options
All
  • Public
  • Public/Protected
  • All
Menu

Class OpenVidu

Entrypoint of OpenVidu Browser library. Use it to initialize objects of type Session, Publisher and LocalRecorder

Hierarchy

  • OpenVidu

Index

Constructors

constructor

Methods

checkSystemRequirements

  • checkSystemRequirements(): number
  • Checks if the browser supports OpenVidu

    Returns number

    1 if the browser supports OpenVidu, 0 otherwise

enableProdMode

  • enableProdMode(): void

getDevices

  • getDevices(): Promise<Device[]>
  • 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

    Returns Promise<Device[]>

getUserMedia

  • 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
         });
    });
    

    Parameters

    Returns Promise<MediaStream>

initLocalRecorder

initPublisher

  • initPublisher(targetElement: string | HTMLElement): Publisher
  • initPublisher(targetElement: string | HTMLElement, properties: PublisherProperties): Publisher
  • initPublisher(targetElement: string | HTMLElement, completionHandler: function): Publisher
  • initPublisher(targetElement: string | HTMLElement, properties: PublisherProperties, completionHandler: function): Publisher
  • Returns a new publisher

    Events dispatched

    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)

    Parameters

    • targetElement: string | HTMLElement

      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 Publisher

  • Returns a new publisher

    Events dispatched

    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)

    Parameters

    • targetElement: string | HTMLElement

      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)

    • properties: PublisherProperties

    Returns Publisher

  • Returns a new publisher

    Events dispatched

    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)

    Parameters

    • targetElement: string | HTMLElement

      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)

    • completionHandler: function

      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

        • (error: Error | undefined): void
        • Parameters

          • error: Error | undefined

          Returns void

    Returns Publisher

  • Returns a new publisher

    Events dispatched

    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)

    Parameters

    • targetElement: string | HTMLElement

      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)

    • properties: PublisherProperties
    • completionHandler: function

      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

        • (error: Error | undefined): void
        • Parameters

          • error: Error | undefined

          Returns void

    Returns Publisher

initPublisherAsync

  • initPublisherAsync(targetElement: string | HTMLElement): Promise<Publisher>
  • initPublisherAsync(targetElement: string | HTMLElement, properties: PublisherProperties): Promise<Publisher>

initSession

  • initSession(sessionId: string): Session
  • Returns a session with id sessionId

    Parameters

    • sessionId: string

      Session unique ID generated in openvidu-server

    Returns Session

setAdvancedConfiguration

Generated using TypeDoc