Overview
Why this is complicated.
If you've searched for "DJI livestream" in the past year, you've found a mix of ten-year-old blog posts about the Mavic Pro, Reddit threads from GoPro forums, and marketing pages from four different SaaS platforms that each claim to solve live streaming. The actual landscape of DJI live streaming in 2026 is:
- DJI ships several native livestream mechanisms across Pilot 2, Fly, FlightHub 2, and the Dock ecosystem — each with different capabilities and limits.
- Each mechanism targets a different use case. RTMP is for broadcast; FlightHub 2 is for ops; Dock live-view is for BVLOS-remote-ops; etc.
- None of them is purpose-built for sub-second guest-viewable video, which is what most public safety and commercial operators actually need.
This guide maps the landscape, explains each method honestly (including its limits), and tells you which method fits your actual operational need.
In this guide
- DJI aircraft / camera / controller matrix
- Method 1 — RTMP broadcast from Pilot 2
- Method 2 — FlightHub 2 live viewing
- Method 3 — Dock 2 / DJI Dock live streaming
- Method 4 — HDMI / UVC capture card
- Method 5 — Android bridge apps (Larix, MediaMTX, custom)
- Method 6 — WebRTC via a purpose-built platform
- Comparison table
- Which to use for which job
Matrix
DJI aircraft / controller / streaming capability.
Not every DJI aircraft supports every streaming method. Before you pick a method, check your hardware.
| Aircraft | Controller | RTMP | FH2 Live | Dock Live |
| Matrice 30 / 30T | RC Plus | Yes | Yes | n/a |
| Matrice 350 RTK | RC Plus | Yes | Yes | n/a |
| Matrice 3D / 3TD (Dock 2) | Dock 2 | Limited | Yes | Yes |
| Mavic 3 Enterprise / Thermal | RC Pro Enterprise | Yes | Yes | n/a |
| Mavic 3 (consumer) | RC / RC Pro | No | No | No |
| Mini 5 Pro | RC 2 | Limited | No | n/a |
"Limited" means the capability exists but is restricted — e.g., consumer controllers expose RTMP only through Fly app with consumer-grade encoding defaults. For public safety / commercial operations, assume the enterprise line.
Method 1
RTMP broadcast from DJI Pilot 2.
DJI Pilot 2 (enterprise controllers) has a native "Livestream" function that pushes an RTMP stream to any RTMP-compatible server. Free, built-in, works on any network the controller has connectivity on (LTE hotspot, Wi-Fi, tethered).
How it works
- Open Pilot 2 → camera view →
⋯ menu → Livestream.
- Enter your RTMP URL:
rtmp://your-server.example/live/streamkey
- Tap start. The video pushes out of the controller's network interface to your RTMP server.
Real-world latency
Controller to RTMP server: ~500–2000 ms depending on uplink quality.
RTMP server to viewer (via HLS): +6–20 seconds of buffering.
Total glass-to-glass: typically 8–25 seconds.
Strengths
- Free / built-in
- Broadly compatible — every RTMP server supports it
- Works on any network that has outbound access
Weaknesses
- Latency is fine for broadcast, unacceptable for tactical decision-making
- You have to run or rent the RTMP ingest server
- No access control — whoever has the viewer URL sees the stream
- Recipient viewer experience is whatever the receiving platform packages (usually HLS, sometimes buffering spinners at inopportune moments)
Method 2
FlightHub 2 live viewing.
FlightHub 2 is DJI's cloud ops platform. Enterprise aircraft paired to an FH2 organization expose live video to other organization members with appropriate permissions.
How it works
Pilot's aircraft is bound to the FH2 organization. Anyone with "view live" permissions in the org can open the FH2 web or mobile app, pick the aircraft, and see live video.
Real-world latency
Typically 2–6 seconds. Better than RTMP because DJI controls the full pipeline and has tuned buffering for ops use. Still not sub-second.
Strengths
- Integrated with fleet management, flight logs, and airspace awareness
- Decent latency for most commercial ops
- Works across the enterprise fleet
Weaknesses
- Per-seat licensing — every viewer needs a FH2 seat
- Every viewer needs a DJI account and org membership — doesn't work for mutual-aid, press, or guest scenarios
- Cloud-dependent — video transits DJI infrastructure
- 2–6 second latency is too much for tactical decisions
Use when: all viewers are inside your FH2 org and latency can be a few seconds. Do not try to onboard mutual-aid or guest viewers this way.
Method 3
Dock 2 / DJI Dock live streaming.
The Matrice 3D/3TD in a DJI Dock 2 is a fully remote-operated system. The Dock exposes live video through FlightHub 2, and in some configurations, direct RTMP from the dock infrastructure.
Notes
- Same latency profile as FH2 live viewing (2–6 s)
- Access control same as FH2
- Dock environments usually have more consistent uplink (wired), so latency is typically on the better end
- For tactical or decision-critical viewing beyond FH2 users, pair the Dock with an external WebRTC platform via RTMP forwarding
Method 4
HDMI / UVC capture card.
The RC Plus has an HDMI output. Plug it into a USB capture card on a laptop, and the laptop has the drone's video as a webcam source. Feed it into OBS, Zoom, or any software that accepts a camera.
Strengths
- Extremely low latency from controller to laptop (under 100 ms)
- No DJI cloud involvement
- Standard video source — any software works with it
Weaknesses
- Requires physical co-location of pilot + laptop + cable
- Cable constraints limit mobility
- You still need software on the laptop to redistribute the video — OBS to RTMP, NDI over LAN, or a local WebRTC server
- This is a bridge, not a solution — it gets video off the controller locally, but distribution is still a separate problem
Method 5
Android bridge apps — Larix, MediaMTX, custom.
For aircraft that don't support the native Pilot 2 livestream (Mavic 3 consumer, Mini 5 Pro, older aircraft), or when you want to bypass DJI's infrastructure entirely, you can run a bridge: an Android device pairs with the drone via DJI SDK or captures the controller's HDMI output, then publishes the stream via a dedicated app.
Common apps / setups
- Larix Broadcaster — RTMP push from an Android device that has the drone's video feed (usually via HDMI capture dongle)
- Custom DJI SDK apps — developers can build apps that consume the DJI video stream directly and push RTMP/WebRTC
- MediaMTX (SRS, Nginx-RTMP) — self-hosted ingest servers that accept RTMP and serve WebRTC / HLS downstream
- The EyesOn Companion App for Android — purpose-built bridge for DJI Pilot 2 → EyesOn WebRTC
When this makes sense
Bridge apps are a middle ground for developers and operators who want control over the pipeline. They require setup, but they unlock capabilities DJI's first-party streaming doesn't provide.
Method 6
WebRTC via a purpose-built platform (EyesOn).
EyesOn is specifically built to solve the sub-second, guest-viewable, no-account live drone streaming problem. It ingests RTMP from DJI Pilot 2 (or from the EyesOn Companion App for tighter integration), then serves the stream to viewers over WebRTC.
How it works
- EyesOn server runs on agency hardware (Synology NAS, mini-PC, VPS) or in Managed mode on dedicated BarnardHQ infrastructure.
- Pilot configures DJI Pilot 2 → Livestream → RTMP URL pointing at the EyesOn ingest.
- EyesOn transcodes to WebRTC and generates a viewer URL.
- Viewer URLs are either authenticated (internal users) or time-limited guest links (mutual-aid, press, partners).
- Viewers open the URL in a browser — no install, no account — and see sub-second video.
Real-world latency
Controller to EyesOn server: ~200–700 ms (RTMP push).
EyesOn server to viewer (WebRTC): ~100–200 ms.
Total glass-to-glass: 300–800 ms.
Strengths
- Only method that delivers sub-second latency end-to-end
- Browser-only for viewers — no account, no app install
- Time-limited guest links solve the mutual-aid / partner-agency problem
- Self-hosted option keeps video on agency hardware
- Pairs with FlightHub 2 — does not replace it
Weaknesses
- Requires a platform (EyesOn) to run — not a "plug and play" DJI-native setup
- Self-hosted tiers require minor IT capability (can be offloaded to Managed tier)
Decision Guide
Which method fits which job.
You need a press / PIO broadcast
Use RTMP from Pilot 2 to a service like YouTube Live, Twitch, or a dedicated RTMP/HLS host. Latency doesn't matter; reach does.
You need internal ops visibility (your org only)
FlightHub 2 live viewing is fine if all viewers are inside your FH2 org and 2–6 seconds of latency is acceptable.
You need sub-second video for tactical decisions
EyesOn or a comparable WebRTC-first platform. Do not rely on RTMP or FH2 for this.
You need to share with mutual-aid or partner agencies
Guest-link-based platforms only. FlightHub 2's account model doesn't work for this. RTMP public URLs have access-control issues. EyesOn's time-limited signed links are the fit.
You need to train pilots or build case files
Any method that records to disk works. EyesOn records server-side; FH2 retains in cloud; RTMP can be captured on the ingest server. Pick based on your retention and access-control policy.