Overview

Reveal Farsight is a third-party application that ingests live UAS video and telemetry and produces 2D map layers and 3D models at the edge, without a network connection to a cloud service. This article explains how to configure a Skydio X10 system to broadcast an RTSP video stream with KLV telemetry, and how to receive that stream in Farsight.

Two receiving configurations are covered:

  • Farsight running on the Skydio Controller. The Controller both hosts the stream and consumes it locally. This is the simplest configuration and requires no additional hardware beyond the Controller itself.
  • Farsight running on a separate device on the same network. The Controller broadcasts the stream, and Farsight connects to it across the local network.

Both receiving configurations work with either RTSP server mode available on the Controller:

  • Internal RTSP server — the Skydio Controller hosts the stream directly.
  • External RTSP server — the Controller pushes the stream to a video server already on your network, which then rebroadcasts it.

Note: Reveal Farsight is developed and supported by Reveal Technology, not Skydio. Skydio Support can assist with configuring the Skydio X10 and Controller. For questions about Farsight licensing, installation, processing settings, or output, contact Reveal at help@revealtech.ai.

Before you begin

Hardware

  • Skydio X10 or X10D
  • Skydio X10 Controller or Skydio Controller 2, unkiosked
  • USB-C to Ethernet adapter, if using a wired network connection (Dell, UNI, and Anker adapters are known-good options)
  • A separate end-user device (EUD) or computer, if you are running Farsight off-Controller
  • An external RTSP video server on the network, if you are using the external server configuration.

Software and licensing

  • Skydio X10 and Controller on a release that supports RTSP streaming with KLV telemetry 

We always recommend the latest release, See Skydio Release Notes

  • Controller-based RTSP streams with KLV are included in the X10D Core License. Confirm your license entitlement with your Skydio account team if KLV toggle does not appear.
  • Reveal Farsight installed on the receiving device, with a valid Farsight license
  • The Skydio Controller must be unkiosked in order to install and run Farsight on the Controller itself. See Unkiosk Mode on Skydio X10D.

Network

  • A DHCP-enabled network, unless static IP support has been enabled on the Controller
  • The Controller and the device running Farsight must be on the same reachable network
  • Firewall and routing rules must permit RTSP traffic on the stream port (8554 for the internal server)

DTED and KLV completeness

Some KLV fields — frame center, target position, ground intersection, and other terrain-relative values — are calculated from terrain elevation data. To populate these fields, DTED must be available to both the X10 and the Controller.

Without DTED, the system will still stream video and will still provide basic KLV metadata, but terrain-dependent fields may be missing or incomplete. If Farsight's georeferencing looks wrong or incomplete, DTED availability is the first thing to check. See How to use Crosshair Coordinates (DTED) on Skydio X10

Prepare the Controller

Step 1 — Unkiosk the Controller

Farsight is a third-party application and cannot be installed while the Controller is in Kiosk Mode. Kiosk Mode restricts the Controller to Skydio Flight Deck and blocks access to the underlying Android OS.

Follow the standard Skydio unkiosking procedure for your Controller before continuing. Once unkiosked, you have access to the Android launcher, system settings, and the ability to sideload applications.

Note: This step applies to both the X10 Controller and the Controller 2.

Step 2 — Install Farsight on the Controller

Install the Farsight APK provided by Reveal and complete Farsight licensing per Reveal's instructions. Skip this step if you are running Farsight on a separate EUD.

Step 3 — Connect the Controller to the network

Connect the Controller to the network that the receiving device is on.

  • Wired (recommended): Connect a USB-C to Ethernet adapter to the Controller and connect it to your network switch or router. Confirm the adapter LEDs indicate link and activity.
  • Wi-Fi: Connect the Controller to the network in Android settings.

Ethernet is strongly preferred. RTSP video is sensitive to jitter and packet loss, and congested Wi-Fi is the most common cause of unstable video in Farsight.

Special case — Farsight on the Controller only. If Farsight is running on the same Controller that hosts the stream, the stream never leaves the device and can be reached over the Controller's loopback address. The Controller still needs a valid IP address for the internal server to populate. If you are running Farsight on the Controller and it is the only consumer, a wired connection is not strictly required, but the internal server IP must still be present.

Step 4 — Power on and pair the X10

Power on the X10 and confirm it is paired and connected to the Controller in Flight Deck before configuring streaming.

Configure RTSP and KLV on the Controller

RTSP and KLV settings live in Flight Deck under Global Settings > Sharing.

