Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const url = require ('url');
const fs = require ('fs');
const path = require ('path');
const WebSocketServer = require ('websocket').server;
//Get the Medooze Media Server interface
const MediaServer = require("medooze-media-server");
//Check
if (process.argv.length!=3)
throw new Error("Missing IP address\nUsage: node index.js ");
//Get ip
const ip = process.argv[2];
//Create UDP server endpoint
const endpoint = MediaServer.createEndpoint(ip);
const base = 'www';
const options = {
key: fs.readFileSync ('server.key'),
cert: fs.readFileSync ('server.cert')
};
//Enable debug
MediaServer.enableDebug(false);
MediaServer.enableUltraDebug(false);
//Restrict port range
MediaServer.setPortRange(10000,20000);
// maps file extention to MIME typere
const fs = require ('fs');
const path = require ('path');
const WebSocketServer = require ('websocket').server;
const PeerConnectionServerDemo = require('./lib/PeerConnectionServerDemo');
//Get the Medooze Media Server interface
const MediaServer = require("medooze-media-server");
//Check
if (process.argv.length!=3)
throw new Error("Missing IP address\nUsage: node index.js ");
//Get ip
const ip = process.argv[2];
//Create UDP server endpoint
const endpoint = MediaServer.createEndpoint(ip);
const base = 'www';
const options = {
key: fs.readFileSync ('server.key'),
cert: fs.readFileSync ('server.cert')
};
//Enable debug
MediaServer.enableDebug(true);
MediaServer.enableUltraDebug(true);
//Restrict port range
MediaServer.setPortRange(10000,20000);
// maps file extention to MIME typere
export const initConfig = async rawConfig => {
const {
debug,
keyPath,
certPath,
httpPort,
httpsPort,
staticDir,
serverAddress
} = rawConfig
const key = await readFile(keyPath)
const cert = await readFile(certPath)
const endpoint = MediaServer.createEndpoint(serverAddress)
const simulcastSessionTable = new Map()
const broadcastSessionTable = new Map()
if (debug) {
MediaServer.enableDebug(true)
}
return {
key,
cert,
endpoint,
httpPort,
httpsPort,
staticDir,
serverAddress,
getEndpoint(streamId:string){
if (this._endpoints.get(streamId)) {
return this._endpoints.get(streamId)
}
let endpoint = MediaServer.createEndpoint(config.endpoint)
this._endpoints.set(streamId, endpoint)
let cpunumber = Math.floor(Math.random() * Math.floor(os.cpus.length))
endpoint.setAffinity(cpunumber)
return endpoint
}
constructor(id,ip)
{
//Store id
this.id = id;
//Create UDP server endpoint
this.endpoint = MediaServer.createEndpoint(ip);
//The comentarist set
this.participants = new Map();
//Create the room media capabilities
this.capabilities = {
audio : {
codecs : ["opus"],
extensions : ["urn:ietf:params:rtp-hdrext:ssrc-audio-level","http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"]
},
video : {
codecs : ["vp9"],
rtx : true,
rtcpfbs : [
{ "id": "transport-cc"},
{ "id": "ccm", "params": ["fir"]},
constructor(publicIp)
{
this.endpoint = medoozeMediaServer.createEndpoint(publicIp);
medoozeMediaServer.enableDebug(true);
medoozeMediaServer.enableUltraDebug(true);
this.streams = new Map();
}