Using GStreamer with Jetson Nano to replace Raspberry

Hi @MemeOverload, welcome to the forum :slight_smile:

It’s definitely better to use gstreamer or ffmpeg or similar here, reading in the data with Python (and especially decoding + re-encoding it with OpenCV) will certainly slow things down unnecessarily. The only reason you might want Python+OpenCV involved is if you want to do some processing on the video, otherwise I’d recommend one of the other alternatives for receiving a stream.

On our stable Companion software

  1. .companion.rc starts the video service
  2. streamer.py is in charge of restarting the video stream if it fails/closes
  3. start_video.sh confirms the camera is valid and working and starts the gstreamer pipeline

In our new Companion Beta software

  1. core runs the mavlink camera manager tool
  2. the camera manager handles video streams, and presents them via MAVLink to the ground control station for switching between them (requires the QGC master, and requires the user to specify which cameras they want to stream, via the web interface)