Unreal Media Server

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Unreal Media Server
Developer(s)Unreal Streaming Technologies
Stable release
13.0 / May 12, 2018; 6 months ago (2018-05-12)
Operating systemWindows
Typestreaming server software

Unreal Media Server is a streaming server software created by Unreal Streaming Technologies.

Streaming protocol support[edit]

  • UMS protocol (proprietary) for streaming to Unreal Streaming Media Player on Windows OS
  • WebRTC protocol for live streaming to web browsers
  • WebSocket-video/mp4 protocol for live streaming to web browsers supporting HTML5 Media Source Extensions
  • RTMP/RTMPT protocol for streaming to Flash Player on any Flash-enabled OS
  • Apple Http Live Streaming for streaming to iOS and other HLS-enabled devices
  • MS-WMSP protocol for streaming to Silverlight, Windows Media Player
  • MS Smooth streaming protocol for streaming to Silverlight
  • MPEG2-TS protocol for streaming to Set-Top boxes

Proprietary UMS streaming protocol is based on Microsoft DirectShow, and therefore, UMS protocol is codec-independent. UMS protocol realizes a distributed DirectShow graph where source filter resides on the server computer and renderer filter resides on the player computer; a corresponding DirectShow decoder needs to be installed at the player computer/device.

Supported file container formats: MP4, ASF, AVI, MKV, MPEG, WMV, FLV, Ogg, MP3, 3GP, MOV, other containers.

With regards to live video, Unreal Media Server acts as universal transmuxer: it receives live streams multiplexed (muxed) in different protocols/formats (WebRTC/RTSP-RTP, MS-WMSP/ASF, MPEG2-TS, UMS), demuxes (extracts) the actual elementary streams from these containers (no decoding or transcoding), and muxes (packages) it for specific player delivery. For example, it can ingest a live RTSP stream from IP camera and send it to WebRTC players; at the same time re-mux it into RTMP/FLV protocol/format for delivery to Adobe Flash Player; at the same time re-mux it to video/mp4 segments for delivery via WebSocket protocol to HTML5 MSE players in web browsers; at the same time re-mux it to MPEG2-TS for delivery to Set-Top box, and at the same time send it to iOS devices with HLS protocol. Unreal Media Server is known for low latency live streaming; with UMS, WebRTC, WebSocket-video/mp4, RTMP and MPEG2-TS protocols latencies of 0.2–2 seconds can be achieved when streaming over the Internet; with Apple HLS the latency can be as low as 3 seconds.


A first version of Unreal Media Server, released in October 2003, supported proprietary UMS protocol only. At that time this was the only server capable of streaming AVI files without transcoding; the first version was completely free.[1] In the next versions additional streaming protocols such as MS-WMSP(MMS) and RTMP were added. Also, a free version introduced a limit of 15 concurrent connections and a commercial version was offered for purchase.[2] Before version 9.0 the Server accepted live streams from proprietary encoder named Unreal Live Server only. With version 9.0 the ability of ingesting of RTSP, MPEG2-TS and MMS live streams was introduced, to support industry standard live encoders such as IP network cameras, Windows Media Encoder etc.; version 10.0 added support for Flash encoders such as FMLE. Version 10.5 added support for adaptive bitrate streaming; also, limit of concurrent connections in a free version was reduced to 10 connections. Version 11.0 added time-shifted playback for live broadcasts, for up to 12 hours back from real-time. Version 11.5 added "live playlist" feature allowing server-side channel switching and ad insertion. Version 12.0 added streaming via WebSockets to HTML5 <video> Media Source Extensions. Version 13.0 added full WebRTC support: ingesting live WebRTC streams from web browsers and sending live WebRTC streams to web browsers.[3]


External links[edit]