I installed the Raptorq plugin GStreamer on my laptop and built them on my raspberry pi 5 - as it supports up to gstreamer version 1.22 and FEC are not available on that version.
The pipelines I am using are the following (still in test mode - basically I am trying to get them up and running). I am basically transmitting a video from the Pi 5 to my laptop over wifi multicast (which I want to protect using RaptorQ).
Pi Pipeline (transmitter):
gst-launch-1.0 -e -v rtpbin name=rtp fec-encoders=‘fec,0=“raptorqenc\ mtu=1356\ repair-packets=4\ repair-window=200000\ symbol-size=192”;’ uridecodebin uri=“file:///home/matteo/BigBuckBunny_320x180.mp4” ! queue ! x264enc tune=zerolatency key-int-max=60 ! rtph264pay pt=96 mtu=1356 config-interval=1 ! rtp.send_rtp_sink_0 rtp.send_rtp_src_0 ! queue ! udpsink host=239.255.0.1 port=5005 auto-multicast=true multicast-iface=wlan0 ttl=1 rtp.send_fec_src_0_0 ! queue ! udpsink host=239.255.0.1 port=5602 auto-multicast=true multicast-iface=wlan0 ttl=1
Laptop Pipeline (Receiver):
Now for the laptop receiver first I ran the pipeline on the pi (as here I can confirm that raptorq is working). The pipeline I ran is:
gst-launch-1.0 -e -v rtpbin latency=200 name=rtp fec-decoders=‘fec,0=raptorqdec’ udpsrc address=239.255.0.1 port=5005 multicast-iface=wlan0 caps=“application/x-rtp,media=video,clock-rate=90000,encoding-name=H264,payload=96” ! queue ! rtp.recv_rtp_sink_0 udpsrc address=239.255.0.1 port=5602 multicast-iface=wlan0 caps=“application/x-rtp,payload=97,clock-rate=90000,raptor-scheme-id=6,t=192” ! queue ! rtp.recv_fec_sink_0_0 rtp. ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink sync=false
Now this on the pi runs (the receiver), however on my laptop it first returns:
WARNING: erroneous pipeline: could not set property “fec-decoders” in element “rtpbin” to “‘fec,0=raptorqdec’”
Then in the receiver command I change (fec-decoders=‘fec,0=raptorqdec’) to (fec-decoders=“fec,0=raptorqdec”) and it returns:
WARNING: erroneous pipeline: could not link queue1 to rtp
However I cannot solve why it is returning this error. I thought maybe the Raptorq plugin is not installed in the same directory as the gst-inspect-1.0 or gst-launch-1.0 on my laptop? However, it is and confirmed it through cmd.
Has anyone experienced this and maybe has a solution?
Thank you for your help!
I am running version gst-launch-1.0 version 1.26.2.