##### Version 2.9.89
This guide explains how to set up `RTMP streaming` inbound to the **ORBNET Streaming Engine**. This process allows you to ingest live video streams from external devices—such as drones, mobile phones, or any RTMP-capable source—into **Milestone XProtect** using the **ORB Driver**.
>[!note]
>**RTMP**, or **Real-Time Messaging Protocol**, is a protocol developed by Macromedia (now owned by Adobe) for streaming audio, video, and data over the Internet. It was originally designed for high-performance streaming of media between a server and Adobe Flash Player, but its use has expanded over time.
>
**Key Features of RTMP:**
>- Low Latency: RTMP is designed for low-latency communication, making it suitable for live streaming applications.
>- Adaptive Streaming: RTMP supports adaptive bitrate streaming, allowing the quality of the stream to adjust dynamically based on network conditions.
>- Protocol Variants: There are different variants of RTMP, including RTMPT (tunneled through HTTP), RTMPS (secure version over SSL), and RTMPE (encrypted version).
>- Support for Multiple Media Types: RTMP can handle audio and video codecs, including H.264 for video and AAC for audio.
## Prerequisites
Before you begin, ensure you have the following:
- A running instance of the **ORBNET Streaming Engine**, accessible via its `external IP address`.
*Ensure that the **Streaming Engine** is properly secured and that only authorized devices can send streams to it.*
- The **ORB Driver** installed in **Milestone XProtect**. See [[ORB Driver/Quick Start Guide|Quick Start Guide]]
- An external device capable of `RTMP streaming` (e.g., a DJI drone with the DJI Go 4 app).
- Network connectivity between the external device, the Streaming Engine, and the Milestone XProtect server.
## Setting up the RTMP Stream on the External Device
To send an `RTMP stream` to the **Streaming Engine**, configure your external device with the appropriate `RTMP URL`.
![[z_img/b653c08140a82dd1e7beed1baf8054c2_MD5.jpeg|650]]
==All-In-One is the simplest method however there are many other configurations==
1. Determine the `external IP address` of your **Streaming Engine**. We'll denote this as `<streaming-engine-ip>`.
2. Configure the External Firewall and Software Firewall on the server with the **Streaming Engine** service to allow `RTMP - 1935` default.
3. Choose a unique and secure stream key. This acts as a password for your stream. Use a device reference or random string without uppercase letters or symbols to avoid compatibility issues (e.g., "hd3a25w3tzf2").
4. Construct the `RTMP URL` in the following format:
```
rtmp://<streaming-engine-ip>/live/<stream-key>
```
For example:
```
rtmp://96.7.128.198/live/hd3a25w3tzf2
```
5. Configure your external device to use this `RTMP URL` for **live streaming**.
**Example with DJI Go 4 App:**
- Open the DJI Go 4 app.
- Navigate to **General Settings**.
- Select **Choose Live Streaming Platform**.
- Choose **RTMP Custom**.
- Enter the RTMP URL with the stream key.
- Click **Next**, then **Start** to begin live streaming.
![[z_img/8ef62842a695981f97a84e4a02deed1c_MD5.jpeg]]
**Note:** Ensure the external device has network access to the Streaming Engine on port 1935 (the default RTMP port).
## Connecting to the RTSP Stream with ORB Driver
Once the Streaming Engine receives the RTMP stream, it restreams it as an RTSP stream. The RTSP URL follows this format:
```
rtsp://<streaming-engine-ip>:554/<stream-key>
```
For example: (*Using local LAN IP*)
```
rtsp://192.168.1.100:554/hd3a25w3tzf2
```
To connect to this stream in Milestone XProtect using the ORB Driver:
1. Open the Milestone XProtect Management Client.
2. Add a new device using the ORB Driver.
3. Select the desired video channel.
4. Go to the **Settings** tab for that channel.
5. Enter the RTSP URL in the channel settings.
![[z_img/7703f9f582e4ca5da62a0172ca1b88cd_MD5.jpeg]]
For detailed steps on adding and configuring a video source with the **ORB Driver**, refer to the [[ORB Driver/Quick Start Guide|Quick Start Guide]].
> [!warning]
> Do not include the `/live` parameter in the RTSP URL. It is only required in the RTMP URL.
## Troubleshooting
If you encounter issues, consider the following:
- **External Device Cannot Connect to Streaming Engine:**
- Ensure the Streaming Engine is running and accessible on the network.
- Verify that port 1935 is open and not blocked by firewalls.
- Check that the RTMP URL is correctly formatted.
- **RTSP Stream Is Not Available:**
- Confirm that the Streaming Engine is receiving the RTMP stream. Check logs or status indicators if available.
- Ensure the stream key in the RTSP URL matches the one used in the RTMP URL.
- **Issues with ORB Driver:**
- Verify that the ORB Driver is properly installed and configured in Milestone XProtect.
- Consult the ORB Driver documentation for additional troubleshooting steps.
For persistent problems, contact **ORBNET Systems Support**.