We need an Anafi category
Is there way to host the Anafi live stream in a player such as VLC similar to what is offered on the Mambo? I see there is an RTSP listener on port 554.
Thanks in advance.
We need an Anafi category
Is there way to host the Anafi live stream in a player such as VLC similar to what is offered on the Mambo? I see there is an RTSP listener on port 554.
Thanks in advance.
Yes, you can use RTSP to get a video stream from an Anafi:
vlc rtsp://anafi.local/live
With that said, there is a slightly better option: Get the video stream from the SkyController3 !
Connecting the SkyController3 to your computer with the USB-C cable (with no smartphone connected) should create an RNDIS interface on your computer (linux shoud work out of the box, Windows requires a driver install, and to my knowledge there is no RNDIS driver available on macOS )
With the SkyController3 connected, you can just change the address of the stream to the one of the SkyController:
vlc rtsp://192.168.53.1/live
And get the same result.
So what Iâd like to do is control the drone via the SkyController, while simultaneously feeding the live video to a perception pipeline. Ideally, Iâd want the operator to use video on the SkyController, while simultaneously also streaming to a PC. It looks like this is not possible, however.
Next best option would be using the SkyController for control and the video shown on the PC monitor via RTSP. However, so far my testing with VLC and gstreamer shows significant latency, making controlling the drone infeasible. If you have any suggestions to improve the situation, they would be welcome.
Hi,
You can try to reduce the latency in VLC by changing the âNetwork Cachingâ setting (in Tools > Preferences > Check âAllâ at the bottom > Input / Codecs) from the default 1s value to a lower value. Doing this also reduces the stream resiliency, so expect to see more artifacts than with the longer setting.
Regards,
Nicolas.
Hello Nicolas,
I can connect a skycontroller 2 via a USB hub on an Android smartphone with FreeFligh and a USB Ethernet adapter to recover the video stream.
Is it possible to do the same with a skycontroller 3?
Thanks in advance.
Hi,
Yes. if your USB-Eth adapter works on a SkyController 2, it should work on a SkyController 3 too, with the same setup
Regards,
Nicolas.
Thank you Nicolas for your quick response.
Also, in an old post you were talking about a wiki where all USB ethernet dongles that work will be referenced.
Does this wiki exist?
The firmware of sky controller 2 is currently at version 1.0.9.
What are supported dongles / chipsets?
I am currently using an apple dongle.
The broadcast address of the image is in http for sky 2 and in rtmp for sky 3. Is the broadcast flow different between the two models of sky controller?
Thanks again.
Hi,
Unfortunately, the wiki does not exists because we never took the time to test a whole lot of devices. Note that the usb-ethernet functionality of the SkyControllers is not a core feature, and thus will probably never have a complete compatibility list.
As stated previously, we use Trendnet TU2-ET100 adapters, which do work on every SkyController models (latest firmwares), and most (if not all) USB 2.0 hubs should work too.
If your adapter works on a SkyController 2, if should work on the 3. (The opposite is not true !)
Regarding the protocols, both generations (Bebop 2 + Sky 2, and Anafi + Sky 3) are using RTP for actual video transmission, but they differ in their session creation protocol:
For more informations about the protocols used in an Anafi + SkyController 3 setup, you can refer to the PDrAW documentation.
Regards,
Nicolas.
Merci Nicolas
Hi Nicolas
I have a sky 2 for a bebop and a sky 3 for an Anafi.
When I get the video stream by VLC, everything is fine (respectively by http and RTSP)
But when I try with mplayer or omxplayer (on raspberry) I got this error message:
With mplayer:
[ffmpeg/demuxer] sdp: getaddrinfo(addr:192.168.53.1): Name or service not known
[ffmpeg/demuxer] sdp: getnameinfo: ai_family not supported
[lavf] avformat_open_input() failed
Failed to recognize file format.
And with omxplayer:
[sdp @ 0x4d6a30] getaddrinfo(addr:192.168.53.1): Name or service not known
[sdp @ 0x4d6a30] getnameinfo: ai_family not supported
The sky controller get their ip by DHCP (here 192.168.1.127).
I tried to disable DHCP but a network scan by nmap does not detect them.
It seems that it is necessary to assign an IP by DHCP.
Can you confirm it to me ?
In this case why is the IP 192.168.53.1 displayed in the error message?
I even tried giving them this IP in DHCP but I got the same error message.
Can you Help me ?
Regards,
Olivier
Hi,
When the SkyController is connected to a network (via usb-eth dongle or directly through the USB-C port for the Sky3), it will search the network for a DHCP server, and if no DHCP server is found, it will start its own. This is done to avoid conflicts if the SkyController is connected to an existing network instead of creating its own.
This means that, in the case your network already has a DHCP server, the SkyController will not use its default 192.168.53.1
address. This also means that you will need to find its real IP address, and use it in your video player command line:
If your SkyController gets assigned the 192.168.1.127
address, then running mplayer rtsp://192.168.1.127/live
should work.
Regards,
Nicolas.
Hi Nicolas,
Mplayer work with `rtsp://192.168.1.127/live.
But mplayer does not work with sky controller 2.
Iâve set the ip 192.168.53.1 on the sky 2.
Wireshark shows a different http header if VLC or Mplayer is used.
Mplayer - GET:
GET /video HTTP/1.1
Host: 192.168.53.1:7711
Connection: close
Accept-Charset: ISO-8859-1,utf-8;q=0.7,;q=0.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/*;q=0.8
Accept-Encoding: *
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)
Accept-Language: en-us,en;q=0.5
So, mplayer send a head request (but not VLC):
Mplayer - HEAD:
HEAD /video HTTP/1.1
Host: 192.168.53.1:7711
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)
Connection: close
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Language: en-us,en;q=0.5
VLC - GET:
GET /video HTTP/1.0
Host: 192.168.53.1:7711
User-Agent: VLC/3.0.6 LibVLC/3.0.6
Icy-MetaData: 1
Why is the mplayer http trigger different from VLC?
Is it a house trigger?
In this case why does VLC know how to manage it?
Do you know how can I handle this with mplayer?
I try this command but itâs no ok.
#!/bin/bash
curl -H "Accept-Language: fr" -H "User-Agent: VLC/3.0.6 LibVLC/3.0.6" -H "Range: bytes=0-" http://192.168.53.1:7711/video
curl -H "User-Agent: VLC/3.0.6 LibVLC/3.0.6" -H "Icy-MetaData: 1" -H "Accept:" http://192.168.53.1:7711/video | mplayer -
The goal is to develop a professional application âPlug and Playâ streaming video to a network independent of the skycontrolleur used because our park is composed of bebop and anafi.
Thanks again.
Hi,
It seems that mplayer
does not understand properly the SDP document we provide through the http request. I was able to get a stream with the following method:
wget http://192.168.53.1/video; sed -i 's/addr://' video; mplayer video
Regards,
Nicolas.
I had luck connecting to livestream on a Mac with the following gstreamer pipeline:
gst-launch-1.0 rtspsrc location=rtsp://anafi.local/live latency=0 ! queue ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw,width=640,height=480 ! autovideosink
Hi Nicolas,
Is it possible to use exiftool to extract streamed metadata from Parrotâs RTP old and new generation ?
(https://exiftool.org/TagNames/Parrot.html)
Maybe with piping ? (https://exiftool.org/exiftool_pod.html#curl--s-http:-a.domain.com-bigfile.jpg-exiftool--fast)
My objective is to obtained metadata in real time regardless the type of Drone.
Regards,
Pierre