How to Add a Drone
To add a drone or other streaming camera (such as CCTV, bodycams, or IP cameras) to an Eyeson call, you'll need to convert the video stream to WebRTC protocol. Here's how to accomplish this.
TL;DR
- Download the appropriate Ghost binary for your platform from our Github repository
- Determine your IPv4 address
- Run the binary with the desired flags
- Configure your drone to stream to the endpoint defined by the flags
Your IP Address
Depending on your platform, there are different ways to find your unique IP address. Run the appropriate command below and look for IPv4 (Windows) or inet (Linux/macOS) in the output.
- linux
- windows
- macos
ip addr show
ipconfig
ifconfig
Ghost Client
You can use the Ghost client in various ways. You can run it directly with an API key or you can connect to a running meeting with a Guest Link. Here are some examples to try out. For more visit our Github examples.
Start a Room & connect
rtmp-server --user-id drone01 --room-id mission01 --rtmp-listen-addr rtmp://<IP_ADDR>:1935 <API_KEY>
14:14:35.008 INF Guest-link: https://app.eyeson.team/?guest=UD3WR7D2MaJRCPcF3BAMPZQ2
14:14:35.095 INF GUI-link: https://app.eyeson.team/?3DYacQpPcCmsl8xUfWAU7fWH
14:14:40.249 INF ICE Connection State has changed: checking
14:14:40.790 INF ICE Connection State has changed: connected
14:14:40.790 INF RTMP server listening: rtmp://192.168.0.1:1935/eyeson/drone
This creates a new room with the ID mission01. The drone is assigned a unique identifierdrone01, which can be used to control or modify its layout later.
Don't forget to make the binary executable on your platform. On Windows add .exe to the binary name & on Linux use chmod etc.
Connect a Drone to the same room
rtmp-server --user-id drone02 --room-id mission01 --rtmp-listen-addr rtmp://<IP_ADDR>:1935 <API_KEY>
We use the same room ID, mission01, so the drone connects to the running meeting.
Connect a Drone with Guest Link
rtmp-server --user-id drone03 --rtmp-listen-addr rtmp://<IP_ADDR>:1935 <GUEST_LINK>
If your are in a running meeting but don't know the room ID, you can just use the Guest Link of that room.
In the browser, you just have to Shift + i to copy the link. Or you go to the left side menu bar of the default UI and copy the link.
If you own a Stream Deck, Eyeson offers a very easy way to do all of this by one button click. You can get the Eyeson Plugin for Stream Deck here.
Stream from your drone
Configure your drone's streaming feature to point to your device's IP address.
Most of the drone apps provide a custom streaming option, typically offering RTMP or RTSP.
Here is some examples:
rtmp://192.168.xx.xx:1935/eyeson/drone
- Protocol: RTMP
- local IP address: 192.168.xx.xx
- Port: 1935 (default; or any other unused port)
- Authentication: some platforms need a user name and a password
rtsp://name:password@192.168.xx.xx:554/stream1
- Protocol: RTSP
- Authentication: user name and a password
- local IP address: 192.168.xx.xx
- Port: 554 (or any other unused port)
- Resolution: HD (stream1 in this case)
Note that all streaming devices must have network connectivity to the Ghost server, either through local network access or properly configured public interfaces.
If you have no way to expose you network and provide a public IP address, you use apps like ngrok.
Remarks on Ghost
This implementation demonstrates adding an H.264 video stream to the call. The current version of Ghost specifically supports H.264 encoding. Since Ghost is open source, developers can extend it to support additional protocols, enabling integration with custom cameras or legacy systems.