A media server delivers video and audio content to clients who request it. The term is used to refer both to a software application that performs this function and a host that’s running the media server software.
The most common use of media servers is probably to deliver video on demand (VOD), in which the media server retrieves prerecorded video content from storage and delivers it across the Internet. In the simplest case, the video file is embedded in a web page and stored on the same host as the other components of the page. But perhaps the most common use case for VOD is subscription services like Netflix, Amazon, and Hulu, where media servers located all over the world deliver video to millions of customers from content delivery networks (CDNs). As discussed further below, there are several techniques for VOD, and a media server needs to support some or all of them depending on the kinds of video players it supports.
Live streaming is another increasingly popular use of media-streaming servers. In this case, the media server delivers content as it is generated in real time (or with only a slight delay). Pay-per-view sporting events are examples of live streaming. In contrast to VOD, with live streaming the content provider determines when users view the video (as with broadcast television). Live streams can also be recorded for later access as VOD.
Techniques for delivering video vary quite a bit in the amount of control the player has over playback. They’re listed here in order of increasing sophistication:
NGINX Plus and NGINX are the best-in-class media server solutions used by high-traffic websites such as Dropbox, Netflix, and Zynga. More than 350 million websites worldwide rely on NGINX Plus and NGINX Open Source to deliver their content quickly, reliably, and securely.
NGINX Plus supports all of the techniques, formats, and encodings described in this article, including Flash, MP4, HLS, and HDS for VOD. For HLS, it can even create the segments and the playlist dynamically if they don’t already exist. For live streaming, NGINX Plus supports Adobe’s Real Time Messaging Protocol (RTMP), HLS, and Dynamic Adaptive Streaming over HTTP (DASH).
Unlike some other media servers that specifically target and limit themselves to media delivery, NGINX Plus is a comprehensive application delivery platform that provides reverse proxying, advanced load balancing, caching, and web serving along with features specifically designed for streaming media.
For a complete discussion of the media-streaming capabilities of NGINX Plus (and how to configure them), check out our whitepaper, Serving Media with NGINX Plus.