Migration

Migrate your existing setup

Import the configuration of your existing streaming server, keep your channel names, URLs, SRT ports, passphrases and auth backends, compare both servers side by side, and cut over when you are ready. Nothing is dropped silently: every directive that maps differently is in the import report.

Four steps

1

Import, disabled

Run the importer on your existing configuration file — from the command line, the REST API (dry run by default) or the web UI under Settings.

2

Review the report

Errors, warnings and infos per stream, directive and line. Typical work: set up the auth hook, replace skipped input types.

3

Enable and compare

Enable channels one by one or by label (e.g. all that ran on the old server), and compare renditions, audio languages, subtitles and latency.

4

Cut over

Move DNS, the virtual IP or the load balancer. Encoders and SRT viewers keep their port numbers and passphrases.

# import every channel disabled, merged into the current configuration, with a JSON report;
# the exact importer command is in the operations guide shipped with the server
alteoxms -check-config -config /etc/alteoxms/config.new.json

The emitted configuration always passes the config check. Secrets the new model cannot use (stream passwords, auth backend tokens) are not copied; SRT passphrases and input headers are, and the file is written with mode 0600.

Your control plane keeps working

Auth backend protocol

The server can ask your existing HTTP auth backends in the request format they already understand — including multiple backends in parallel and periodic re-checks via X-AuthDuration. No change on the backend side.

Event sinks

Compatible event sinks with the same JSON array format: play_started, play_closed and source events.

Monitoring API

A compatible monitoring API subset with streams, server statistics and event sinks, so the control plane that monitors your current edges can monitor this server.

Configuration lookup

Dynamic channels from the same configuration backend (config_external): a requested stream name is looked up and run on demand.

What maps to what

Existing configurationAlteox Media Server
template NAME { … }Channel template + transcode profile; streams store only their own settings
stream NAME { … }Channel (same name, sanitized); the original name and title kept as labels
input URL (repeated)Inputs in the same order = failover priority; priority=N kept
srt://, tshttp(s)://, hls(s)://, udp://, rtp://, copy://Same input types (tshttp → http)
publish:// + srt_publish { port; passphrase; }Dedicated SRT publish port, same port and passphrase
srt_play { port; passphrase; }Dedicated SRT play port, same port and passphrase
input option header.NAME=VALUE / user_agent=Input request headers and User-Agent
transcoder vb=… ab=… hw=nvenc deviceid=N …Transcode profile: renditions, audio rules, nvidia:N
segment_duration, segment_countHLS/DASH segment length and window
on_demand, clients_timeouton_demand, on_demand_idle
push udp://…UDP output
source_timeout Nfailover.loss_timeout
config_external URLDynamic channels from the same lookup server
on_play / password / auth_backendAccess check switched on; your auth backend keeps working with the compatible backend protocol

URLs

HLS stays /<channel>/index.m3u8, HTTP MPEG-TS stays /<channel>/mpegts, DASH is /<channel>/manifest.mpd. A single ABR rung is selected by rendition name in the path (/<channel>/720p/mpegts, SRT read:<channel>/720p) instead of a track filter.

Not supported

We say it up front, so you can plan for it.

  • DVR / timeshift, thumbnails, EPG
  • RTMP and RTSP ingest
  • Vendor-specific server-to-server inputs and cluster ingest
  • Vendor-specific playback URL variants (beyond index.m3u8, mpegts and manifest.mpd)
  • Prefix templates (template t prefix…)

On-demand behaviour

As before, the first viewer wakes an on-demand channel and waits until data flows. A transcoded on-demand stream is expected to need about 5–12 s with NVENC. transcode_on_demand (new) keeps the source running and only starts the transcoder for viewers of a rendition.