Mission Planner / Greyed-out frames in gstreamer video stream

I’m able to render colorful video stream in the HUD when camera is moving, but when camera is motionless I see grey screen. I’m using Mission Planner 1.3.81, udp connection. This is what the gstreamer pipeline is on Mission planner:

udpsrc port=5600 buffer-size=90000 ! application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264 ! decodebin3 ! queue max-size-buffers=1 leaky=2 ! videoconvert ! video/x-raw,format=BGRA ! appsink name=outsink sync=false"

I wrote a script which create new stream, paste it as overlay for internal Mission Planner video stream and save video to the folder, and it is working good.

$rectime = Get-Date -Format ‘yyyy-MM-dd_HH-mm’

C:\gstreamer\1.0\msvc_x86_64\bin\gst-launch-1.0.exe -e udpsrc port=5600 address=“myiphere” reuse=true do-timestamp=true caps=“application/x-rtp, clock-rate=90000, payload=96, media=video, encoding-name=H264” ! rtph264depay ! h264parse ! tee name=dorecord ! queue ! splitmuxsink async-finalize=True location=c:/videos/record_${rectime}_part%02d.mkv max-size-time=300000000000 muxer=matroskamux dorecord. ! queue ! h264parse ! avdec_h264 ! videoscale add-borders=true ! ‘video/x-raw,width=720,height=480, pixel-aspect-ratio=1/1’ ! gdkpixbufoverlay location=record.png overlay-width=720 overlay-height=430 offset-y=24 ! rtpvrawpay mtu=1400 ! udpsink host=127.0.0.1 port=5555 sync=false

Is there a way to change pipeline and fix it so the stream be always colorful without additional external scripts?

If you managed to make a gstream pipeline that works with your video source, just use that pipeline in Mission Planner.

Note: Try to make your pipeline work on a separated window. If it works there then it should work in Mission Planner.

Note2: Grey frames with static screens usually means missing I-frames.

1 Like