Bench-tested

What DJI won't tell you about livestreaming your drone (we tested it ourselves)

DJI's documentation covers menus. It doesn't cover the questions people actually search for: what codec does the stream use, what's the real bitrate, does the frame rate hold up, and which path is worth setting up first. So we put a Matrice 4E and an RC Plus 2 on the bench and answered them directly.

Quick answer: DJI enterprise drones stream H.264 High profile at 1280×720, about 30fps, video-only. The in-app "1.5M" quality label is a floor, not a cap; we measured 9.5–14 Mbps. Enterprise drones (Pilot 2) support both RTSP and RTMP. Consumer drones (DJI Fly) are RTMP-only per DJI's docs. To get the feed into Hover, use RTMP push.

Start with RTSP, not RTMP

Every DJI enterprise drone runs its own RTSP server. Turn it on in Cloud Services → Customize Live Stream, set an account and password, and the drone starts serving video on port 8554. No internet connection required, no third-party account, nothing to configure on the receiving end beyond a username and password.

We pulled the stream straight into ffmpeg over the LAN:

rtsp://<account>:<password>@<drone-ip>:8554/streaming/live/1

That URL shape (the /streaming/live/1 path, the trailing 1 for camera index) isn't in DJI's docs anywhere. Neither is what actually comes out the other end: H.264 High profile, 1280×720, about 30fps, no audio track. We measured all of it directly.

RTSP is the right place to start because it's the lowest-friction path to a working feed. If you just want to confirm your drone can stream at all, this is the five-minute version.

RTMP: push it somewhere else

The same Customize Live Stream screen has an RTMP tab. Where RTSP makes the drone a server you pull from, RTMP makes the drone a client that pushes to a URL you give it: one field, server address and stream key combined (rtmp://host:port/path, key is the trailing path segment).

We pointed the drone at a receiver on our bench and measured the same encoder: H.264 High, 1280×720, ~30fps. DJI's spec sheet gets actively misleading here. The in-app quality setting shows "1.5M" as the bitrate ceiling. Ours ran consistently between 9.5 and 14 Mbps, with the in-app live-rate readout confirming north of 13 Mbps sustained. "Adaptive" is doing exactly what it says: the 1.5M is a floor DJI guarantees, not a cap on what the stream can actually use.

If you've budgeted bandwidth or storage assuming DJI's published number, budget for closer to 14 Mbps instead.

Getting it into Hover

Once you have that RTMP stream working, pointing it at Hover is the same push, just aimed at a URL Hover gives you instead of a generic receiver. Add the drone in your dashboard, and Hover mints a one-time ingest URL and stream key. Paste that into the same RTMP field on the drone, and the feed shows up live: detection, recording, and the rest of Hover's pipeline running on it like any other camera.

We ran this end to end on our own bench hardware: RC to Hover's ingest, ingest to the video pipeline, video pipeline to a live dashboard view showing the actual drone's camera. Full loop, no gaps.

A note on RTSP into Hover specifically: pulling the drone's RTSP feed directly into Hover (skipping the push step above) is on our roadmap, not live yet. If you want that path today, RTMP push is the one that works.

The full setup, step by step

This post covers what we found. For the exact menu paths, screenshots, and a model-by-model breakdown of what's supported where, see the full guide:

Start streaming your drone into Hover

FAQ

What codec does a DJI drone livestream use?

H.264 High profile. DJI doesn't document this; we measured it with ffprobe on a Matrice 4E, on both the RTSP and RTMP paths. 1280×720, about 30fps, yuv420p.

What is the real bitrate of a DJI livestream?

We measured 9.5 to 14 Mbps on a LAN, even though the in-app quality setting says 1.5M. The 1.5M label is a floor, not a cap: the Adaptive setting ramps far above it when bandwidth allows.

Does a DJI livestream include audio?

No. The stream is video-only on both the RTSP and RTMP paths. We confirmed there is no audio track in the measured streams.

What is the DJI RTSP stream URL?

rtsp://ACCOUNT:PASSWORD@RC-IP:8554/streaming/live/1 — the account and password are the ones you set on the RTSP tab, the port is fixed at 8554, and the path is fixed at /streaming/live/1. The trailing 1 is the camera index. DJI doesn't document this URL shape; we observed it on the bench.

Can consumer DJI drones (DJI Fly) livestream too?

Per DJI's documentation, DJI Fly drones support custom RTMP push only, with no RTSP option. The server URL and stream key go into a single RTMP Address field.

Can Hover pull the drone's RTSP feed directly?

Not yet. Direct RTSP pull into Hover is on our roadmap. Today the working path is RTMP push: Hover mints an ingest URL and stream key, and you paste it into the drone's RTMP field.