import os from 'os'; import { types as mediasoupTypes } from 'mediasoup'; export const workerSettings: mediasoupTypes.WorkerSettings = { rtcMinPort: 2000, rtcMaxPort: 2300, logLevel: 'debug', logTags: ['info', 'ice', 'dtls', 'rtp', 'srtp', 'rtcp', 'message'] }; export const routerOptions: mediasoupTypes.RouterOptions = { mediaCodecs: [ { kind: 'audio', mimeType: 'audio/opus', clockRate: 48000, channels: 2 }, { kind: 'video', mimeType: 'video/VP8', clockRate: 90000, parameters: { 'x-google-start-bitrate': 1000 } } ] }; export const webRtcTransportConfig: mediasoupTypes.WebRtcTransportOptions = { // https://mediasoup.org/documentation/v3/mediasoup/api/#WebRtcTransportOptions listenInfos: [ { protocol: 'tcp', ip: '0.0.0.0', announcedIp: process.env.MEDIASOUP_ANOUNCE_IP // public ip }, { protocol: 'udp', ip: '0.0.0.0', announcedIp: process.env.MEDIASOUP_ANOUNCE_IP // public ip } ], enableUdp: true, enableTcp: true, preferUdp: true }; export default { numWorkers: Object.keys(os.cpus()).length };