A KH multi-host relay keeps one local listening mount while selecting among several origin feeds. This is useful when the origins represent compatible alternatives for the same programme. It is not a mixer and does not align unrelated programmes in time.
State the host order
This excerpt belongs directly under <icecast> on a receiving test server. The origins below are two local test instances, and both must provide compatible /feed.ogg media:
<relay>
<local-mount>/programme.ogg</local-mount>
<on-demand>1</on-demand>
<retry-delay>30</retry-delay>
<host>
<server>127.0.0.1</server><port>8001</port>
<mount>/feed.ogg</mount><priority>1</priority>
</host>
<host>
<server>127.0.0.1</server><port>8002</port>
<mount>/feed.ogg</mount><priority>2</priority>
</host>
</relay>In the documented host order, priority 1 precedes 2. Unspecified priorities preserve an order based on the list. Keep priority values explicit when configuration is generated. Shared port/mount settings may be placed at the relay level, but first verify the expanded effective host definitions.
Understand a feed switch
If an origin fails, KH tries alternatives according to the relay policy. The pinned documentation describes retrying higher-priority feeds and switching the feed back when one becomes available. Listeners remain attached to the local relay mount; that is different from moving their connection to another fallback mount.
The host streams must remain compatible. Matching filename extensions are insufficient evidence. Check actual codecs, container/framing, metadata and player behaviour. Origin switchovers can still be audible or cause decoder problems; do not promise seamless delivery merely because a host list exists.
Test recovery as well as outage
Begin with both origins healthy, then fail the preferred one. Record which origin serves the local mount and what the listener hears. Restore it and observe whether and when the configured higher-priority recovery occurs. Next fail both origins and inspect fallback or disconnect behaviour. Repeat an on-demand first connection. Test only your isolated origins, and keep source takeover disabled unless it is part of the separate takeover policy.