Skycontroller 2 - Wifi and HDMI out


#8

Hi,

The first thing to check is whether you have an IP address on your computer, if not, it might be an adapter issue.

What’s the brand/model of the network adapter that you’re using with the SkyController 2 ? We tried to include drivers for most USB-Ethernet devices, but we may have missed some. For reference, we use the TrendNet TU2-ET100 adapters at work, but we tested many others.

If you’re using the new 1.0.4 Version of the SkyController 2 (or newer), we changed the IP range from 192.168.43.0/24 to 192.168.53.0/24, so if your ip is in the new range, you have to use the proper address (i.e. http://192.168.53.1:7711/video)

Hope this solves your problem :wink:

Regards,
Nicolas.


#9

Hi @Nicolas thank you for your detailed reply. This has helped. I can confirm, it is not working with Gigabit Ethernet adaptor, only with 10/100 Mps like Trendnet. Thank you for clarifying.

Why the change of IP addresses? Will this change be cascading through to all Skycontrollers2 in market, with the latest firmware or will some be stuck with 43.0 and others with 53.0?

Will the Disco and Bebop2 also running on new IP addresses then? Or are they staying on 42.1

Final question: I noticed the stream can be sent only up to 720p -> Is there any way to increase this to e.g. 1080p for shorter distance higher quality streaming?


#10

Hi,

The change will be applied on all SkyController 2 when they’re updated to 1.0.4 version. We have no plan to change it again.

The change was made from internal requirements (we used 43.x for all “debug” network on our products, so it was hard to have both a Drone & a SkyController 2 in debug mode on the same computer, so we decided to shift the SkyControllers to 53.x)

Regarding the streaming resolution, you can’t increase past 720p on current firmwares :wink:

Regards,
Nicolas.


#12

Hi,

Here are some answers:

Q1: The ARStream2 protocol is basically a simplified implementation of RTP (and thus should be directly compatible with any RTP player !)

Q2: The application note documentation is quite old, but used with the latest version of the SDK, it should work fine. To use the latest version instead of the 3.9 release, change the repo init line to the following:
repo init -u https://github.com/Parrot-Developers/arsdk_manifests.git, then rebuild the SDK. By doing this, you’ll also have to add -lmux -lpomp at the end of line 5 of the BebopStreamVLC Makefile. (Hopefully, these changes will be pushed one day ;))

Q3: That’s exactly the point of the BebopStreamVLC application note!
Because the ARStream2 protocol is RTP-compatible, you can use any RTP-compatible player.
The BebopStreamVLC binary is necessary because the Drone will only Stream to an ARSDK-connected device. This program basically connects to the Drone at the libARDiscovery/libARNetwork level (lower than libARController, which does open the video socket) and send a startStream command. While this process is running, you can open the socket and read the RTP packets from any other process!

On a side note, the SkyController 2 makes this process even easier as I described in this thread: only the RTP stream is forwarded, and thus no additional software is required. The downside is that you can NOT have an ARSDK connection between a PC and a SkyController 2.

Q4: Sadly, you can’t. The protocol we use between a smartphone (iOS/Android) application and the SkyController 2 heavily depends on the possibility to create a bulk USB channel between the two devices. There is no networking involved at all, so an USB-Ethernet solution won’t work (it will work for RTP video forwarding, but not for actual ARSDK connection).

Regards,
Nicolas.


#14

Hi,

When I talk about the ARSDK connection in my previous message, think of it in term of protocol (i.e. your Python implementation of the protocols is an ARSDK connection to the drone), not in term of library used :wink:

Regarding the Streaming issues, you can check the following things:

  • Use the application note bebop.sdp file to open the stream (vlc bebop.sdp &)
  • Check that you pass the proper values to the "arstream2_client_stream_port" and "arstream2_client_control_port" keys in the discovery JSON. The values should be 55004 and 55005 respectively if you use our .sdp file.

This should ensure that the drone uses the good streaming protocol (if the json keys are missing, then the drone will use the legacy ARStream1 protocol, if available), and use the good destination ports (55004/55005, as specified in the sdp file)

Regards,
Nicolas.


#15

Hello Nicolas,

I am trying to connect the skycontroller to my computer thanks to the USB-Ethernet Essentiel B - https://www.boulanger.com/ref/8002813
Is the driver AX88772A Windows 7 Drivers included in the Skycontroller??
If not how can I include them? Thanks


#16

I continue to try various USB to Ethernet cables, the Dlink Gigabit cable does not work, https://www.dlink.com.au/home-solutions/usb-3-0-to-gigabit-ethernet-adapter
nor does the YN-8407 100 MB/s.

Maybe a better question is which USB-Ethernet are compatible? - can you publish a list please.


#17

Hi,

After a quick check, here is the status:
In the current software version (1.0.4), the usb-ethernet driver is only loaded for 2 different USB devices:

  • The trendnet one I talked about in a previous reply (usb vid 0x0b95 / pid 0x7720)
  • The D-Link DUB-E100 (usb vid 0x2001 / pid 0x3c05) … which does not seem to be the “current” DUB-E100 on the dlink website. The current one should work if (& only if) they did not change the USB vid/pid pair.

Any different device won’t work because we just don’t load the asix driver automatically.

I’ll try to push a change for the 1.0.5 version with the asix driver loaded during boot, so hopefully the 1.0.5 version will add support for most of the USB-Ethernet dongles supported by this driver. (but I can’t give a date for the release of the 1.0.5)

Thanks for reporting the issue !

Regards,
Nicolas.


#18

Okay - this makes things clearer - spent so much time trying to figure out what is wrong with all these connectors. Now it makes sense. Would be excellent to have the asix driver loaded during boot to support more usb-ethernet devices. Thanks for including it in your next release.


#19

Thanks a lot for your answers. I now have the TrendNet usb TU2-ET100 (old version) and new version but only the old version is working( don’t know why) . Finally , I succeed to execute the bebopstartstream program and obtain successful connection from Sky1 to PC Ubuntu 16.04 but I got an error "ARCOMMANDS_Decoder_DecodeBuffer () Failed. I have modified the bebop.sdp file as following:
c=IN IP4 192.168.53.1
m=video 5004 RTP/AVP 96
a=rtpmap:96 H264/90000

Is there something wrong? Or did I miss some configuration steps for Using the TrendNet USB-ETH adapter ? thanks


#20

Is it possible to get live view on an image projector via usb-vga adapter, similary to hdmi-vga adaper in case of SkyController 1?


#21

Hi @Nicolas - any projection of when you will release firmware 1.0.5 and we will have wider support for the USB-Ethernet cables? It would really help us a lot with our development efforts. Working with Skycontroller 1 is so old school :0 I would love to use my usb-ethernet adapters and work with SC2. Thanks for your continued efforts to keep all of us updated.


#22

Hi,

I can’t give you any date for the 1.0.5, but I can give more details about the USB-Ethernet compatibility:

I tested a lot of adapters ont a 1.0.5 beta version during the last few weeks, and here are the results. We use a 3.4.11 kernel (we won’t change that as it might have impact on the wifi driver), on which the asix driver (for the most common usb-eth adapters) does not support either gigabit nor usb3 adapters.
Basically, any “asix based, USB2.0 10/100 Mbps” adapter should work (like the previously mentionned trendnet one, or the apple one … with probably many others).
The best I can do after that is create a wiki post on this forum with a list of Parrot or community tested adapters :wink:

But if you can get a working usb-eth adapter for your SkyController 2, there will be more than just the video stream to enjoy on the 1.0.5 (or whatever it actually ends to be called) :wink:

Regards,
Nicolas.


SkyController 2 Questions
#23

Ah - the mention of the apple usb-ethernet cable compatibility is great, I thought that was discontinued as it was so slow. - I will buy one tomorrow and test. thx.
Looking forward to the fun surprises for the 1.0.5 version - one of the best ones would be to have higher quality video streaming out of SC2 at e.g. 720p or 1080p :wink:


#24

You can already have a 720p video stream !

There is the SetVideoResolution command, which allows you to toggle between the “normal” 1080p recording + 480p streaming, and a 720p recording + 720p streaming mode.
The encoder can not handle one 1080p record + a 720p stream at the same time, so increasing the streaming resolution has to reduce the record resolution.

Please note that the “streamed” 720p il still at a lower quality (both in h.264 profile and bandwidth) than the recorded one, but it will be better than the 480p :wink:

FYI, this mode is enabled by FreeFlight when using the Cockpit Glasses, to improve the FPV experience.

Regards,
Nicolas.


#25

Hello dear developers and skilled people.

can you help me, how to stream the live video of BEBOP2 to an other device, like other tablet or notebook (then with notebook I will be able to project it with a projector)

now I use bebop2, with android (6) device.

I use as a range extender a TP-link TL-WA830RE.

in the case I use range extender, I set the range extender to “extend” the bebop2 range, then I connect with phone to the range extender too.

so it is… BEBOP2 -------range extender--------phone.

I also got a new skycontroller2 from my friend, for testing (sadly his bebop2 fell into a lake :frowning: )

what would be my options when I use only skycontroller2, in that case of course no TP link range extender? (to get to the video stream?)

and also, I do not really understand the way skycontroller 2 works.

“in the case I wanted” to use range extender and the skycontroller 2 simultaneously, how ould I do that? I do not see any wifi of the skycontroller2.

thx for your answers.

Marton.


#26

Hi Nicolas
I just got back into Parrot flying with some Disco Agri gigs.

I have two specific questions:
a) On my iphone it says my Skycontroller 2 is ‘up-to-date’ with 1.0.4, but there must be a 1.0.5 version - in the developer forums and your API documentation, you say that 1.0.5 is released and available.