For full detail on every RTSP setting, supported standards, and static IP configuration, see How to set up RTSP and Telemetry Streaming on the Skydio X10/X10D. The steps below cover what Farsight specifically needs. 

Step 1 — Open the Sharing menu

  1. In Flight Deck, open Global Settings.
  2. Select Sharing.
  3. Select RTSP.

Step 2 — Enable KLV telemetry

Toggle on KLV Telemetry.

This multiplexes MISB-compliant metadata into the MPEG-TS container alongside the H.264 video. Farsight uses this metadata to georeference frames and build its 2D and 3D products. If KLV is not enabled, Farsight will receive video but will not be able to georeference it.

Skydio's KLV implementation aligns with:

  • STANAG 4609 Ed. 5
  • MISB 0601 (UAS Datalink Local Set)
  • MISB 0903 (VMTI)

Step 3 — Choose your server mode

Select either the internal or external RTSP server. Follow Option A or Option B below.

Option A — Internal RTSP server

In this configuration the Controller hosts the stream. Farsight connects directly to the Controller.

Use this when Farsight is running on the Controller itself, or on a single EUD on the same local network. It is the fastest path to a working stream and requires no additional infrastructure.

  1. Select the Internal server option.
  2. Enter a Stream Name. The stream name cannot contain spaces, cannot contain symbols other than a dash (-), and is case-sensitive.
  3. Note the IP address shown for the internal streaming server. This is the Controller's address on the network.
  4. Note the port. For the internal server this is always 8554.

The resulting URL follows this format:

rtsp://<Controller IP Address>:8554/<stream-name>

For example:

rtsp://192.168.1.25:8554/skydio-x10

Use the exact RTSP URL shown in the Controller interface whenever it is displayed. Do not assume the IP address from a previous session — on a DHCP network it can change when the Controller reconnects.

If the internal server IP address does not appear:

  1. If using Wi-Fi, toggle the connection off and on in device settings.
  2. If using a USB-C to Ethernet adapter, unplug and reconnect it.
  3. Check the adapter LEDs to confirm data is passing.
  4. Confirm the network or router is configured for DHCP.
  5. Try a different USB-C to Ethernet adapter.

Static IP: The Controller can be configured with a static IP address when the appropriate feature flag is enabled. This is useful for fixed installations where the RTSP URL must not change. Contact Skydio Support or your account team to enable static IP support.

Option B — External RTSP server

In this configuration the Controller pushes the stream to a video server already running on your network. That server then rebroadcasts the stream to Farsight and any other consumers.

Use this when:

  • Multiple clients need the same stream
  • The stream must be made available beyond the local network
  • You already operate a video management system or media server and want the Skydio feed to land there alongside other sources

Skydio does not require a specific RTSP server product. Any server that accepts an RTSP publish and can rebroadcast an MPEG-TS stream with KLV metadata intact will work.

  1. Select the External server option.
  2. Enter the IP address of your RTSP server.
  3. Enter the port your server listens on.
  4. Enter the Stream Name or path the server expects. The same naming rules apply: no spaces, no symbols other than a dash, case-sensitive.

Important — verify KLV passthrough. Not every RTSP server preserves KLV metadata when it rebroadcasts. Some servers transcode or repackage the stream and strip the metadata track. If video reaches Farsight through your external server but georeferencing fails, test the stream directly from the internal server first to isolate whether the server is the cause.

Step 4 — Start the stream

Select Start Stream.

Confirm the Flight Deck UI shows the stream as active before moving to Farsight.

Plan the collection flight

  1. Choose the mission type before flying, since it determines the collection geometry the product needs.
  2. For a 3D orbit, complete a full 360-degree circuit at roughly a 45-degree gimbal angle. Keep the entire target in frame for at least one full orbit, and choose an altitude and offset that expose every side of the target.
  3. For a grid flight, use roughly a 75-degree camera angle with 75 percent overlap between image captures and flight path. Think of a lawnmower pattern. 

A camera closer to the target produces a lower ground sample distance, which yields a clearer and a more accurate model.

Part 4 — Receive the stream in Farsight

The following steps reflect Reveal's Farsight stream workflow. Farsight's interface is controlled by Reveal and may change between releases — refer to Reveal's current documentation if the screens differ.

Step 1 — Create a new Farsight session

  1. Open Farsight.
  2. Select the + icon.
  3. Select New Settings.

