Custom RTMP live streaming in DJI Fly

MaximMaximSeptember 1, 2026
Illustrated drone hovering in a wide tan sky above a row of simple rooftops and a church spire, its camera facing the town below

DJI Fly can push a live video feed to any RTMP server you point it at, including one you run yourself. The feature is not hidden, but it has moved, and a good number of guides still describe a menu path the current app does not have. What you get once you find it depends less on which aircraft is in the air than on which controller is in your hands.

Everything below is checked against DJI's own livestream guide for the current app rather than against an older write-up. Where DJI states a limit, the limit is quoted.

What the RTMP option is for

RTMP, the Real-Time Messaging Protocol, is the protocol a camera uses to push live video to a server. DJI Fly groups its destinations under Live Streaming Platforms, and the RTMP entry is the one that accepts an address you supply rather than a service DJI has configured in advance. DJI's advice for anything not on its list is short: "If the livestreaming platform you require is not listed here, please contact that platform to verify whether it supports RTMP streaming."

One point of architecture is worth having straight, because it explains most of what follows. The stream does not leave the aircraft. Video travels from the drone to the controller over DJI's own radio link, and the app then forwards that feed over whatever internet connection the handheld device has. DJI puts it as a precondition: "Make sure that the App has been connected to Internet, such as 4G/5G signals or Wi-Fi." A controller with no SIM and no Wi-Fi has no route to a server, however strong the link to the drone is.

Before you open the app

Livestreaming is supported in DJI Fly V1.4.12 and later. As of August 2026 the current release is 1.21.10 on both iOS and Android, and DJI lists the app as requiring iOS 13.0 or later, or Android 9.0 or later.

DJI Fly is the consumer app. DJI's compatibility listing puts these aircraft on it: the Lito series (Lito 1, Lito X1), the Mavic series (Mavic 4 Pro, Mavic 3 Pro, Mavic 3, Mavic 3 Classic), the Flip, the Air series (Air 3S, Air 3, Air 2S, Mavic Air 2), the Neo series (Neo 2, Neo), the Mini series (Mini 5 Pro, Mini 4K, Mini 4 Pro, Mini 2 SE, Mini 3 Pro, Mini 3, Mini SE, Mini 2, Mavic Mini), the Avata series (Avata, Avata 2, Avata 360) and DJI FPV.

Enterprise aircraft are a separate matter. The Mavic 3E, 3T and 3M, the Matrice 4 series, the Matrice 300 RTK and 350 RTK and the Matrice 30 series run DJI Pilot 2, a different app with different menus, so none of the paths below apply to them.

The controller sets the ceiling, not the drone

This is the part older guides get wrong, and it is worth reading before planning a stream around a particular quality.

DJI states plainly that "Livestreaming is not supported when used with the DJI RC." The plain DJI RC, the screen controller shipped with several Mini and Air models, does not do this at all.

Where livestreaming is supported, the resolution choice is 1080p or 720p, with an exception DJI names: DJI RC 2, DJI RC Pro 2, and DJI RC Pro on v1.18.0 and later support 720p only.

So the flat claim that DJI's RTMP output is capped at 720p is right for a controller with a screen built in, and wrong for a phone running DJI Fly on an RC-N style controller, where 1080p is on offer.

Two more version-specific points sit in the same document. V1.15.8 enabled RTMP and Douyin streaming for compatible aircraft used with the DJI RC 2. And from V1.16.0, "When using DJI RC 2/DJI RC Pro/DJI Smart Controller for livestreaming via DJI Fly, you need to plug in the microphone to start the livestreaming." On those three controllers a microphone is a precondition for starting, not an optional extra for sound.

DJI also notes that the Avata 360 does not support 360 Mode livestreaming.

Bitrate is a short list, and not the same list on both platforms

DJI Fly offers fixed bitrate choices rather than a slider, and the options differ by operating system. iOS devices offer 2 Mbps or 1 Mbps. Android devices offer 5 Mbps or 3 Mbps.

That gap is wider than it looks. An Android phone can be set to send more than twice what the highest iOS option allows. Whichever figure is selected, it is sustained upload from wherever the aircraft is being flown, which is usually a field rather than an office.