So how can I update my Skycontroller2 to v1.0.5?

b) I connected a usb/ethernet cable to my Skycontroller2 (192.168.53.1) and can stream from BEBOP2 and Skycontroller2 to vlc or to ffmpeg with this setting in sdp:
c=IN IP4 192.168.43.1

m=video 55004 RTP/AVP 96·

a=rtpmap:96 H264/90000

c) HOWEVER, when I try the same with my Disco drone, ffmpeg does not receive any stream? I know Disco is not 'offical supported in the SDK yet - however the video must come through some ip/port - which one is it?

I tried 192.168.53.1 and 55004, but this does not pick up any stream either.

What can I do to stream video from SC2 via usb/Ethernet from Disco like I do with Bebop2? What is the difference?

One last note: My ethernet/usb cable is good, as I can ping 192.168.53.1 and I get packets back.
This address you suggested for commencing Disco stream via ethernet and VLC does however not work either http://192.168.53.1:7711/video

Must be some setting of IP or port for Disco?
Thanks so much for your help


#27

So I’ve just purchased the Parrot Disco, and I would like to have some kind of stream available while I’m flying, maybe to a TV, so other’s can see as well.
Considering what’s written in this thread, is this possible? Is this about connecting an USB ethernet adapter to Skycontroller 2, and then through an RTP client show the video on a computer?
But how about the iPad/iPhone you’re supposed to fly with…? It’s not possible to do both?
I guess USB hub won’t work?..or…?