Step 2 — Choose mission type and output quality

  1. Select the Mission Type appropriate to your collection.
  2. Select the Output Quality.

Higher output quality increases processing time on the device. On a Controller that is simultaneously flying the aircraft, choosing a lower output quality reduces the chance of thermal throttling or processing lag.

Step 3 — Add the stream

  1. Select Add Stream.
  2. Select Manual.
  3. Enter the stream name, IP address, and port exactly as shown in Flight Deck. For the internal server, use the Controller's IP address and port 8554. For an external server, use the address, port, and path that your server rebroadcasts on — which is not necessarily the same as the publish target you entered in Flight Deck.
  4. Select Add Stream.

The stream name is case-sensitive. A mismatch in capitalization is a common cause of a stream that appears configured but never connects.

Once the platform connects, a platform icon appears in Farsight. While Farsight is still connecting, an Info button is available to aid in troubleshooting.

Step 4 — Verify the feed and start processing

  1. Verify the video feed appears in the Stream Wizard, then select Continue.
  2. Verify the Output Directory, then select Continue.
  3. Verify the session name, then select Start Processing.

Step 5 — Fly and stop the stream

Begin your flight. Farsight processes the incoming stream live.

When the flight is complete, select Stop Streaming in Farsight, then Stop Stream in Flight Deck. Farsight finishes processing and the model becomes available for exploitation.

Verification checklist

Verify video and metadata separately. A stream can look correct and still be missing the metadata Farsight depends on.

  • Flight Deck shows the stream as active
  • The internal server IP address is populated (internal server mode)
  • Farsight shows a connected platform icon
  • Live video is visible in the Farsight Stream Wizard
  • Farsight's output is correctly georeferenced, indicating KLV is being received and parsed

[accordion heading="Troubleshooting"]

Farsight shows no video

  • Confirm the Controller and the Farsight device are on the same reachable network.
  • Confirm the IP address, port, and stream name in Farsight exactly match what Flight Deck displays, including capitalization.
  • Confirm RTSP streaming is enabled and started in Flight Deck.
  • Confirm the correct server mode — internal or external — is selected.
  • Confirm firewall or network rules are not blocking RTSP traffic.
  • Toggle Stop Stream then Start Stream in Flight Deck.

Video appears in Farsight but output is not georeferenced

This almost always means video is arriving without usable KLV.

  • Confirm KLV Telemetry is enabled in the Sharing > RTSP settings.
  • If using an external RTSP server, test against the internal server to determine whether the external server is stripping metadata during rebroadcast.
  • Confirm your license entitlement includes Controller-based RTSP streams with KLV.

Some KLV fields are missing

Terrain-dependent fields require DTED.

  • Confirm DTED is loaded and available for the area of operation on both the X10 and the Controller.
  • Confirm the receiving system supports the specific KLV fields being transmitted.

The internal server IP address does not populate

  • Confirm the Controller is connected to a DHCP-enabled network.
  • Without DHCP, the Controller may not receive an IP address and the internal streaming server address will remain blank.
  • If your deployment requires fixed addressing, confirm static IP support is enabled and that valid static network settings have been configured.

Video is delayed, unstable, or choppy

This is almost always network performance.

  • Use Ethernet instead of Wi-Fi.
  • Reduce bitrate or resolution.
  • Move devices closer to the network access point.
  • Reduce other traffic on the network.
  • Confirm the external server has sufficient bandwidth and processing capacity.
  • If Farsight is running on the Controller, confirm the Controller is not thermally throttling. Reduce Farsight's output quality if it is.

The stream worked previously but now fails

  • On a DHCP network, the Controller's IP address may have changed after reconnecting. Check the current IP and update the stream configuration in Farsight.
  • For fixed installations, consider static IP support.

The stream breaks when switching between color and thermal

Switching camera feeds interrupts the stream for viewers. Toggle Stop Stream then Start Stream, and reconnect in Farsight.

[/accordion]

[accordion heading="Best Practices"]

  • Use a DHCP-enabled network for initial setup, and confirm the internal server IP is populated before testing.
  • Use Ethernet whenever possible.
  • Keep the Controller and receiving system on the same reachable network.
  • Use the full RTSP URL shown by the system when available.
  • Confirm DTED is available when terrain-dependent KLV fields are required.
  • Verify video and metadata separately during setup.
  • Avoid congested Wi-Fi networks.
  • Validate the full workflow on the ground before relying on it in an operation.

[/accordion]

Related articles

 

Was this article helpful?