What the server does between your encoder and your viewers
Your encoder (OBS, vMix, Wirecast, a hardware box) produces one live signal and pushes it to a single address. The streaming server receives it once and repackages it for everybody else: an HLS playlist for phones and browsers, DASH or MPEG-TS for smart TVs and set-top boxes, WebRTC for viewers who need it almost instantly, and RTMP, SRT or RTSP for studios and other servers that want to pull it.
In Cue, every input reaches every output at once, and the picture is only re-encoded when you ask for smaller versions for slow connections. Until then your stream passes through exactly as your encoder made it.
So when you compare streaming server software, ask three things: what can send to it, what can it give each kind of screen, and how much control you keep over who watches.
Which sources can send to it?
Far more than RTMP. Cue accepts all of these:
| Source | Protocol Cue takes |
|---|---|
| Streaming apps and encoders | RTMP or RTMPS |
| A remote studio over the open internet | SRT, encrypted with your stream password |
| Encoders that publish WebRTC (OBS 30 and newer, for example) | WebRTC through WHIP |
| IP cameras | RTSP, pulled with each camera's own login |
| TV head-ends | MPEG-TS multicast or MPEG-TS over HTTP |
| Another streaming server | HLS, RTMP or SRT |
A pulled source can have up to four backup addresses. If the main one drops, Cue moves to the next that works and returns to the main one when it comes back. Per the Cue manual, one channel carries up to eight live streams at once under different stream names.
Some phone apps and hardware encoders only offer a stream-key box and cannot log in with a user name and password. Cue lets those put the password inside the key instead, so they still publish to a protected channel.
What each kind of screen gets back
| Output | Who it is for | Delay behind live |
|---|---|---|
| HLS | Browsers and phones | Set by segment length (2, 4, 6 or 10 seconds) |
| Low-Latency HLS | Players that need to stay close to live | 2-3 seconds by the console's setting label; about six seconds in Primcast's own player tests |
| WebRTC (WHEP) | Auctions, betting, two-way shows | Under a second |
| MPEG-DASH | Smart TVs and set-top boxes | Can get the same low-latency stream |
| MPEG-TS over HTTP | Set-top boxes and IPTV players | Not stated |
| RTMP, SRT, RTSP | Studios, VLC, other servers (RTMP playback once you tick Allow RTMP playback) | Not stated |
Cue also builds a ready web player page for each stream with an embed code for your site, and a still preview of every live stream for your pages. HLS is specified in RFC 8216; WHIP, the WebRTC publishing method, is RFC 9725.
Smaller versions for slow connections, and who does the work
Out of the box Cue passes your original through untouched. Choose an adaptive bitrate set in the channel's settings and it adds lower qualities beside your original, all switching at the same moment so players change smoothly:
- HD: source, 720p, 480p, 360p
- SD: source, 480p, 360p
- Mobile: source, 360p, 240p
The encoding runs on an NVIDIA card (NVENC) where the server has one, then Intel Quick Sync, then the processor. Quick Sync is used on Linux; on Windows Server Cue uses NVIDIA cards or the processor. On the m710x server Cue was built on, Primcast made live versions of seven full-HD channels at once and plans on six to leave headroom.
The same settings can add your logo, deinterlace older camera feeds, change the volume and choose an audio track. Those changes apply to what HLS and DASH viewers receive; RTMP, SRT, RTSP and WebRTC get the stream as it arrived.
Quality versions are made with FFmpeg. On Ubuntu 18.04 and CentOS, adaptive bitrate needs a newer FFmpeg than the system ships, and the Server page in the console tells you if FFmpeg is missing.
Keeping the stream yours
Running your own engine means the access rules are yours too. In Cue each of these is a setting on the channel:
- A publishing password per channel, so strangers cannot broadcast on it
- Signed links that expire, optionally tied to the viewer's IP, so a copied link stops working
- A list of the only websites allowed to embed your player
- Address and country rules, and a cap on viewers per channel
- Your own login system asked before each viewer or encoder gets in
- Rewind (DVR) from 30 minutes up to 30 days back, recordings kept on your server, and MP4 clips of any part
For the rest of your setup, Cue sends webhooks when a stream starts or stops, a source drops or a recording finishes, and keeps retrying until your system hears them. Ad breaks marked with SCTE-35 in an SRT, MPEG-TS or RTMP feed are written into the HLS stream in every quality, and the API can start a break when your feed carries no markers.
From an empty server to your first live stream
- Pick a server on the Cue page, choosing Linux or Windows Server. Once the machine is ready, Primcast installs Cue and licenses it to that server; there is nothing for you to download.
- Open the console at
https://your-server:8443/classic/and sign in asadmin, with the password you chose through the secure link Primcast emails you (the password itself is never sent by email). Your browser will warn about the certificate at first, because Cue starts with one it made for itself. - Create an application for your channel. Its Connect your encoder box shows the exact address, stream name and user name.
- In OBS, go to Settings, Stream, choose the Custom service, enter
rtmp://your-server:1935/yourchannelas the server and your stream name (livestreamon new channels) as the key, tick Use authentication and add the user name and publishing password. - Set a keyframe every 2 seconds, as the Cue manual advises, and press Start Streaming.
- Copy the HLS link from the channel's Watch box (it looks like
http://your-server:1935/yourchannel/livestream/playlist.m3u8until you switch playback to https), or paste the embed code from the same box into your site. - Point a hostname at the server and tick the Let's Encrypt option under Settings, so the console and your streams go https and the certificate renews itself.
Everything in the console is also available to scripts through Cue's API on port 8443, with tokens you create under Settings. This example from the Cue manual lists your channels and then opens a 30-second ad break on channel c3:
curl -H "Authorization: Bearer YOUR_TOKEN" https://your-server:8443/api/v1/channels
curl -X POST https://your-server:8443/api/v1/channels/c3/cues \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"stream":"livestream","type":"out","duration":30}'
Until your server has a trusted certificate, curl needs -k for these calls. The token is shown once when you create it, and it sits in your shell history after you paste it; give each script its own token with only the rights it needs.
Systems and ports it needs
Cue installs on Ubuntu 18.04 or newer, Debian 11 or newer, AlmaLinux, Rocky Linux and RHEL 8 or newer, CentOS 7 and 8, and Windows Server 2012 R2, 2019, 2022 and 2025, on an Intel or AMD processor. It does not run on Primcast's ARM servers. On Linux the installer adds its firewall rules through nftables or firewalld; on Windows they appear under Cue in Windows Firewall.
| Port | Used for |
|---|---|
| 1935 TCP | RTMP in (and RTMP out once Allow RTMP playback is ticked), and HTTP playback |
| 80 and 443 TCP | Web playback; RTMPS rides on 443 |
| 8443 TCP | The console and the API |
| 9998 UDP (9999 if taken) | SRT |
| 554 TCP (5554 if taken) | RTSP |
| 8189 TCP and UDP | WebRTC |
On Windows Server, if IIS is running it keeps ports 80 and 443, and Cue cannot play back on them.
How the licence works
Cue is licensed to one server: the key works on the machine it was first switched on for, and reinstalling that machine keeps it. You can take it two ways. Order it with a Primcast server and Primcast does the install, or buy the licence alone for a server at any hosting company, paste two commands, and the licence ties itself to that server the first time Cue starts.
Each licence lasts a week and renews itself twice a day, so a problem on Primcast's side does not take your streams off air. If the account paying for Cue closes, streaming stops once the last licence runs out; the console stays open so a key can be entered. Current pricing for both routes is on the Cue page.
When a single server is not the whole answer
One server sends every viewer their copy through its own port, so the audience it can carry is roughly the port speed divided by the bitrate each viewer pulls (our arithmetic, before overheads). Primcast's dedicated streaming servers page works it out as about 133 viewers at 1080p (6 Mbps) on a 1 Gbps port, keeping the total under 80% of the port. If you expect more viewers than that, put a CDN in front: Cue's video pieces can be cached by one, and Primcast's video CDN delivers from five cities.
If you want a whole machine with a bigger port for your own engine, those streaming servers come on unmetered ports from the included 1 Gbps up to 100 Gbps. And if you would rather not run a server at all, a one-off broadcast can go straight onto the CDN through live event streaming.
Questions people ask
- Which encoders can publish to Cue?
- Anything that sends RTMP, RTMPS, SRT or RTSP, which covers OBS, vMix, Wirecast and FFmpeg. OBS 30 and newer can also publish over WebRTC using WHIP, with your publishing password as the bearer token. Apps that only have a stream-key field can carry the password inside the key.
- How close to live can viewers watch?
- WebRTC plays less than a second behind live. Low-Latency HLS is labelled 2-3 seconds behind live in the console, and kept a player about six seconds behind in Primcast's own tests; DASH players can get the same low-latency stream. Plain HLS trades delay for compatibility: smaller segments mean less delay.
- Can I run it on Windows Server?
- Yes. Cue runs on Windows Server 2012 R2, 2019, 2022 and 2025 as well as on Linux. On a Primcast server it installs itself the first time Windows starts.
- Can I put it on a server I already rent somewhere else?
- Yes, as a licence on its own. The server needs one of the supported Linux releases or Windows Server versions on an Intel or AMD processor. After you pay, your dashboard shows the key next to the two install commands, and you do the install yourself.