Skip to content
Castreon
Channels

Broadcasting from OBS, vMix and encoders (RTMP, SRT, WHIP)

Updated 11 Oct 2026

A Castreon channel can receive a live broadcast from a production program (OBS, vMix), from a hardware encoder or from another application. The broadcast becomes the channel's source like any other: the profile, the outputs, the backup source and the "no signal" image all work the same way.

There are three ways in:

Way When to choose it Plan
RTMP in the simplest — every program and every encoder knows it all plans (from Castreon 1.4.0)
SRT unstable connections (mobile internet, Wi-Fi, long distances): recovers lost packets all plans
WebRTC (WHIP) very low delay, also straight from the browser Enterprise — see WebRTC

RTMP in

1. Adding the source

  1. Open the channel → Edit → Add source and choose RTMP in (OBS / encoder).
  2. Save. Castreon shows Server (in OBS) — in the form rtmp://<domain>/live — and the Stream key, both with a copy button.

The channel is recognised by its key, so all channels use the same port. The key works like a password: whoever has it can broadcast on the channel. New key creates another one — after saving, the old key no longer works. Accounts that can only view the channel do not see the key.

2. In OBS

Settings → Stream: Service = Custom…, Server = the address above, Stream key = the channel's key. Then Start streaming.

Recommended settings (Settings → Output, Advanced mode):

Setting Value
Video encoder H.264 — x264 or the graphics card's encoder; high profile
Rate control CBR
Video bitrate 1080p: 4500–6000 kbps · 720p: 2500–4000 kbps
Keyframe interval 2 s
Audio AAC, 160 kbps, 48 kHz

OBS 29.1 or newer can also send H.265 or AV1 over RTMP; Castreon accepts them. For viewers and video platforms, choose a profile that transcodes them to H.264 if needed — see HEVC and AV1.

In vMix and hardware encoders

  • vMix — Stream → Destination = Custom RTMP Server, URL = the server address, Stream Key = the channel's key.
  • Hardware encoders — for RTMP, enter the server address and the stream key (some devices call it stream name); if the device asks for a single address, use rtmp://<domain>/live/<key>.

3. On the channel page

The Broadcast from OBS (RTMP) card shows the address and the key (hidden, with Show key), who is broadcasting right now — from which address and with which program —, the picture (codec, resolution, frames per second), the sound, the received bitrate and the recommended settings.

What Castreon does with the broadcast

  • H.264 video (and H.265 / AV1) is taken without re-encoding if the channel's profile allows it — a channel without a profile (passthrough) uses no CPU.
  • The sound reaches the channel as AAC 48 kHz.
  • While nobody is broadcasting, the channel waits — this is not a failure. With a backup source, the channel plays the backup and returns to the broadcast at the next check of the main source. With the "no signal" image, the outputs stay open while the broadcast is missing.
  • A channel has one RTMP source and one broadcast at a time. A key cannot be used on two channels, and a stopped channel does not receive broadcasts.

The port and the firewall

The RTMP port is 1935 (TCP) and is changed in Settings → RTMP in (empty = 1935, 0 = off). A port change applies after the service restarts (sudo systemctl restart castreon). Open the port in the firewall, for example:

sudo ufw allow 1935/tcp

SRT from OBS or from an encoder

  1. In the channel, add an SRT source that listens: srt://@:9000 (pick a free port; for encryption add ?passphrase=…, at least 10 characters).
  2. In OBS: Settings → Stream → Service = Custom…, Server = srt://<server-address>:9000 (with ?passphrase=… if you set one), Stream key empty.
  3. Open the port in the firewall on UDP (sudo ufw allow 9000/udp).

SRT recovers lost packets, which makes it the right choice for unstable links. The delay grows with the latency value (the same at both ends).

If it does not work

  • OBS cannot connect — check the address and the key (after New key and saving, only the new key works), that port 1935 is open on TCP and that RTMP in is not turned off in Settings → RTMP in.
  • OBS connects, but the channel does not start — the channel must be Active; look at the Log on the channel page.
  • The picture stalls or drops frames — the connection at the broadcast location is not enough: lower the bitrate in OBS or switch to SRT.
  • The picture does not start on video platforms — see Live event.

Privacy

Cookies & local storage

Strictly necessary cookies are always active. Analytics and marketing use Google services and only start if you accept them — until then nothing is sent to Google. You can withdraw your consent here at any time.

Strictly necessary

Without them, sign-in, forms and your chosen language don’t work. They don’t require consent (§ 25(2) no. 2 TDDDG).

Always active
Name Purpose Duration Type
castreon-session Keeps your session: sign-in and chosen language 2 hours, renewed on every visit Cookie
XSRF-TOKEN Protects forms against forged requests 2 hours, renewed on every visit Cookie
remember_web_… Only if you tick “Remember me” at sign-in Until you sign out, max. 400 days Cookie
__cf_bm Cloudflare: tells visitors and bots apart, only when traffic is being checked 30 minutes Cookie · Cloudflare
castreon:consent Remembers your cookie choice 12 months Local storage
theme Customer account appearance: light, dark or system Until you change it Local storage

Analytics

Google Analytics 4 (Google Ireland Ltd.): which pages are visited, where visits come from and on which type of device — with pseudonymous identifiers, without storing your IP address. Helps us improve the website.

Name Purpose Duration Type
_ga Google Analytics: recognises the visitor (pseudonymous ID) 13 months Cookie · Google Analytics
_ga_VHWQRPHPEF Google Analytics: keeps the state of the visit 13 months Cookie · Google Analytics

Marketing

Google Ads (Google Ireland Ltd.): measures whether visits from Google ads lead to a trial or a plan, and allows Castreon ads to be shown on other websites (remarketing).

Name Purpose Duration Type
_gcl_au, _gcl_aw Google Ads: links the visit to the ad click (conversions) 90 days Cookie · Google Ads
IDE, test_cookie Google Ads: remarketing and ad measurement, on Google domains (doubleclick.net) Up to 13 months Cookie · Google (third party)