DASH video, like any other video, includes two parts: the feed serves for videos, and the player uses them and presents them to the user. I will explain what is needed on both sides.
DASH Video Service
Pieces of DASH video can be delivered via HTTP or HTTPS by any modern web server - Apache, ngnix, IIS and others. On the server side, there is no need for a plug-in or additional software for servicing DASH videos - these are just files, and every web server knows how to serve files. You may need to do some configuration.
Most web servers have a list of the types of MIME files that they are allowed to serve - you usually need to add DASH videos to this list, since the default settings tend to be restrictive for security reasons and do not allow DASH videos to be streamed.
Here is an example web.config for IIS that allows you to serve DASH video:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <staticContent> <remove fileExtension=".m4s" /> <mimeMap fileExtension=".m4s" mimeType="video/mp4" /> <remove fileExtension=".mpd" /> <mimeMap fileExtension=".mpd" mimeType="application/dash+xml" /> <remove fileExtension=".m4f" /> <mimeMap fileExtension=".m4f" mimeType="video/mp4" /> <remove fileExtension=".m4a" /> <mimeMap fileExtension=".m4a" mimeType="video/mp4" /> </staticContent> </system.webServer> </configuration>
Different elements of video/mp4 exist, since different DASH encoders name their files differently.
Some DASH players, especially web servers, may also require the server to support resource sharing (CORS) . This is a security mechanism that helps prevent the launch of malicious websites by letting you choose which sites your content can appear on. The exact CORS headers your server must provide are also player-specific. In some situations, additional headers are used and should be explicitly included. I will leave CORS details out of the scope of this answer. Here is a simple IIS configuration example that allows any website to consume submitted videos:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> </customHeaders> </httpProtocol> </system.webServer> </configuration>
Play DASH Video
You need a player, obviously. There are various types of players: standalone desktop applications (e.g. VLC), SDKs for players for Android / iOS applications (e.g. ExoPlayer and Microsoft PlayReady Client SDK) and players for websites (e.g. dash.js and Bitdash). In Windows 10, Internet Explorer will even enable the built-in player for DASH videos.
Here is dash.js - this is the player. You post it on your website if you want your site to play video. Other players are available.
Depending on how you want to offer content to the end user, you select a player and, if not a separate player, insert it into your application or website. You provide the url to the player and he will do his job. Plain.
Players on websites require the server to support CORS, but standalone applications or applications hosted on the site do not need it.