Skip to content
Castreon
Channels

IP cameras (RTSP) and H.265 → H.264

Updated 08 Oct 2026

Castreon can take the picture straight from an IP camera over RTSP and deliver it like any other channel: HLS, DASH, WebRTC, SRT, push to a CDN. Cameras that send H.265 can be turned into H.264 with one click, so they play in any browser.

Available from Castreon 1.1.0, on all plans.

What you need

  • The camera's RTSP address. You find it in the camera manual or its web interface (usually under Network → RTSP). Common examples: rtsp://192.168.1.64:554/stream1, rtsp://192.168.1.64:554/Streaming/Channels/101.
  • The camera's user and password, if it asks for them.
  • The Castreon server must reach the camera on the RTSP port (554 by default). If the server and the camera are in different networks, connect them with a VPN instead of opening the camera to the internet.

Many cameras have two streams: a main one (full quality) and a sub stream (low resolution and bitrate). For viewers on phones or weak connections the sub stream is often enough.

Adding the camera

  1. Channels → new channel (or Edit an existing one).
  2. Under Sources, Type → IP camera (RTSP).
  3. Camera address — without user and password. If you paste an address that contains them (rtsp://admin:password@…), they move into their own fields.
  4. Transport — TCP (recommended) works through routers and firewalls, without losses. UDP only in a clean local network. Automatic leaves the choice to FFmpeg.
  5. User and Password. The password is kept on the server and never shown again: after saving, the field shows “•••••••• saved”; leave it empty to keep it. The password doesn't appear in the log, the audit log or the FFmpeg command shown in the panel. Special characters (@, :, #, spaces) are fine.
  6. Test the camera — Castreon reads a few seconds and tells you what the camera sends, for example “Works: H264 1920×1080 · 25 fps · audio PCM_ALAW 8 kHz · read in 1,245 ms”, or the camera's error.
  7. Save.

Like any channel, the camera can have backup sources: if the first doesn't answer, Castreon moves to the next one.

H.265 → H.264

Many cameras send H.265 (HEVC). Browsers and many players can't play it. If Test the camera shows H.265 and the channel has no transcoding profile, a warning appears with the button Use the “Camera → H.264” profile:

  • the profile is created on the first click and chosen for the channel — then just Save; for further cameras the same profile is chosen;
  • H.264 at the camera's resolution, a keyframe every 2 seconds, AAC 48 kHz audio;
  • the bitrate follows the camera you create the profile with: below 720p 1,200 kbit/s, 720p 2,500 kbit/s, 1080p 4,500 kbit/s, 1440p 8,000 kbit/s, 4K 12,000 kbit/s. For cameras with another resolution, change the bitrate under Profiles or make a copy of the profile.

Transcoding costs CPU (or GPU, if the profile uses one). A camera that already sends H.264 needs no profile.

Audio

Cameras often send G.711 audio (PCM, 8 kHz), which HLS and most players don't carry. Without a profile, Castreon copies the picture as it comes and converts the audio to AAC 48 kHz on its own — no settings needed.

When the camera drops

If nothing arrives from the camera for 10 seconds, Castreon stops reading and retries on its own. When the camera is back (after a reboot, a power cut or a network problem), the channel starts again without you doing anything.

Common problems

  • 401 Unauthorized: the user or password is wrong, or the user may not view the stream (check its rights in the camera).
  • “the source did not respond within 12s”: the server can't reach the camera — address, port, network or firewall. Try TCP.
  • “The camera answers but sends no picture”: the stream path in the address is wrong (for example another channel or stream number).
  • The picture breaks up or shows artefacts: switch to TCP; on Wi-Fi or weak links, lower the bitrate in the camera's settings.
  • Nothing in the browser, but VLC works: the camera sends H.265 — use the Camera → H.264 profile.

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)