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).