The purpose of this Real-Time Messaging Protocol (RTMP) server is to livestream footage from my DJI drone to a livestream software such as VLC or OBS.
The full path of the video stream is as follows: DJI O4 Transmitter ----> DJI Goggles 3 ----> USB cable ----> iPhone with DJI Fly App ---> RTMP Server (this repo) ---> VLC
For some reason it is generally difficult to stream video directly from the DJI goggles or directly from the DJI app. The RTMP server's purpose is to collect the data from the app and transmit it to clients (such as OBS) which are connected to the server.
- DJI O4 module or DJI drone
- DJI Goggles 3
- IPhone 14 (with USB-C to lightning cable)
- Clone repo.
- Install node packages
node main.js
- Turn on DJI Goggles
- Go to app -> Connect to device
- View camera
- Transmission -> RTMP
- Put in
rtmp://{IP of host}/live/streamas address - Start livestream
- Media -> Open Network Stream
- Put in
rtmp://localhost/live/streamas address (assuming on the same machine as the RTMP server)
Now just turn on your drone, and hope the video makes its way all the way to your streaming software.
- Debugging tip: restart the VLC network stream and the DJI app transmission.