[mirotalksfu] - refactoring
هذا الالتزام موجود في:
109
app/src/config.template.js
Normal file
109
app/src/config.template.js
Normal file
@@ -0,0 +1,109 @@
|
||||
'use strict';
|
||||
|
||||
const os = require('os');
|
||||
const ifaces = os.networkInterfaces();
|
||||
|
||||
const getLocalIp = () => {
|
||||
let localIp = '127.0.0.1';
|
||||
Object.keys(ifaces).forEach((ifname) => {
|
||||
for (const iface of ifaces[ifname]) {
|
||||
// Ignore IPv6 and 127.0.0.1
|
||||
if (iface.family !== 'IPv4' || iface.internal !== false) {
|
||||
continue;
|
||||
}
|
||||
// Set the local ip to the first IPv4 address found and exit the loop
|
||||
localIp = iface.address;
|
||||
return;
|
||||
}
|
||||
});
|
||||
return localIp;
|
||||
};
|
||||
|
||||
// https://api.ipify.org
|
||||
|
||||
module.exports = {
|
||||
listenIp: '0.0.0.0',
|
||||
listenPort: 3010,
|
||||
// ssl/README.md
|
||||
sslCrt: '../ssl/cert.pem',
|
||||
sslKey: '../ssl/key.pem',
|
||||
/*
|
||||
Ngrok
|
||||
1. Goto https://ngrok.com
|
||||
2. Get started for free
|
||||
3. Copy YourNgrokAuthToken: https://dashboard.ngrok.com/get-started/your-authtoken
|
||||
*/
|
||||
ngrokAuthToken: '',
|
||||
apiKeySecret: 'mirotalksfu_default_secret',
|
||||
mediasoup: {
|
||||
// Worker settings
|
||||
numWorkers: Object.keys(os.cpus()).length,
|
||||
worker: {
|
||||
rtcMinPort: 40000,
|
||||
rtcMaxPort: 40100,
|
||||
logLevel: 'warn',
|
||||
logTags: ['info', 'ice', 'dtls', 'rtp', 'srtp', 'rtcp'],
|
||||
},
|
||||
// Router settings
|
||||
router: {
|
||||
mediaCodecs: [
|
||||
{
|
||||
kind: 'audio',
|
||||
mimeType: 'audio/opus',
|
||||
clockRate: 48000,
|
||||
channels: 2,
|
||||
},
|
||||
{
|
||||
kind: 'video',
|
||||
mimeType: 'video/VP8',
|
||||
clockRate: 90000,
|
||||
parameters: {
|
||||
'x-google-start-bitrate': 1000,
|
||||
},
|
||||
},
|
||||
{
|
||||
kind: 'video',
|
||||
mimeType: 'video/VP9',
|
||||
clockRate: 90000,
|
||||
parameters: {
|
||||
'profile-id': 2,
|
||||
'x-google-start-bitrate': 1000,
|
||||
},
|
||||
},
|
||||
{
|
||||
kind: 'video',
|
||||
mimeType: 'video/h264',
|
||||
clockRate: 90000,
|
||||
parameters: {
|
||||
'packetization-mode': 1,
|
||||
'profile-level-id': '4d0032',
|
||||
'level-asymmetry-allowed': 1,
|
||||
'x-google-start-bitrate': 1000,
|
||||
},
|
||||
},
|
||||
{
|
||||
kind: 'video',
|
||||
mimeType: 'video/h264',
|
||||
clockRate: 90000,
|
||||
parameters: {
|
||||
'packetization-mode': 1,
|
||||
'profile-level-id': '42e01f',
|
||||
'level-asymmetry-allowed': 1,
|
||||
'x-google-start-bitrate': 1000,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
// WebRtcTransport settings
|
||||
webRtcTransport: {
|
||||
listenIps: [
|
||||
{
|
||||
ip: '0.0.0.0',
|
||||
announcedIp: getLocalIp(), // replace by public static IP address https://api.ipify.org
|
||||
},
|
||||
],
|
||||
maxIncomingBitrate: 1500000,
|
||||
initialAvailableOutgoingBitrate: 1000000,
|
||||
},
|
||||
},
|
||||
};
|
||||
المرجع في مشكلة جديدة
حظر مستخدم