I am also having some issues with gstreamer in MP
I have a logitech c920 USB cam connected to a RPi4, sending 1080@24 video over public 4G networks, through an AWS OpenVPN server to my home PC.
On the RPi4, this is the code that I use to build the pipe:
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-h264,width=1920,height=1080,framerate=24/1 ! h265parse ! rtph264pay ! udpsink host=RECEIVE_PC_IP port=5600
In QGroundControl, the stream pops up after a couple seconds and has excellent quality with slight (1sec) delay.
However when I open Mission Planner, the HUD is mostly gray…sometimes green and super pixelated. It is impossible to use.
I have installed gstreamer 1.16.2 on my host pc…I even found the config file in QGC that lists their gstream launch code, and tried that as well:
gst-launch-1.0 -v udpsrc port=%PORT% caps=“application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264” ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false
What is the collective wisdom on how to fix this issue with MP? Because I have it working in QGC, and have also successfully opened the video stream via VLC on my home PC, it must be a setting in MP.
Thanks in advance for the help!
i think this will 100% be to do with the gstreamer version.
what version do you have on the pi?
did you have the same issue when you run under the 1.16.2 version?
atm MP ships with 1.12.4
I do have the same issue when running 1.16.2 on my PC and it looks like 1.14.4 installed on the pi…I don’t know why I didn’t check the Pi version.
Should I wipe 1.16.2 and install 1.12.4 on both the pi and PC?
What protocol do you use on OpenVPN?
The clients connect to the OVPN server on UDP port 1194. I literally ran through the basic setup with the walkthrough AWS provided, with a few extra options. I opened ports 14550, 5000, 5600, 5601 on UDP, assigned an elastic public IP to my OVPN server and assigned static IP addresses to the two user accounts that I authorized to connect. This way the host/server IP addresses are always the same.
You could try TCP, it worked a lot better for me for video trough public lte nat.
In my case going from udp to tcp on my OpenVPN server made a night and day difference.
p.s. If you use a tunnel between server and clients you don’t need to open up ports, all traffic is encapsulated in the 1194 udp or tcp wrap.
So the video streams perfectly to VLC and to QGroundControl over this link…just not Mission Planner.
Thanks for the note on ports too…I’m going to go back and shut everything down except those necessary. Thanks!
can you test 1.14.4 on your pc, and see if that has the same issue.
i can have a look at changing the gstreamer version MP uses to resolve this
So I’m actually having a hard time finding the archived versions…all the links I have tried seem to go to old pages at gstreamers freedesktop website, and error out. EDIT: It took several tries, but the link to their Apache server finally went through…40min to download 120Mb…
I noticed in posts talking about older versions of MP, there used to be a feature within MP that allowed you to install the proper version of gstreamer from MP?
MP had a version it downloads, but depending on whats in the PI, it might still have the same issues.