Hi,
My setup consists of a Pi Zero W with a Picam running through ZeroTier. I've managed to get everything up and going bar the video stream which is proving tricky. The UDP protocol results in a still image appearing in the cockpit tab, TCP results in the expected stream in UAVcast however in Mission Planner (connecting through TCP) keeps displaying my webcam. I cant connect mission planner through UDP, always times out. On disabling the webcam MP flags up a 'no capture device available'.
I've been using Inav for years and this is the first time I've tried Ardu so hopefully I've not missed something simple. From searching online it appears I right click on the telemetry visual, highlight 'video' and then click on 'Set Gstreamer Source'. Which I then paste in the altered lines under 'tips' in the camera tab in UAVcast for TCP. That sound about right?
I've restarted everything following changing between UDP to TCP, seemed I had to otherwise the camera wouldnt start. I've made sure to enable ground control IP addressed for UDP. Everything green, ports show as accessible.
On the dashboard tab under camera its saying Active: Not Selected and Type: picam
EDIT: Forgot to add logs.
TCP when it doesnt start the camera -
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstTCPServerSink:tcpserversink0: Could not open resource for reading.
Additional debug info:
gsttcpserversink.c(390): gst_tcp_server_sink_init_send (): /GstPipeline:pipeline0/GstTCPServerSink:tcpserversink0:
Failed to resolve host 'null': Error resolving 'null': Name or service not known
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
04/09/2020 18:56:54 Starting Custom
WARNING: erroneous pipeline: unexpected reference "gst-launch-1" - ignoring
TCP when it starts the camera -
04/09/2020 19:00:29 Starting picam
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstTCPServerSink:tcpserversink0: Could not open resource for reading.
Additional debug info:
gsttcpserversink.c(390): gst_tcp_server_sink_init_send (): /GstPipeline:pipeline0/GstTCPServerSink:tcpserversink0:
Failed to resolve host 'null': Error resolving 'null': Name or service not known
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
UDP when it doesnt start the camera -
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, width=(int)1280, height=(int)720, framerate=(fraction)0/1, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, profile=(string)high, level=(string)4, codec_data=(buffer)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee025cb0
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)640028, sprop-parameter-sets=(string)"J2QAKKwrQCgC3QDxImo\=\,KO4CXLA\=", payload=(int)96, ssrc=(uint)2129264126, timestamp-offset=(uint)1361476610, seqnum-offset=(uint)4759
/GstPipeline:pipeline0/GstMultiUDPSink:multiudpsink0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)640028, sprop-parameter-sets=(string)"J2QAKKwrQCgC3QDxImo\=\,KO4CXLA\=", payload=(int)96, ssrc=(uint)2129264126, timestamp-offset=(uint)1361476610, seqnum-offset=(uint)4759
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:sink: caps = video/x-h264, width=(int)1280, height=(int)720, framerate=(fraction)0/1, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, profile=(string)high, level=(string)4, codec_data=(buffer)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee025cb0
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0: timestamp = 1361476610
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0: seqnum = 4759
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
UDP when it does start the camera -
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, width=(int)1280, height=(int)720, framerate=(fraction)0/1, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, profile=(string)high, level=(string)4, codec_data=(buffer)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee025cb0
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)640028, sprop-parameter-sets=(string)"J2QAKKwrQCgC3QDxImo\=\,KO4CXLA\=", payload=(int)96, ssrc=(uint)48069929, timestamp-offset=(uint)3533003412, seqnum-offset=(uint)14331
/GstPipeline:pipeline0/GstMultiUDPSink:multiudpsink0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)640028, sprop-parameter-sets=(string)"J2QAKKwrQCgC3QDxImo\=\,KO4CXLA\=", payload=(int)96, ssrc=(uint)48069929, timestamp-offset=(uint)3533003412, seqnum-offset=(uint)14331
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:sink: caps = video/x-h264, width=(int)1280, height=(int)720, framerate=(fraction)0/1, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, profile=(string)high, level=(string)4, codec_data=(buffer)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee025cb0
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0: timestamp = 3533003412
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0: seqnum = 14331
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock