0

I used djitellopy library to control my Tello drone.

But the problem is the latency of the video stream.

This is the minimal example of video streaming with Tello drone:

from djitellopy import tello
import cv2


drone = tello.Tello()
drone.connect()
drone.streamon()

while True:
    img = drone.get_frame_read().frame
    cv2.imshow('stream', img)
    cv2.waitKey(1)

I really appreciate it if there are any viable solutions and not just suggestions.

Zain Ahmed
  • 17
  • 4
  • I’m not familiar with this module but is it possible that the get_frame_read().frame function has to send a request to the drone every time? Maybe if there is a method that causes the drone to send all the data to the program instead of responding to requests it would reduce the latency, possible similar to the (admittedly downvoted) answer on this post: https://stackoverflow.com/a/68420408/11072533 – Cmd858 Apr 17 '22 at 16:15
  • *how much* latency are you getting and what does DJI promise you? – Christoph Rackwitz Apr 17 '22 at 16:30
  • Over 0.5 seconds when I stream with DJI Tello's official library, I expected the delay to be less than 0.1 seconds. – Zain Ahmed Apr 18 '22 at 13:03
  • I have already tried the other code. It's very nice, but it sells out all the good features and some are essential to my project. One particular is velocity measurements. I want my drone to measure velocity so the controller I've created does not crashes into walls and obstacles and not drift away from target it has detected, in my case: the aruco markers. – Zain Ahmed Apr 18 '22 at 13:06
  • I've already tried that code, but that uses another library which lacks the features. – Zain Ahmed Apr 20 '22 at 12:42

0 Answers0