Get video stream from Android connected to Sky Controller 3

Hi everyone.

I’m trying to do a lab in Android to get the video stream from a sky controller 3 connected to the drone.

I was reading the ground sdk api documentation but I didn’t found how I can get the video from a RemoteControl device.

Can anyone help me with guidance about this topic.

Thanks

Hi,

RemoteControl devices do not provide access to any video stream.
Instead, you need to obtain the Drone device that is connected to your SkyController3.
Then, you need to query the StreamServer peripheral from that Drone device. Using the StreamServer API, you have access to the CameraLive instance that represents the live video stream from the connected drone.
You can then plug this CameraLive object into a GsdkStreamView (see GsdkStreamView#setStream method), which is an android Widget that is able to render the stream on screen.

Regards

Hi @mvinel, thanks for your answer.

According to that I read in the API, RemoteControl has a DroneFinder Peripheral. This interface has a method getDiscoveredDrones() that returns a list of DroneFinder.DiscoveredDrone.

DiscoveredDrone doesn’t has a method to get the reference to a Drone class. Instead, this has a method to obtain the uid, along with others attributes.

The GroundSdk class has a method, ‘getDrone​(String uid)’ thats get a drone by uid.

Is valid to do this to get the drone instance?, for example:

GroundSdk.getDrone(RemoteControl->DroneFinder->getDiscoveredDrones()[0]->getUid())

Thanks for your attention

Yes, this should work.

This would probably work.