Video tutorials on Unreal Media Server can be found at
UnrealStreaming channel on YouTube and at our
"SDK and Tutorials" web page.
1. Installation and connectivity test
After you have downloaded and run the installation program for
Unreal Media Server, the service named UMediaServer should be running and listening on TCP ports 5119, 5135 and 443.
The installation program sets up a sample video clip by creating a virtual
folder called MediaRoot, mapping this folder to the program installation
folder ("Program Files\Unreal Streaming\MediaRoot" by default) and placing
file "test.avi" in this folder.
To test the server connectivity, install our Streaming Media Player.
Start the player, select "Play File" and enter IP address or machine name of the Media Server
computer (use localhost if player and server are on the same computer).
Choose TCP or HTTP or RTP(UDP) as a transport protocol and make sure there are no
firewalls between client and server machines that block port 5119. You can also choose HTTPS delivery and port 443.
If these particular ports are blocked, use Media Server Configuration tool, which is a part
of Media Server installation, to change these port numbers. Write "mediaroot\test.avi" as a filename.
Once the client computer can reach the server computer, you should be able to stream the test file.
2. VOD streaming
Simply copy your media files to the mediaroot folder and the server can stream them.
Using Media Server Configuration tool, you can create other virtual folders and map
them to different physical locations on the server machine or to shared LAN folders.
For working with shared LAN folders, the security should be setup such that the account under which UMediaServer
runs, has access to this network drive. By default, UMediaServer runs under
local system account. Use "control panel - services - UMediaServer properties" to change the account.
Files residing in virtual folders can be streamed via different streaming protocols to HLS players, Flash players,
Unreal Streaming Media Player, Windows Media Player, set-top boxes and mobile devices. Files can be streamed in on-demand and live modes.
Visit the FAQ page for step by step instructions for streaming files in different ways to different players.
Virtual folder can be configured to allow or prohibit a playlist behavior which means that a player plays all the files within
virtual folder in a sequential on-demand mode. Playlist-enabled virtual folders can also be streamed
in live Multicast mode to Unreal Streaming Media Player (standalone or embedded in web page).
Refer to the architecture page to learn about multicast.
Configuration program allows to broadcast an individual file in live mode via MPEG2-TS protocol, for delivery to set-top box.
A file can also be streamed in live mode when added to "live playlist" type of live broadcast.
3. Live broadcasts
Configuration program also allows creating so called "Live Broadcasts" that represent publishing points
for live audio/video encoders. Push and pull mode live encoders are supported.
If you have an RTSP IP camera or RTMP publishing device, you can create a live broadcast of type
"Rebroadcast live RTMP/RTSP/WebRTC/HLS/MPEG2-TS/MS-WMSP stream" to stream from this device to Unreal Media Server.
Create the same type of live broadcast for WebRTC publishing, receiving live HLS stream, or pushing streams from various software encoders such as
FMLE, OBS, ffmpeg.
Static and Dynamic live broadcasts refer
to live sources configured with our own live encoder named Unreal Live Server.
For static broadcasts the Media Server initiates connection to the Live Server on TCP port 5120;
for dynamic ones the Live Server initiates connection to Media Server on configurable TCP port (5130 by default).
The choice between static and dynamic live broadcasts depends on your network
infrastructure. For example, if Live Server runs behind NAT firewall, on the
computer with periodically changing IP address, then outside Media Server may
not always be able to initiate a connection to Live Server. Use dynamic live
broadcast in this case.
Unreal Media Server can stream live content to HTML5 WebRTC players, Unreal HTML5 MSE players, HLS players, Flash players, Silverlight, Windows Media players,
Unreal Streaming Media players, mobile devices and set-top boxes.
Visit the FAQ page for step by step instructions for configuring HTML5 and HLS streaming,
time-shifted live streaming, live playlist and other advanced features.
4. Unreal Live Server
Unreal Live Server should be installed on the computer that has live media
sources attached to it. Live media sources include: digital cameras,
microphones, analog video sources (analog camera or TV) connected to Video card
or to Video Capture card that supports DirectShow interface. There can be
multiple live sources attached to a single computer. Hardware encoding
appliances with DirectShow support are also supported.
Download and run the installation program for
Unreal Live Server . The service named ULiveServer should be running and
listening on TCP port 5120. Use Live Server configuration tool to add and
configure a source for your live media content, such as camera/microphone/capture card.
When configuring a live source, choose appropriate encoding that matches the player
you want to use. For example, use H264/AAC for Flash player, H264/VP8/VP9/Opus for WebRTC players,
and VC1/WMA for Silverlight player.
You can also configure access restrictions based on Media Server IP addresses.
It's important to understand that requests to Live Server will be coming
from Media Server computer, not from the player computers. Media Server will
send requests to Live Server based on "Live Broadcast" settings, configured with
Media Server. In case of static live broadcast, the Media Server will first
initiate a TCP (port 5120) connection to Live Server. Once a connection is
established, the Media Server will send request for live media. In case of
dynamic live broadcast, the Media Server will expect the Live Server to initiate
a connection. Live Server configuration tool allows initiating a connection to
Media Server on configurable TCP port.
Live Server also allows recording of Audio/Video sources to ASF/MP4/MKV files, based on
scheduler or motion/beat detection, independently of streaming.
5. User Authentication methods
While by default live broadcasts and virtual folders have anonymous access and don't need any authentication to be played,
they can be configured to require internal or session-based authentication. Internal authentication can only be used with Unreal Streaming Media Player (standalone or embedded in web page).
Session-based authentication can be used with your own web app that authenticates users. Refer to the
architecture page to learn more about authentication.
6. Creating a link to media resource
The most convenient way for the users to access remote media is to click on a
link in the Web browser. Setup of Streaming Media Player registers a custom URL
protocol on user's machine. This is a UMS protocol, allowing launching Streaming
Media Player directly from the hyperlink on the Web page. The person who
configures the Media Server is responsible for creation of these links and
putting them to web pages.
The link can refer to File, Playlist or Alias of the
Link should consist of 4 parts:
"ums:\\" or "ums://".
Transport protocol followed by semicolon - TCP, HTTP, HTTPS, RTP, MULTICAST.
Media Server IP address followed by backslash. If no port is specified, default
port corresponding to the transport protocol will be used for the connection.
Default TCP/HTTP/RTP/MULTICAST port is 5119; default HTTPS
port is 443.
Actual media name. In no slash or backslash is found in the name, the name will
be treated as the Alias of the live broadcast. Otherwise:
If the word "playlist\" is found in the name, the name will be treated as a
playlist. Otherwise the name will be treated as filename.
The hyperlink for playing a file myfile.avi via TCP Unicast might look like this:
<A HREF="ums:\\TCP:192.168.1.1:5119\Media\Myfile.avi"> Myfile.avi</A>
The hyperlink for playing a live broadcast named MyWebCam via HTTP Unicast might look like this:
<A HREF="ums:\\HTTP:192.168.1.1:5119\MyWebCam">My Web Camera</A>
or like this, if playing on LAN via RTP Multicast:
<A HREF="ums:\\MULTICAST:192.168.1.1:5119\MyWebCam">My Web Camera</A>
The hyperlink for playing a playlist named Media via RTP Unicast might look like this:
<A HREF="ums:\\RTP:192.168.1.1:5119\playlist\Media">Media virtual folder</A>
For previewing local live sources, specify
ums:\\localpreview:ID, where ID is local live source ID.
For playing in fullscreen mode, append ///FULLSCREEN to the end of the link
The part shown in brown is the actual UMS link.
This link can alternatively be used on the local user's machine in two
Passing it as a parameter to Streaming media player:
Running the link alone:
In all the described cases Streaming media player will
launch and play remote media.
7. Creating MMS links
MMS links are a lot like UMS links, with the exception of not specifying the
network protocol right before IP address. Media Server Configuration program
allows creating MMS playlists containing MMS links for any virtual folder. Use
MMS links for "Open URL" option in any MMS-capable player.
Note that the content must be encoded with WMV(VC-1), WMA or MP3 codecs in order to be playable by MMS players.
It is recommended to use forward slashes in MMS links.
Assuming Media Server's port for client connections was changed from default
5119 to 5127,
MMS link for playing a file named "File.avi", residing in virtual folder
"Mediaroot", looks like this:
MMS link for playing a live broadcast named "Webcam" looks like this:
8. Creating RTMP links
RTMP links must have a fixed word for Flash application, which is "live" for live broadcasts
and "vod" for files. Otherwise they look exactly like MMS links.
RTMP links are assigned to a Flash player on a web page. Refer to our demo page
and SDK package for examples.
Assuming Media Server's port for client connections was changed from default 5119
RTMP link for playing a file named "Test.mkv", residing in virtual folder
"Mediaroot", looks like this:
RTMP link for playing a live broadcast named "Webcam" looks like this:
© 2003-2019 Unreal Streaming Technologies. All rights reserved.