rtmp support in webcore

Any support for rtmp support in webcore? I am trying to view a real time video stream from a DJI drone using rtmp url from nginx. Any ideas will help.

If your goal is: “open a web page and view the DJI drone’s live camera feed in real time”, you typically don’t add RTMP support to the browser. Instead you get the drone feed out of DJI → into a server → convert to a browser-native format.

Browsers can’t play RTMP natively, so you choose one of these practical pipelines:

Option A (lowest effort): DJI app streams RTMP → your server converts to HLS for the web

How it works

  1. DJI Fly / DJI Pilot 2 can publish RTMP to a custom RTMP URL (this is a built-in “live streaming” feature on many DJI setups).

  2. Your media server ingests RTMP and repackages it as HLS (or DASH).

  3. Your web app plays HLS via HTML5 video (+ hls.js for Chrome/Firefox).

What you need

  • A reachable RTMP ingest URL (Nginx-RTMP / Wowza / cloud ingest)

  • A packager to HLS

  • Web player (video tag + hls.js)

Option B (actual “real-time”): Get DJI feed → WebRTC → browser

If you need ~sub-second to a few seconds latency, WebRTC is the usual target.

There are a few ways to get there:

B1) DJI Fly/Pilot RTMP → gateway → WebRTC

  • Ingest RTMP, then convert to WebRTC via a media gateway (e.g., Janus/mediasoup/Ant Media, etc.).

  • Web client uses standard WebRTC APIs.

B2) Build a custom DJI controller/onboard app → push WebRTC directly

  • If you’re building custom software around the DJI ecosystem, DJI SDKs can give you a camera stream (often H.264) that you then forward/encode as needed. For example, DJI’s Payload SDK docs describe starting an H.264 stream and handling it in your app.

  • Then you publish to a WebRTC SFU/MCU or directly to the browser.

Thanks Bruno! I think I will try Option B1 for now.

Kind Regards