ORBNET Streaming Engine For Milestone XProtect

Stream with XProtect — out and in.

Send live or playback out of Milestone XProtect to RTSP/RTSPS, SRT, RTMP (YouTube, Twitch), WebRTC, HLS, and MJPEG.
Or ingest external sources — drones, mobile SRT feeds, IP cameras — and stream them into Milestone just as easily.
Built for high‑availability sites with very low CPU usage and a clean REST API.

Book a live demo Explore API
SRT RTMP RTSP/RTSPS WebRTC HLS MJPEG

In addition to these core protocols, you can add custom ingest streams by simply providing a valid URL — including UDP, RTP, or other supported formats. The Streaming Engine will automatically attempt to reconnect if the stream drops, ensuring resilient intake from diverse sources such as cameras, drones, or mobile devices.

Milestone Verified

Secure Reliable Transport (SRT)

SRT is a powerful open-source protocol designed for secure, low-latency streaming over unpredictable networks. Our Streaming Engine fully supports SRT for both ingestion and distribution, enabling resilient video delivery across WAN links and cloud environments.

Learn more about the SRT protocol from its creators at Haivision.

Live Streaming in Browser with LL-HLS

The Streaming Engine includes support for Low-Latency HLS (LL-HLS), allowing you to deliver live video directly in modern browsers without plugins. LL-HLS ensures sub-second glass-to-glass latency, making it ideal for interactive monitoring, real-time decision-making, and broadcast-grade experiences on the web.

Users can view streams seamlessly in Chrome, Safari, Edge, or Firefox, with playback that adapts dynamically to network conditions while maintaining minimal latency.

Why Streaming Engine

Purpose‑built to outperform generic bridges with resilience, flexibility, and developer‑friendly control.

Engineered for high availability

Runs as a standalone Windows service and scales across multiple servers. Recovers gracefully from network drops and XProtect failovers.

  • Multi‑server redundancy with Load Balancer
  • Auto‑resume on failures
  • 24/7 reliability
One‑click RTSP/RTSPS

Enable secure RTSP streaming. Choose the exact XProtect stream by appending /stream=<number>.

TLS with self‑signed or imported certificates.
Developer‑friendly REST API

Discover cameras, manage streams, and integrate with analytics or monitoring centers. Explore endpoints in Swagger, no guesswork.

Open Swagger

Intelligent Load Balancing

Our load balancer enables scaling to virtually unlimited streams by intelligently redirecting clients to the best Streaming Engine instance based on CPU and RAM utilization. Unlike a proxy, it does not forward the stream; it provides redirection, ensuring efficiency and reduced overhead.

RTMP streams are also load balanced. When a Streaming Engine is deployed on each recording server and its failover, all API commands can be sent to the load balancer. The system will automatically stream RTMP from the engine that resides on the same recording server as the selected XProtect camera, ensuring resilience and optimal performance.

Redirection-based load balancing, not proxying, for maximum scalability.
Load Balancer Screenshot RTMP Stream Controls Screenshot

Standalone mode (no XProtect required)

Use Streaming Engine in standalone mode to onboard cameras and devices without connecting to Milestone XProtect. Ingest any number of sources using supported protocols (SRT, RTSP, RTMP, RTP, and more) and redistribute them to another Streaming Engine or any third‑party VMS/streaming platform that supports our outbound protocols (RTSP/RTSPS, SRT, WebRTC, HLS/LL‑HLS, RTMP, MJPEG).

  • Discover and configure IP cameras (ONVIF friendly)
  • Built‑in RTSP URL extractor to easily obtain the correct RTSP URL from any ONVIF camera
  • Mix protocol types across sources and destinations
  • Ideal for edge sites, pop‑up deployments, and cloud relays

Tip: Combine standalone nodes with our load balancer (redirect‑based) for elastic scaling across sites.

ONVIF Discovery RTSP

Protocols & Formats

Transmission
• SRT
• RTMP
• RTSP / RTSP over SSL
• WebRTC
• HLS
• MJPEG over HTTP
Ingestion
• RTMP
• RTSP
• WebRTC
• SRT
• RTP
• HLS
• MPEG-DASH
• MPEG-TS

Low‑latency H.265/H.264/MJPEG video and AAC/G.711 audio supported. TCP & UDP with optional encryption. Transcode ingested streams and redistribute via RTSP, SRT, RTMP, WebRTC, or HLS.

SRT: Secure, resilient contribution

Streaming Engine supports SRT (Secure Reliable Transport) for low-latency, resilient transport over unpredictable networks. Configure caller/listener modes, set latency to match link quality, and enable encryption for secure contribution feeds between sites or to cloud workflows.

  • Firewall-friendly (caller/listener)
  • ARQ for packet loss recovery; stable pictures on difficult links
  • AES encryption for secure delivery

Learn more about SRT from Haivision: What is SRT?

Common SRT scenarios
  • Branch → HQ over public internet
  • Edge camera farm → cloud analytics
  • Redundant paths with failover

Live streaming in the browser (LL-HLS)

For browser-based viewers, Streaming Engine outputs Low-Latency HLS (LL-HLS). Using partial segments and preload hints, viewers achieve near-real-time playback while staying fully compatible with the HLS ecosystem.

  • Ideal when WebRTC isn’t possible but low delay is still required
  • Works with modern browsers; native on Safari, and supported elsewhere with HLS JavaScript players
  • HTTP/2 or HTTP/3 friendly and CDN-compatible

