Blog

What Is a Streaming Server and How Does It Work?

High-performance servers for video and media streaming

A streaming server delivers audio and video to viewers over the internet while they watch, instead of making them download whole files first. It takes in a live feed or reads stored videos, prepares them in the formats players need, and sends them out to every viewer.

This article explains the main types of streaming servers, the hardware and software they need, the protocols they use, and how to size one.

What a streaming server does

A streaming setup has three jobs:

  • Ingest: receive a live feed from an encoder such as OBS, or read video files from storage;
  • Prepare: encode or transcode the video into the formats and qualities viewers need, and cut it into small segments;
  • Deliver: send those segments to viewers' players, often through a content delivery network (CDN) for large audiences.

Live streaming does all three in real time. Video on demand prepares the files once and delivers them many times.

Types of streaming servers

Dedicated servers

Dedicated streaming servers are physical servers used only by you. You choose the software and settings, the whole machine is yours, and the monthly price stays the same. That makes them a good fit for steady, high traffic and for platforms that need control over their own stack.

Cloud-based servers

Cloud providers such as Amazon Web Services, Microsoft Azure and Google Cloud offer streaming services and virtual servers that scale up and down with demand. They suit traffic that changes a lot, though data transfer is often billed per gigabyte, which can make heavy streaming expensive.

Hardware a streaming server needs

  • Processor (CPU) or graphics card (GPU): encoding and transcoding are the heaviest work. A GPU with a hardware encoder can transcode several streams at once.
  • Memory (RAM): enough to buffer streams and cache popular videos.
  • Storage: large capacity for video libraries, and fast drives (SSDs) to read files quickly for many viewers.
  • Network port: the upload capacity that carries every stream to viewers. It is often the real limit (see "How to size a streaming server" below).

Software a streaming server runs

  • A media server receives the feeds, packages them and serves the streams. Common choices include NGINX with an RTMP module, Wowza Streaming Engine and Ant Media Server.
  • An encoder or transcoder such as FFmpeg creates the different qualities of each video.
  • A content management system organizes the video library, for video on demand.

Streaming protocols

Protocols decide how video travels from the source to the server and from the server to viewers.

RTMP (Real-Time Messaging Protocol)

Created by Macromedia, later part of Adobe, RTMP is now used mostly for ingest: many encoders and streaming platforms use it to send a live feed to the server. Browsers no longer play RTMP directly, so the server repackages the stream for viewers.

SRT (Secure Reliable Transport)

SRT is an open protocol for sending live video over unreliable networks. It recovers lost packets and can encrypt the stream, which makes it a common choice for contribution feeds from the field or between studios.

HLS (HTTP Live Streaming)

Developed by Apple, HLS is the most widely supported delivery format. It splits video into short segments sent over ordinary HTTP, and the player switches between qualities as the viewer's connection changes (adaptive bitrate). Low-Latency HLS shortens the delay for live events.

MPEG-DASH (Dynamic Adaptive Streaming over HTTP)

MPEG-DASH is an international standard that works like HLS: segments over HTTP with adaptive bitrate. It is widely used on Android, smart TVs and in browsers.

WebRTC

WebRTC delivers video with a delay of under a second, which suits video calls, auctions and other interactive streams. It costs more to run for large audiences than HLS or DASH.

Encoding and transcoding

A codec compresses video and audio so they can travel over the internet. Common video codecs are H.264 (AVC), H.265 (HEVC), VP9 and AV1; common audio codecs are AAC and Opus. H.264 plays almost everywhere, while H.265 and AV1 give the same quality at a lower bitrate, at the cost of more processing.

Transcoding turns one input into several versions, for example 1080p, 720p and 480p, so each viewer's player can pick the one their connection handles. It is the most demanding job on a streaming server, so plan the CPU or GPU around the number of live streams you transcode at once.

How to size a streaming server

Multiply your peak number of viewers by the bitrate they watch at. For example, 1,000 viewers at 5 Mbps need about 5 Gbps of upload capacity, and 2,000 need about 10 Gbps. A typical 1 Gbps port tops out at around 200 viewers at that bitrate.

For larger audiences, use a server with a 10 Gbps or 20 Gbps port, or put a CDN in front of your server so the CDN carries most of the viewer traffic.

Streaming servers at LyraHosting

Our 10Gbps dedicated servers in the Netherlands are built for streaming and file delivery, with 5, 10 or 20 Gbps ports dedicated to you and unmetered traffic on most plans. See our streaming server plans to get started.

Host it offshore with LyraHosting

5, 10 and 20 Gbps servers with a dedicated port in the Netherlands, most with unmetered traffic.