Hello Fellow Yuneec Pilot!
Join our free Yuneec community and remove this annoying banner!
Sign up

New Yuneec SDK Information

  • Thread starter Thread starter Rayray
  • Start date Start date
  • Tags Tags
    sdk
R

Rayray

Guest
I know many of you have been discussing the possibility of Yuneec providing SDKs.
Yuneec does indeed listen to customers. Take a look here...
Home | YUNEEC
 
The SDK only supports the H520 drone. There will not be an SDK for any Yuneec drone except commercial drones starting with the H520 and future commercial versions.
 
I think there will still be a chance to get something out of the SDK which can be used on other platforms. However, Yuneec still has plenty to do, if they actually want to have developers on their H520 platform anyway. I was happy to see, that the SDK is publicly available without limitations, but on the second glance I saw that there is not much work on it. Just an example: The video link is in my opinion the most important feature of a camera drone but they are not able to provide a library which eliminates the video delay so that you have real "real time" video. Their player is based on the ijkplayer, which I use also. But it is known for more than two years, that this player has a huge delay of 2 seconds or more.

It is a bit annoying, they wont support other platforms. I still have a Q and an upgrade to H is too expensive for me. The 520 is far out of my budget. So, building my on SDK will still be the only option. Too sad.
 
I think there will still be a chance to get something out of the SDK which can be used on other platforms. However, Yuneec still has plenty to do, if they actually want to have developers on their H520 platform anyway. I was happy to see, that the SDK is publicly available without limitations, but on the second glance I saw that there is not much work on it. Just an example: The video link is in my opinion the most important feature of a camera drone but they are not able to provide a library which eliminates the video delay so that you have real "real time" video. Their player is based on the ijkplayer, which I use also. But it is known for more than two years, that this player has a huge delay of 2 seconds or more.

It is a bit annoying, they wont support other platforms. I still have a Q and an upgrade to H is too expensive for me. The 520 is far out of my budget. So, building my on SDK will still be the only option. Too sad.

For the Q500, the rom has an APK named ST15FlightMode that handles 90% of the available functions. Within that APK is a foler named rtvPlayer which handles most of the camera functions. Within that folder are three classes named RTVPlayer.java, VLC.java, and FFmpeg.java
There are two integals in RTVPlayer.java that handle the selection of the video player/streamer.
public static final int PLAYER_FFMPEG = 2;
public static final int PLAYER_VLC = 1;

In the Values of that APK for selection of the video player, it is set to 2, so the video player being used is FFmpeg
<integer name="def_camera_type_position">2</integer>

VLC would be a very nice upgrade and only requires changing a single digit.
Since none of the Yuneec code implements a stream buffer, but rather relies on the defaults of the video player, and seeing as FFmpeg native buffer is 5 * 1000ms for low rate and 2 * 1000ms for normal rate, we would always have a minimum of 2 seconds delay. VLC on the other hand is more suited for streaming with its native 0 stream buffer which should decrease the latency to whatever the wifi rx and tx can handle. I also saw somewhere in the code that for EU, the tx power is set to 7.4mw and US to 18mw even though the tx supports 28mw. Another simple change of a few digits to triple the range of the camera.
I'll post the code for these classes so others can scrutinize it as well.
 
VLC is only used for the media player, which never have been implemented on the ST10+. I think it was planned to have a media browser on the ST10 to download or watch the files taken by the Q. However, switching from FFMPEG to VLC wont help, because the other parameters send to VLC are not optimized for real time streaming, so it uses default buffering, which is far more than 2 seconds in delay...

I fixed the video player to have as little as 300 to 500ms in absolute delay by patching the ijkplayer in my app (took me approx. 2 years to figure it out how to do that, because I am a total wally with ffmpeg).

By the way: the tx power is set to that amount to radio regulations in the EU, so setting it to a somewhat higher value is prohibited. I don't know about regulations in the US. It would be more interesting to upgrade the ST10 or ST16 with the proxy function of the H520, so you can connect your phone to the remote and use its antennas. Haven't had much time yet to dig deeper into the UARTController.
 
Yuneec has a great platform for app development. The controller is a 7" Android tablet. That is perfect. It beats DJI but DJI has third-party software available. Yuneec needs to have an SDK for the Q500 and Typhoon H.
 

New Posts

Members online

No members online now.

Forum statistics

Threads
21,187
Messages
244,311
Members
27,963
Latest member
kingbst