Wprowadzenie
Retransmisją nazywamy proces, w którym jeden lub więcej strumieni jest przekazywanych poprzez odrębny serwer w sieci. Serwery nie muszą być programami tego samego typu (np. Icecast może retransmitować sygnał z serwera SHOUTcast). Retransmisja jest używana przede wszystkim w dużych stacjach nadawczych, gdzie odbiorcy rozdzielani są na poszczególnych maszynach.
Rodzaje retransmisji
Oprogramowanie Icecast posiada zaimplementowane dwa rodzaje retransmisji. W pierwszym wypadku obydwa serwery muszą być serwerami Icecast. Może zostać wtedy ustanowione połączenie master-slave (pan-sługa) – wszystko co należy zrobić, to skonfigurować serwer retransmitujący (sługę) stosując odpowiedni adres i port serwera głównego. Serwer retransmitujący będzie również okresowo sprawdzać, czy do serwera głównego nie zostały podłączone nowe źródła i jeśli tak się stanie również będzie je przekazywać. Drugim rodzajem retransmisji jest przekaz pojedynczego strumienia. W tym wypadku serwer-przekaźnik musi zostać odpowiednio skonfigurowany, a retransmitowane są tylko zdefiniowane źródła. Chcąc retransmitować serwer SHOUTcast, należy użyć przekazu pojedynczego strumienia i zdefiniować nazwę strumienia (mountpoint): "/".
Konfigurowanie przekazu (scenariusz pan-sługa)
W przypadku przekazywania wszystkich strumieni, obydwa serwery (retransmitowany i przekaźnik) powinny być serwerami zgodnymi z Icecast. Niżej został opisany fragment pliku konfiguracyjnego:
<master-server>192.168.1.11</master-server>
<master-server-port>8001</master-server-port>
<master-update-interval>120</master-update-interval>
<master-password>hackme</master-password>
Powyższy fragment pokazuje sposób konfiguracji serwera-przekaźnika. W tym wypadku serwer główny nie musi być specjalnie konfigurowany. Gdy przekaźnik zostanie uruchomiony, połączy się z serwerem głównym zlokalizowanym pod adresem 192.168.1.11:8001 i rozpocznie retransmisję wszystkich strumieni. Dodatkowo, co pewien okres czasu (w tym wypadku dwie minuty) sługa sprawdzi, czy do serwera głównego są podłączone nowe źródła – jeśli tak, zostaną włączone do procesu retransmisji. Nazwy strumieni będą odpowiadać tym na serwerze głównym.
Konfigurowanie przekazu pojedynczego strumienia
W tym przypadku serwer główny nie musi być zgodny ze specyfikacją Icecast. W tym trybie obsługiwane są serwery SHOUTcast, Icecast1.x, i Icecast2. Zagadnienie jest omówione na podstawie poniższego fragmentu przykładowej konfiguracji:
<relay>
<server>192.168.1.11</server>
<port>8001</port>
<mount>/example.ogg</mount>
<local-mount>/different.ogg</local-mount>
<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
</relay>
W przykładzie ustawienia są stosowane dla serwera-przekaźnika. Serwer główny nie musi być specjalnie konfigurowany. Gdy serwer skonfigurowany do retransmisji zostanie uruchomiony, połączy się z serwerem głównym pod adresem 192.168.1.11:8001 i rozpocznie retransmisję wybranego strumienia (w tym wypadku /example.ogg). Przy użyciu tego typu retransmisji można pominąć nazwę strumienia i nadać mu zupełnie inną (/different.ogg). Jeśli serwer jest zgodny z oprogramowaniem SHOUTcast, nazwa strumienia podana jako parametr <mount> musi zostać zdefiniowana jako / (slash). Jeśli mają być przekazywane dodatkowe informacje strumienia SHOUTcast, parametrowi <relay-shoutcast-metadata> należy nadać wartość 1.