Pair LL-HLS for broad compatibility and use WebRTC where sub-second latency is essential.

Tuning tips
  • Short segment duration with partials
  • Keep the player buffer minimal for lower glass-to-glass time
  • Prefer HTTP/2 with persistent connections

RTSP/RTSPS live & playback

Stream any XProtect camera live or request playback clips by timestamp directly in the URL. View with VLC, GStreamer, or any RTSP‑compatible client. Streams can be re‑ingested into Milestone via Universal Driver or the ORB Driver for interconnect‑style deployments without Corporate at the head‑end.

VLC
Example URLs
    LIVE:                   rtsp://127.0.0.1:554/35b7021f-0d0d-4261-949c-79d09e0b5070
    Playback no endtime:    rtsp://127.0.0.1:554/35b7021f-0d0d-4261-949c-79d09e0b5070/unix=1644492605
    Playback with endtime:  rtsp://127.0.0.1:554/35b7021f-0d0d-4261-949c-79d09e0b5070/unix=1644492605/unixend=1644492635
    Select stream #2:       rtsp://127.0.0.1:554/35b7021f-0d0d-4261-949c-79d09e0b5070/stream=2
Custom Ingest Examples

The Streaming Engine can also ingest custom streams from many protocols. Just provide a valid URL and the engine will auto-connect (and auto-reconnect on dropouts). If VLC can play it, we can ingest it.

    RTSP:                   rtsp://@192.168.1.10:554/787ffd6a-343b-4d22-86d0-cef52db22af1
    RTSP over TLS:          rtsps://@192.168.1.10:554/787ffd6a-343b-4d22-86d0-cef52db22af1?orbv-transport=tcp
    RTSP over UDP:          rtsp://@192.168.1.10:554/787ffd6a-343b-4d22-86d0-cef52db22af1?orbv-transport=udp
    RTSP over HTTP:         rtsp://@192.168.1.10:554/787ffd6a-343b-4d22-86d0-cef52db22af1?orbv-transport=http
    RTSP over HTTPS:        rtsps://@192.168.1.10:554/787ffd6a-343b-4d22-86d0-cef52db22af1?orbv-transport=http
    RTP:                    rtp://@239.255.42.42:5004
    UDP:                    udp://@0.0.0.0:1234
    SRT:                    srt://192.168.1.10:9000?mode=listener
    RTMP:                   rtmp://live.example.com/app/streamKey
    WebRTC:                 webrtc://yourdomain.com/live/camera1
    MPEG-DASH:              http://yourserver.com/live/manifest.mpd
    MPEG-TS:                udp://@239.1.1.1:5000

All ingested streams can be redistributed via RTSP/RTSPS, SRT, WebRTC, HLS/LL-HLS, RTMP, and MJPEG.

Add New Active Stream Screenshot
YouTube Live

RTMP to YouTube, Twitch, X (formally Twitter) and more

Stream to platforms that love RTMP — YouTube, Azure, AWS, and others — while avoiding inbound port forwarding on sensitive sites. Once linked to your account, go live from any camera in just a few clicks.

Rich Timelapse

Capture stills over days or months and compile into a smooth video. Trigger on schedule, motion, or events; save snapshots to local or network storage; and review quickly with the built‑in viewer.

🔍 Explore the Streaming Engine API

Use our interactive Swagger UI to explore all endpoints, try API calls from your browser, and integrate with the Streaming Engine.

Open API Documentation

Features & Protocols


  • Standalone Windows service — deploy multiple servers for high availability.
  • Resilient by design — resumes after network, Recording Server, and Management Server failures.
  • One‑click RTSP/RTSPS from the Management Client with certificate support.
  • RTMP streaming to social platforms (YouTube, Twitch, etc.).
  • RTSP, RTMP & SRT ingestion; proxy across chained Streaming Engines.
  • Transcode ingested streams; redistribute via RTSP, SRT, WebRTC, HLS.
  • Timelapse & snapshots by timer, event, or schedule.
  • Low‑latency H.265/H.264/MJPEG + AAC/G.711 audio.
  • Select XProtect stream variant with /stream=<number>.
  • Full REST API: list cameras, enable/disable streams remotely.

Screenshots


Diagram
Diagram
Dashboard
Dashboard
Easy URL Copy
Easy URL Copy
Load Balancer
Load Balancer
HLS for Developers
HLS for Developers
Ingest RTMP and SRT Streams
Ingest RTMP and SRT Streams
Ingest ANY and Transcode
Ingest ANY and Transcode
Low Latency Web Player
Low Latency Web Player
Milestone Cameras
Milestone Cameras
ONVIF Discovery
ONVIF Discovery
Outbound Streams Management
Outbound Streams Management
RTMP Broadcast
RTMP Broadcast
Share Active Streams
Share Active Streams
SRT Streaming
SRT Streaming
Timelapse
Timelapse

Frequently Asked Questions

The Streaming Engine was built to provide a more robust, flexible way to stream out of XProtect, with high‑availability, protocol choice, and API control. Many customers adopt it where uninterrupted streaming is critical.

Contact us to discuss the best fit for your deployment size and redundancy needs. We’ll guide you from proof‑of‑concept to production.

Yes. Deploy multiple Streaming Engines in parallel for redundancy and distribute load across sites.

Supported Languages


Would you like us to add another language? Email us at support@orbnetsys.com.

Downloads


Create a free account now and try it out for 30 days!

Create a free account to Download Installers and Manuals
Start your 30‑day trial — no hassle.
Book Demo