How about Apple Ethernet adapter -> Wireless AP -> Multiple WLAN RTP clients?
I’d like one to be a tablet (preferably iPad) I fly from, another could be Kodi or VLC connected to the TV (or can AppleTV read RTP URLs?)


#28

Hello!

I have a Skycontroller 2 from Parrot disco and want to connect it to my PC to get the video feed on a large display so I bought Dlink DUB-E100 USB2ETHERNET adapter as was suggested here.

I connect it to usb port in Skycontroller 2 and nothing happens, the adapter just doesn’t start up at all, the link led is off… :frowning:

I tried to connect adapter to PC to ensure it is not damaged - and all was fine - virtual adapter appeared and connection was established. So the adapter hardware is working fine.

What am I doing wrong? Please help)

Thanks!!!


#29

Guys, I solved my problem, buying another usb2ethernet stick - BITES USB 2.0 LAN.
So i succesfully caught stream in VLC player but with about 330ms delay. The quality of streaming is good.

To decrease the latency I tried to view the stream with gstreamer like this:

gst-launch-1.0 -v -e udpsrc port=55004 ! “application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, framerate=24/1” ! rtph264depay ! decodebin ! videoconvert ! autovideosink sync=false

I get the video feed, it is with almost no delay, but it is very glitchy and pixelized, looks like some stream parameters are not synchronized… Maybe someone tried to get the video with gstreamer?