media-stream-merger
Overview
This lib aims to merge two or more MediaStream objects into one. It's useful if you want to play with some canvas effects over a media stream, or just get two inputs from different webcams and use as one;
Instalation
npm install media-stream-merger
Usage
const merger = ; navigatormediaDevices ; const canvas = document; const paintStream = canvas; merger; thismergerstart { /* the start function receives a callback for retrieving the final MediaStream object */ const mergedVideo = document; mergedVideosrcObject = stream; }; /* you can retrieve the canvas result by accessing the `result` value, but the callback way is more safe. */ thismergerresult;
API Reference
merger.addStream(stream, options)
Add a input MediaStream to the merged stack, with audio or not, based on options
stream: a MediaStream object. It can be from a navigator.mediaDevices.getUserMedia
or canvas.captureStream
or whatever.
options: the options object should have the following pattern:
size: width: 200 height: 200 renderCoordinates: x: 100 y: 100 mute: true
merger.start(callback)
Start merging the added MediaStreams. The callback receives one param, that is the result MediaStream
thismergerstart { /* the start function receives a callback for retrieving the final MediaStream object */ const mergedVideo = document; mergedVideosrcObject = stream;};
merger.stopTracks()
Stop all streams and media usage started by merger
merger.result
The same value received on the start callback. The final merged MediaStream