Start_video_streaming fails when connected through SkyController

I am using the Olympe SDK to connect to my Anafi Drone. When connecting directly to the Drone I can call start_video_streaming and get streaming callbacks, however when connecting through a SkyController I get an error in the logs:

14:51:28.440 Unable to enable legacy video streaming
14:51:28.440 Result ReturnTuple(OK=False, message='Unable to enable legacy video streaming', value=None, error_code=3) 

Other command such as startRecording and stopRecording works fine in both cases.

I am using Olympe SDK 1.2.0.

I’m also seeing this when trying to connect using the SkyController.


Thank you for reporting this issue.
We’re currently working on a fix but in the meantime could you try the following workaround ?
Please try the following method to connect to your SkyCtrl3:
drone = olympe.Drone("", is_skyctrl=True, drone_type=2324)


I get the same problem using the suggested workaround.

Kind regards

I think this is the line causing the problem:

If I understand things correctly this causes legacy streaming to be enabled for the Anafi drone when connected through the SkyController.

I am managed to workaround the problem by overriding the connect method and creating Pdraw with legacy set to False.

def connect(self):
    # The legacy flag is set to True when connecting through
    # a SkyController in the original method.
    # This forces it to False to fix streadming video in this case.
    self._pdraw = Pdraw(
1 Like