Our mediasoup implementation for our streaming app is not showing the host’s live-stream in our staging environment. It is working perfectly in localhost.
We are using Digital Ocean with a loadbalancer (tcp ports are forwarded) with kubernetes droplets (firewall has ports open and a Dockerfile also exposes those ports).
announcedIp is the loadbalancer public IP. The droplets inside have a public and private IP. Do i need to add them to listenIps?
And lastly, we enabled hostNetwork in kubernetes’ deployment.yaml file.
Also, we’re using helm charts. Not sure if that makes it more complicated.
Is there anything else im missing? Has anyone had a similar deployment that could help out?
The config file:
const config = {
mediaSoup:
{
// WORKER SETTINGS.
worker:
{
rtcMinPort: 32503, // MINIMUM NUMBER OF PORT.
rtcMaxPort: 32505, // MAXIMUM NUMBER OF PORT.
logLevel: 'error', // ONLY LOG ERRORS.
// 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 }
},
]
},
// WEB RTC TRANSPORT SETTINGS
webRtcTransport:
{
listenIps: [{ ip: '0.0.0.0', announcedIp: process.env.IP }], // SERVER IP ADDRESS.
enableUdp: false,
enableTcp: true,
preferUdp: false,
maxIncomingBitrate: 1500000,
initialAvailableOutgoingBitrate: 1000000,
minimumAvailableOutgoingBitrate: 600000,
maxSctpMessageSize: 262144,
}
}
};