1.0.5 • Published 2 years ago

wowza-webrtc-player v1.0.5

Weekly downloads
71
License
MIT
Repository
github
Last release
2 years ago

Wowza WebRTC Player

Easy to use WebRTC Player library to connect to Wowza Media Server.

license: MIT lint


🚀 Installation

Install with yarn:

$ yarn add wowza-webrtc-player

Or install using npm:

$ npm i wowza-webrtc-player

Base code

To works, we need to create a WowzaWebRTCPlayer instance bound to a HTML5 video element. The second parameters allows you to set different options. You can change it later using player.setConfigurations(options).

import { WowzaWebRTCPlayer } from 'wowza-webrtc-player';

const videoElement = document.querySelector('video');
const player = new WowzaWebRTCPlayer(videoElement, {
  sdpUrl: 'wss://zeezzrezrezr.streamlock.net/webrtc-session.json',
  applicationName: 'webrtc',
  streamName: 'myStream',
});

As a publisher

1. Play the camera locally.

It will ask for browser permission, and connect your camera to the video element.

await player.playLocal();

2. Publish video to Wowza

await player.publish();

3. Stop publishing the flux (but camera still active)

await player.stop();

4. Stop the camera (and also stop publishing the flux)

await player.stopLocal();

As a Viewer

1. Read the remote flux

await player.playRemote();

2. Stop it

await player.stop();


Access/Update mediaStream

const stream = player.getMediaStream();

player.attachStream(newStream);

Extends/Replace SDP Mungle

player.setConfigurations({
  sdpHandler(sdp, originalHandler, type) {
    if (type === 'play') {
      // update sdp
      return originalHandler(sdp);
    } else if (type === 'publish') {
      // update sdp
      return originalHandler(sdp);
    }
  },
});

Get Wowza running streams

It need to be enabled in your Wowza server.

const streams = await player.getAvailableStreams();

streams.forEach((stream) => {
  console.log(
    stream.streamName,
    stream.codecAudio,
    stream.codecVideo,
    stream.readyAudio,
    stream.readyVideo
  );
});

Options

KeyType
applicationNamestringYour wowza app name ("live" or "webrtc" in Wowza documentation).
streamNamestringYour Wowza stream name ("myStream" in Wowza documentation)
sdpUrlstringYour Wowza websocket secured url (should looks like "wss://zeezzrezrezr.streamlock.net/webrtc-session.json")
constraintsMediaStreamConstraints{ video: true, audio: true }
iceServersRTCIceServerList of your ICE server to connect to
videoConfigsObject{ bitRate:360, codec:'VP8', frameRate: 29.97 }
audioConfigsObject{ bitRate:64, codec:'opus' }
secureTokenObject / null{"hash":"YOURHASHEDSECRET","starttime":0,"endtime":0}
userDataObject / nullCan be used to send data to Wowza
1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago