Skip to content
Castreon
Installation

Migrating from Astra (Cesbo)

Updated 04 Oct 2026

Take your DVB tuning and channels from Astra (Cesbo) into Castreon from the panel: DVB adapters, services and outputs. Combined with an xaccel-codec backup, every channel that pulled its picture from Astra gets its DVB source directly in Castreon.

Available from Castreon 1.0.3. Supported: Astra configurations in JSON format (/etc/astra/astra.conf).

Two typical setups

Your setup today What Castreon does
Astra captures DVB, a transcoder (for example xaccel) pulls from Astra over HTTP Castreon does both in the same channel. Each channel that pulled from an Astra output gets the DVB source of that Astra stream (adapter and service). Astra is no longer needed.
Astra is your only system (capture and delivery) Castreon creates a channel for each Astra stream, with the DVB source and the same outputs.

What is read and what is not

Castreon reads only two parts of the configuration:

  • the DVB tuning (dvb_tune) — becomes DVB adapters;
  • the streams (make_stream) — their DVB service (pnr) and their outputs.

Users, passwords, the license and the conditional access settings of Astra are not read. A stream that used conditional access in Astra is marked with a note: that setting is not migrated.

The configuration is only read. Castreon does not connect to Astra and does not change anything on it.

Before you start

  • Castreon is installed and activated on the server you are migrating to: see Installation and activation.
  • The DVB cards must be in the Castreon server. A card can only be used by one program at a time: if Castreon runs on the same server as Astra, stop Astra before you start the DVB channels in Castreon.
  • If you also used xaccel-codec, have its backup ready: see Migrating from xaccel-codec. Upload both in the same analysis.

1. Copy the Astra configuration

The configuration is usually /etc/astra/astra.conf. To see which file your Astra service uses, run on the Astra server:

systemctl cat astra | grep ExecStart

The file comes after -c (%p stands for the service name, so /etc/astra/%p.conf means /etc/astra/astra.conf). Copy it to your computer, for example:

scp root@ASTRA-SERVER:/etc/astra/astra.conf .

Handle the file with care. It contains Astra's passwords. Castreon does not read them, but the file does contain them: keep it on a trusted computer and delete it when the migration is done.

2. Analyse

  1. In the Castreon panel, open Settings → Migration (xaccel, Astra).
  2. Under Astra (Cesbo) configuration, choose the file.
  3. If you also migrate xaccel, choose its backup under xaccel-codec backup as well.
  4. Click Analyse. Nothing is changed yet; the analysis stays valid for 30 minutes.

3. How channels are linked to Astra

A channel that pulls from an Astra output — for example http://ASTRA:6740/channel1 — is matched with the Astra stream that has that output, by port and path. The channel then gets:

  • the DVB source of that stream as its main source (adapter + service SID);
  • its old HTTP address from Astra as a backup source, so the picture keeps flowing from Astra while you move over.

This works for:

  • channels in an xaccel backup uploaded in the same analysis;
  • channels that already exist in Castreon (for example imported from xaccel earlier, or created by hand). They are updated, not recreated: only the DVB source is added in front; profile, outputs and all other settings stay as they are.

4. Read the report

  • Channels — channels that will be created, and N existing channels get the DVB source;
  • the table — new channels with their Source (for example DVB · Cable 586 · SID 40901), outputs and notes;
  • Existing channels getting the DVB source from Astra — the channels that will be updated, with their new DVB source;
  • DVB adapters — what will be created, and what is reused (already exists, that one is used);
  • What is not migrated — users, passwords and conditional access settings, streams disabled in Astra.

DVB adapters

Each Astra tuning becomes a Castreon adapter: cable (C, C/A) becomes DVB-C, terrestrial (T, T2) becomes DVB-T / DVB-T2. Satellite tunings (S, S2) are reported but not created; Castreon currently tunes cable and terrestrial.

Adapters are matched by mux (system, frequency and, for cable, symbol rate), not by card. If Castreon already has an adapter on the same mux, that one is used. A new adapter is created disabled when:

  • the tuning is disabled in Astra (disabled in Astra — comes in disabled);
  • its card is already used by another enabled adapter on a different mux (the card is used by another mux — comes in disabled).

Check and enable them under DVB adapters: see DVB adapters, tuners and scanning.

New channels from Astra streams

Also create new channels for Astra streams without a channel (N) decides what happens to the Astra streams that no channel pulls from:

  • unticked — only the DVB adapters and the DVB sources of the linked channels are taken. This is the default when there are channels to link (Astra was only your capture system);
  • ticked — each of those streams becomes a Castreon channel. This is the default when you upload only the Astra configuration and there is nothing to link.

New channels are passthrough (no transcoding) and get:

  • the DVB source of the stream;
  • outputs: Astra HTTP outputs become HTTP-TS; UDP and SRT outputs are kept as push outputs (the network interface prefix, for example eth0@, is dropped); a stream without outputs gets HTTP-TS.

Streams disabled in Astra are not imported.

Old Astra addresses

With new channels ticked, the report also offers Old Astra addresses also work in Castreon (ports …). Castreon then also listens on the old Astra ports and serves the same paths as HTTP-TS, so players and load balancers only change the host. The same access rules apply as for the regular Castreon addresses.

  • Tick it only if something other than your transcoder pulls from Astra.
  • The ports must be free: on a server where Astra still runs, they are taken. Castreon then writes a warning to its log; after you stop Astra, run the import again (or restart Castreon) to open them.
  • Open these ports in the firewall.

5. Import

Click Import N channels (stopped), or Update N channels when only existing channels are linked. New channels are created stopped.

6. Check and switch over

  1. Open a linked channel. Source 1 must be DVB (adapter and SID), source 2 the old HTTP address from Astra.
  2. Under DVB adapters, check that the adapters are locked on signal.
  3. If Castreon runs on the same server as Astra, stop Astra so the cards are free for Castreon. Then start the channels.
  4. When everything runs from DVB, you can remove the old HTTP backup sources that point to Astra.

If Astra runs on another server and keeps running, a channel whose DVB source cannot start falls back to the HTTP address from Astra. This lets you move gradually.

Running it again

The import can be repeated safely: streams that were already linked or imported are recognised and are not duplicated, and existing adapters are reused.

If something goes wrong

  • “The file does not look like an Astra configuration” — use the JSON configuration from /etc/astra/ (see step 1). Configurations written as Lua scripts (very old Astra versions) are not supported; open a ticket.
  • No channel is linked, although the transcoder pulls from Astra — the channel's source must be the Astra HTTP output with the same port and path as in Astra (for example :6740/channel1).
  • A DVB channel does not start — check under DVB adapters that the adapter is enabled and locked, and that Astra no longer uses the card.
  • The old Astra addresses do not answer — the port is used by another program (often Astra itself) or blocked by the firewall.

If the problem persists, open a ticket and attach the report (a screenshot is enough): see How to open a good ticket.

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)