push video to mediasoup with gstreamer

Is there any example of pushing video to mediasoup with gstreamer? I tried this way, but can’t play the stream.

gst-launch-1.0 --eos-on-shutdown rtpbin name=rtpbin rtp-profile=avpf videotestsrc ! video/x-raw,width=640,height=480,framerate=15/1 ! vp8enc ! rtpvp8pay ssrc=22222222 pt=102 ! rtprtxqueue max-size-time=2000 max-size-packets=0 ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink bind-address=127.0.0.1 host=127.0.0.1 bind-port=10200 port=10090 rtpbin.send_rtcp_src_0 ! udpsink bind-address=127.0.0.1 host=127.0.0.1 port=10061 sync=false async=false udpsrc port=10201 ! rtpbin.recv_rtcp_sink_0

10090 is plainRtpTransport.tuple.localPort
10061 is plainRtpTransport.rtcpTuple.localPort
Other 2 ports are connected this way:

await plainRtpTransport.connect({
                ip: '127.0.0.1',
                port:10200 ,
                rtcpPort: 10201 
            });

All this code (without plainRtpTransport.connect and that 2 additional ports) is working with ffmpeg. But not for gstreamer.
P.S. for ffmpeg version createPlainRtpTransport with comedia: true. It also not working for gstreamer.

1 Like

Yes, there are examples with GStreamer in the Examples section of the mediasoup website.

I found recording examples and plugin. But can’t find an example of pushing file to mediasoup with gstreamer.

Yeah, can anyone offer an example of how do i record a stream into a file, then play it out, without transcoding? Recording into a file is trivial, but then it’s unlear how to play out that same file, this is my problem…

In theory, if you follow the code in here you should be able to figure out how to do the same with gstreamer command line. I just don’t know GStreamer so cannot help much here.

Hi, Is there any progress about “relay video stream without transcode” ?I want to send encoded h264 to mediasoup with gstreamer.I can get video appeared in browser but the video STUCKED frequently.

Making questions is ok. Never helping others is not.

I think that you have to add more encode options ,just like what the example does