i am a noob to mediasoup so here comes a noob question ,
i am sending a RTP stream from mediasoup to gstremer and again want to receive the processed stream back in mediasoup from gstremer.
i have created a pipeline in c program which looks something like this
gst-launch-1.0 -v udpsrc port=8000 caps=" some caps " ! rtpjitterbuffer latency=50 ! rtpvp8depay ! vp8dec ! identity ! vp8enc ! rtpvp8pay ! udpsink port=8001 host=127.0.0.1
i want to change the timestamp of the video in identity element and again receive the stream back in mediasoup.
i can confirm that in gstremer i can receiving the video on port 8000 and and re transmitting on port 8001
i have created a transport on which i want to receive the gstremer stream back on port 8001 and calling a produce on the transport but when i send the stream to client it does not display the stream
i am not using rtcp while sending the stream to gstreamer and video stream comes fine in gstremer and again sending the stream back in mediasoup without any rtcp is it nessesery to use rtcp .
here is the transport on which i want to receive the stream back
const RecrtpTransport = await createTransport('plain', router, rtpTransportConfig);
await RecrtpTransport.connect({
ip: '127.0.0.1',
port: 8001,
rtcpPort: 4004 // i am not sending any thing back on this port
});
rtpProduce = await RecrtpTransport.produce(
{
kind : 'video',
rtpParameters :
{
codecs :
[
{
mimeType : 'video/vp8',
clockRate : 90000,
payloadType : 101,
rtcpFeedback : [ ],
}
],
encodings : [ { ssrc: 806716073 } ]
}
},
);
newconsumer =await reciveTransporuser.consume({producerId:rtpProduce.id,rtpCapabilities})
and here is the client code
window.Gstconsume=await peer.recvTransport.consume({rtpParameters:jsonMessage["rtpParameters"], id:jsonMessage["id"] ,producerId:jsonMessage["producerId"],kind:jsonMessage["kind"]})
console.log(window.Gstconsume)
const stream = new MediaStream();
stream.addTrack(window.Gstconsume.track);
elem = document.createElement('video')
elem.srcObject = stream
elem.playsinline = false
elem.autoplay = true
elem.className = "vid"
document.getElementById("remotevideos").appendChild(elem)