hello everyone.!
im trying to use pipe transports to get connection between mediasoup routers in different hosts.
im trying to do it like in router.pipeToRouter but i got nothing in consumer2 here( its a minified version of whole story ) :
// Have two workers.
const worker1 = await mediasoup.createWorker();
const worker2 = await mediasoup.createWorker();
// Create a router in each worker.
const router1 = await worker1.createRouter({ mediaCodecs });
const router2 = await worker2.createRouter({ mediaCodecs });
// Produce in router1.
const transport1 = await router1.createWebRtcTransport({ ... });
await transport1.connect({});
const producer1 = await transport1.produce({ ..., paused: false });
// Pipe producer1 into router2.
{
const pipe1 = router1.createPipeTransport({listenIp: "1.2.3.4", enableRtx: true, enableSrtp: true,});
const pipe2 = router2.createPipeTransport({listenIp: "1.2.3.4", enableRtx: true, enableSrtp: true,});
await pipe1.connect({ip: pipe2.tuple.localIp, port: pipe2.tuple.localPort, srtpParameters: pipe2.srtpParameters});
await pipe2.connect({ip: pipe1.tuple.localIp, port: pipe1.tuple.localPort, srtpParameters: pipe1.srtpParameters});
const pipeConsumer = await pipe1.consume({ producerId: producer1.id });
await pipe2.produce({ id: producer1.id, kind: pipeConsumer.kind, rtpParameters: pipeConsumer.rtpParameters});
}
// Consume producer1 from router2.
const transport2 = await router2.createWebRtcTransport({ ... });
await transport2.connect({});
await transport2.enableTraceEvent(['bwe','probation']);
transport2.on("trace",(t)=>{
console.log("consumer tr trace => ");
console.log(t);
});
const consumer2 = await transport2.consume({ producerId: producer1.id, paused:false, ... });
await consumer2.enableTraceEvent(["rtp", "fir", "keyframe", "nack", "pli"]);
consumer2.on("trace", (t) => {
console.log("consumer trace => ");
console.log(t);
});
i have some consumer tr trace =>
logs when i produce vp8 :
{
direction: 'out',
info: {
availableBitrate: 1000000,
desiredBitrate: 0,
effectiveDesiredBitrate: 0,
maxBitrate: 1000000,
maxPaddingBitrate: 850000,
minBitrate: 30000,
startBitrate: 1000000,
type: 'transport-cc'
},
timestamp: 145204527,
type: 'bwe'
}
but nothing there if i produce opus
but no consumer trace =>
anyway.
can you help with this please?
i can’t here or see anything when i consume in client side.
everything was just working until i decided to use pipetransports to produce in host_1 and consume in host_2.
thanks for this awesome project!