Parrot Anafi SDK



Are you going to make available the SDK for Anafi too?
Thank you

Best Regards
Auriga Team



Yes a brand new sdk will be available. I have no release date about it but be assured that we are working hard on it to have it ready as soon as possible.
In short, this new sdk will be a lot easier to use.
Stay tuned for more information :slight_smile:


Are you going to be changing the underlying byte level commands? Hoping not too much so that my XML parser still works :slight_smile:



The underlying protocol remains the same :wink: We will just expose a more “high level” SDK for mobile applications (i.e. the commands in the xml won’t map one to one to the SDK API). Any dev made for bebop should be usable for Anafi with only a few commands tweaks (I’ll probably do an update to my own python-based projects as an example :wink: )

Oh, and the video is RTSP now, like for the Mambo FPV !



Ok cool. If I can get one (won’t be right away), I can hopefully support it in pyparrot then :slight_smile:


I’m pretty sure that Anafi will be supported by our simulator at some point (we already have it internally :smiley: , but it might require some cleanup & optimisation for the public release), for easy testing without an actual hardware.


Interesting. I’ve never tried testing my python hooks into the simulator. I just fly! But that is a good idea.


@Djavan Anychance of the anafi being PX4 compatible?


Any update on the SDK release date?



I just pushed an update of bybop with a really crude Anafi & SkyController 3 support, to show that the protocol is still the same.

It’s not really usable for now because some of the commands that Anafi uses are not yet published in the github arsdk-xml repository. Most of the flight commands are similar between Anafi & Bebop, but most of the other commands (camera / recording / wifi …) are different.



awesome. When will the SDK xml commands get updated?


Thank you for the update!


Sorry to be a pest but hows it going?

I really want to test the Anafi out with my companies controller!


I’ve been playing with this on the native side and am curious to know how the SC3 is being managed. By looking over the bybop source it looks like it is relying on a traditional IP connection.

Does it support mux and pomp as well? I’ve noticed some problems in libpomp’s pomp_msg_read method (segfaults) and was curious what some of the differences are between it and the SC2.

Another area where I have some questions is around video and the anafi. For simplicity, let’s assume the client is connected directly to the Anafi. Is its rstp implementation consistent with the mambo’s from a networkconfiguration perspective? I half expected the below to just work:

    networkConfiguration->hasVideo = 1;
    networkConfiguration->streamType = ARDISCOVERY_STREAM_STARTSTOP_RTSP;
    networkConfiguration->rtspAddress = strdup("rtsp://");



SC3 works exactly like a SC2 did : It supports either a libmux connection over USB (like FreeFlight does), or a ‘standard’ connection over IP. The only (but major for some people) difference is that you can get the USB-Net connection directly from the USB-C connector, without having to find a compliant USB-Ethernet adapter :wink:

Getting the Anafi video with libARController with the configuration you posted might work, but this won’t be the “official” way to connect to an Anafi through the SDK:
We actually rewrote the entire video pipeline for the Anafi, and this new implementation will be released alongside the new SDK.

Talking about the SDK … I can’t provide any release date yet, simply because we don’t have a release planning done yet (this takes a lot of time, and most of our devs are busy with the post-launch firmware & app updates). Be assured that we will post news here when we will know more!



bummer … seeing if I can fix this:

I/librtsp: connecting to URL 'rtsp://'
I/librtsp: client connected
E/librtsp: RTSP status 500: Internal Server Error
E/librtsp: failed to parse response header
E/librtsp: failed to get reply
I/librtsp: client disconnected


Here’s the full conversation:

OPTIONS rtsp:// RTSP/1.0
Cseq: 1
User-Agent: librtsp_client

RTSP/1.0 200 OK
Cseq: 1
Date: Fri, 24 Aug 2018 23:44:20 GMT
Server: Parrot Streaming Server
Content-Length: 0

DESCRIBE rtsp:// RTSP/1.0
Cseq: 2
User-Agent: librtsp_client
Accept: application/sdp

RTSP/1.0 200 OK
Cseq: 2
Date: Fri, 24 Aug 2018 23:45:10 GMT
Content-Type: application/sdp
Server: Parrot Streaming Server
Content-Length: 222
Content-Base: rtsp://
o=- 7749363893351949254 1 IN IP4
c=IN IP4
t=0 0
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000

SETUP rtsp:// RTSP/1.0
Cseq: 3
User-Agent: librtsp_client
Transport: RTP/AVP;unicast;client_port=55004-55005

RTSP/1.0 500 Internal Server Error
Cseq: 3
Date: Fri, 24 Aug 2018 23:48:07 GMT
Server: Parrot Streaming Server
Content-Length: 0


ok… making progress I’ve got the stream going now… was missing an all too critical /

      networkConfiguration->hasVideo = 1;
      networkConfiguration->streamType = ARDISCOVERY_STREAM_STARTSTOP_RTSP;
      networkConfiguration->rtspAddress = strdup("rtsp://");

The video stream state events from libARController are not firing, but progress!


any news about the release date of Anafi SDK?


What are you using to make this connection? Are you using the current Bebop2 SDK(3)?