The steps

  1. Power the aircraft and remote controller on, and connect the remote controller to the DJI Fly app. DJI's guide opens with exactly that.

  2. Confirm the handheld device has a working internet connection, mobile data or Wi-Fi.

  3. On the flight screen, press the three dots icon in the top right, then Transmission, then Live Streaming Platforms, then RTMP. That opens Livestream Settings.

  4. In Livestream Settings, enter the address as the RTMP Address. Where a destination issues an address and a separate stream key, the two are joined with a slash. DJI's worked example uses the address rtmp://10.39.12.189:1935 with the code livxxxme, entered as rtmp://10.39.12.189:1935/livxxxme. Where the address already ends in a slash, another one is not needed.

  5. Set Livestream Resolution and Livestream Bitrate from the options above.

  6. Tap Start Livestream.

The aircraft does not need to be in the air for any of this. Powering up and connecting is enough to set the stream running.

Where the address comes from

Any RTMP server will do, including a self-hosted one. Terasor Live is one option, and it is worth describing plainly rather than at length.

From the pilot dashboard, the Go Live tile in Quick Actions opens a short form asking for a broadcast title and, optionally, a location. Starting the broadcast produces an address in the form rtmp://live.terasor.com/s/XXXX. That address is complete on its own: there is no separate stream key, so the slash rule above does not apply to it. It goes into RTMP Address as it stands.

The Quick Actions row of the Terasor pilot dashboard, showing three tiles side by side: Go Live, labelled Start a public broadcast, then Browse Charters and My Bids.

While the broadcast runs, the page reports its state. Connecting comes first, then You're Live with a running timer. If video frames stop arriving for two minutes the state changes to Reconnecting and the session is held open for a further five minutes, which is time enough to start the stream again in DJI Fly against the same address instead of creating a new broadcast. End Broadcast closes the session.

Public broadcasts have no maximum duration, and they are free to watch with no account.

What a live audience does not change

Streaming puts a screen in front of you and an audience behind it. Neither alters the rules the flight is conducted under, and one of those rules is aimed squarely at screens.

The UK Civil Aviation Authority's Drone Code sets the standard for keeping an aircraft in sight: "You must be able to see your drone or model aircraft clearly enough that you can tell which way it's facing." It also lists what cannot be used to meet that standard, naming binoculars, a telephoto lens, and "electronic viewing equipment, such as a smart phone, tablet or video goggles". The device carrying the stream is not the means by which the aircraft is kept in view.

Responsibility for the flight sits with the remote pilot whether one person is watching or a thousand are.

When it does not work

There is no RTMP entry in the menu. Check the app version. Livestreaming needs V1.4.12 or later, and RTMP with the DJI RC 2 arrived in V1.15.8.

The stream will not start on an RC 2, RC Pro or Smart Controller. From V1.16.0 a microphone has to be plugged in before livestreaming will begin on those three.

Nothing arrives at the server. DJI's own troubleshooting note covers a common cause: "Confirm that the account has livestream permission for the corresponding platform. If not, the live-streaming codes cannot be obtained, and the RTMP live stream will be unable to work." After that the address is the thing to check, including whether an address and key needed joining with a slash, and whether a trailing space came along with the paste.

Viewers see stalling and buffering. Compare the selected bitrate against real upload speed at the flying site rather than at home. On iOS the lower option is 1 Mbps, on Android 3 Mbps.

The controller is a DJI RC. There is no setting to find. DJI does not support livestreaming on it.

The short version

The path is the three dots icon in the top right of the flight screen, then Transmission, Live Streaming Platforms, RTMP, which opens Livestream Settings where the address goes. Expect 1080p or 720p on a phone and 720p on a controller with its own screen. Expect fixed bitrates of 1 or 2 Mbps on iOS and 3 or 5 Mbps on Android. A microphone goes into an RC 2, RC Pro or Smart Controller before the stream will start. And the aircraft has to stay in sight, because the screen showing the stream is not the thing the rules count.

Sources: DJI Fly App Livestream Operation Guides, DJI's compatible apps and download listing, and the DJI Fly app page, all published by DJI. Direct sight requirements from the UK Civil Aviation Authority Drone and Model Aircraft Code.

Maxim
Maxim

Co-Founder, Terasor

Documentary and portrait photographer, UK

Maxim is Co-Founder of Terasor and a UK based documentary and portrait photographer. He flies a DJI Mini 4 Pro and writes about UK drone regulations, the wider industry, and the platform from a working photographer's point of view.

LinkedIn

From the community

Visit the community