Wskrzeszam Radio SAR

Chciałem podzielić się z wami moją przygodą w wskrzeszaniu transmisji Radia SAR na Politechnice Gdańskiej.

Radio SAR - Studencka Agencja Radiowa, to organizacja studencka na Politechnice Gdańskiej działająca od 1957 roku. Oryginalnie zajmowała się działalnością kulturalno-dziennikarską oraz propagandową. W latach 90’ chwilowo na falach radiowych jako Radio ARnet. W 2003 roku organizacja została wskrzeszona w postaci radia internetowego - Radio SAR.

Poniżej kilka linków z zasobami archiwalnymi:

  1. Archiwum 65 lecia SAR.
  2. Strona upamiętniająca historię SAR z czasu otwarcia Radia SAR.
  3. Archiwum SAR w Bibliotece PG.

Problem

Stacja po latach wciąż cieszy się zainteresowaniem studentów, a co roku dołączają nowe osoby zainteresowane prowadzeniem swoich audycji. Nie da się ukryć, że rola radia, a szczególnie radia internetowego przemija z czasem. W pierwszych latach działalności radio było szalenie popularne, nadając w ramach sieci SKOS (20 Urodziny SKOS! Relacja). W ostatnich latach, szczególnie po pandemii, radio upada od strony technicznej - zarówno wyposażenia studia, ale też części informatycznej.

Problemy z stabilnością sieci i komputerów znajdujących się w studiu sprawiły, że w ostatnich latach transmisja radia potrafiła być nieaktywna przez tygodnie.

Aby dać organizacji jak najlepszą szansę na wskrzeszenie się i odnalezienie swojego nowego ja, chciałem od dłuższego czasu zająć się aspektem techniczny. I w te wakacje znalazłem ten czas, odrywając myśli od innych aktywności.

Infrastruktura nadawcza

W ostatnich latach architektura radia była bardzo prosta. Na jednym z komputerów w reżyserce był uruchomiony serwer Icecast, do którego łączono się oprogramowaniem BUTT z innego urządzenia prowadzącego stałą transmisję. Na tym komputerze było uruchomione oprogramowanie AutoDJ grające ciągle muzykę, a w trakcie audycji można było przejść na strumień wychodzący z konsolety. Infrastruktury audio nie jestem w stanie opisać, bo nie mam w tym doświadczenia.

Wyglądało to mniej-więcej tak:

Prosto i działało przez większość czasu. Główny mankament tego rozwiązania jest taki, że kilka urządzeń musi pracować ciągle aby utrzymać transmisję. Lokalizacja nie pomagała, ponieważ w losowych momentach w akademiku potrafił być zresetowany prąd. UPS by nie pomógł, bo siadała też sieć SKOS. Zdarzyło się też, że konfiguracja SKOS była skopana i przez tygodnie nie było dostępu do internetu.

Zróbmy coś lepszego

Przede wszystkim chcemy wynieść się z piwnicy w Domu Studenckim nr 2. Fajnie by było mieć lokalizację poza akademikiem z której będzie prowadzona transmisja. Z tego powodu poprosiliśmy Centrum Usług Informatycznych PG o przyznanie Radiu jakiegoś małego VPSa na którym można by postawić serwer Icecast. Zapytanie wysłaliśmy w marcu 2023 i… proces został zamknięty dopiero w lipcu 2024.

Serwer dźwięku to jedna rzecz, drugim aspektem jest utrzymanie ciągłości strumienia dźwięku. Rozwiązanie z ciągłym połączeniem BUTTa jest ok, ale pozostawia wiele do życzenia w kwestii zarządzania zdalnego. Bez obecności w reżyserce zmiana utworów musi być prowadzona przez RDP czy innego Team Viewera. Słabo. W przypadku gdy chcemy przenieść transmisję np. w teren, transmisja musi być przerwana, i połączona z innego miejsca, co też powoduje rozłączenie słuchaczy w ich odtwarzaczach.

Aby to poprawić, chcemy wprowadzić jakąś formę cyfrowego mixowania dźwięku, nomen omen AutoDJ, działającego po stronie “serwera”, tak aby połączenie z reżyserki było odciążone i wymagane tylko kiedy chcemy poprowadzić audycję.

Pierwotnie miało być zastosowane rozwiązanie LibreTime, które jest forkiem profesjonalnego oprogramowania AirTime. Okazało się jednak straszne w utrzymaniu, a instalacja zawiła (jak teraz patrzę, dużo się poprawiło od mojego oryginalnego researchu, mogę jeszcze wrócić do tego tematu).

Alternatywą jest AzuraCast - o wiele prostsze w instalacji i zarządzaniu, a nawet posiadające więcej funkcji.

Obydwa rozwiązania pozwalają na wirtualne zarządzanie stacją radiową. Usługa wybiera utwory z playlist, uruchamia jingle, odtwarza powtórki programów zgodnie z harmonogramem etc. Kiedy przychodzi czas transmisji z reżyserki, oprogramowanie akceptuje połączenie i przekierowuje dźwęk bez przerywania strumienia słuchaczy. Sercem implementującym tą funkcjonalność jest Liquidsoap, język pozwalający na programistyczne definiowanie strumieni audio i video. Instancja Azuracast posiada również swoją instancję Icecasta, który może być traktowany jako backup.

Azuracast zostało zainstalowane na jednym z komputerów w radiu i przejęło rolę głównego urządzenia nadającego. Sygnał dźwiękowy z Azuracast jest przekierowany do zewnętrznego serwera Icecast, do którego łączą się użytkownicy. W przypadku gdy połączenie z Azuracast jest zerwane, serwer Icecast został skonfigurowany do odtwarzania sygnału zastępczego - powtarzającego się jingla radia.

Idealnie byłoby, gdyby cała instalacja Azuracast znajdowała się w “chmurze”, jednak dostępna przestrzeń dyskowa na VPSie nie pozwala na jej efektywne wykorzystanie. Bez możliwości trzymania utworów muzycznych na tej samej maszynie nie da się zmiksować sensownego sygnału.

Ostatecznie architektura prezentuje się następująco:

W tym układzie, połączenie z reżyserki jest opcjonalne. Cały sygnał stacji jest miksowany na jednej maszynie i replikowany na zewnętrznym serwerze Icecast. W przypadku awarii, reżyserka wciąż może połączyć się do zewnętrznego serwera Icecast, który w międzyczasie będzie grał dźwięk zastępczy.

Efekt końcowy

ToDo

Architektura cały czas ma wąskie gardło - instancja Azuracast znajduje się na jednej maszynie, która nie posiada nawet redundancji dysków. Mam nadzieję, że dzięki zakupom sprzętu uda się kupić coś na pokrój serwera NAS do trzymania utworów muzycznych i archiwum nagrań.

1 polubienie

Pokaż lepiej, co tam mają za sprzęt :slight_smile:

A teraz inny wątek. Jakiś czas temu przyniosłem do spejsu dyski z demontażu prehistorycznej infrastruktury SAR. Prawdopodobnie lata 2004-2008.

Wygląda to tak:
Jeden 80 GB dysk IDE nazwany “SAR4 Arch.”

.

6 dysków SCSI Compaq o pojemności 36.4 GB każdy:

Niestety macierz już była zdemontowana jak dorwałem się do tych dysków. Sposób ich przechowywania nie był optymalny.

Istnieje szansa, że dane z tej macierzy zostały już wcześniej zgrane na dysk 80 GB.

Chciałbym odczytać dane z tych dysków w nadziei, że znajdę tam archiwalne nagrania i kawałek historii radia internetowego.

Zapraszam do cyfrowej, archeologicznej przygody poniżej.

Na ten moment jest mały remanent i trwają zakupy nowego sprzętu. Wrzucę kilka fotek jak to jeszcze było w zeszłym roku.

Edit:


OK; jakby coś wywalali, to chętnie przygarnęłabym :slight_smile:

Fajnie zrobiona automatyzacja emisji i redundancja icecasta. Zdziwiłam się, że można to ładnie ogarnąć w oparciu o wolne i otwarte oprogramowanie; pamiętam jak to było gdy działałam w SR ŻAK PŁ w latach 2000. Mieliśmy kultową DOSową Dynę do wypuszczania jingli, oraz nowo odpalony system emisyjny d’Accord stojący na kilku windowsowych serwerach, który chyba był niezłym rakiem do utrzymania dla adminów. Chyba wciąż jest w użyciu - musiałabym sprawdzić, gdy tam zajrzę. Działa? działa… jak działa, to nie będą ruszać…

Jak wygląda sytuacja z bazą nagrań? Tu widzę największą potrzebę redundancji, i to najlepiej w różnych lokalizacjach.

Co do dysków - SCSI nie mam jak odczytać, na IDE mam interfejs USB. Weź tego twardziela i jakiegoś laptopa za tydzień do spejsu, ja wezmę interfejs i zobaczymy, co tam siedzi. Co do SCSI, to jest szansa, że @zibi będzie miał jakiś sprzęt. Retrokomputerowcy mają różne fajne rzeczy :slight_smile:

1 polubienie

New development:

Dowiedziałem się o istnieniu infrastruktury radiowej w ramach Trójmiejskiej Akademickiej Sieci Komputerowej oraz Pionier.net.pl. Postaram się żeby sygnał stacji był udostępniony - wiadomo, trzeba być jak najbliżej słuchaczy.

https://stream.task.gda.pl:8443/ ← gra tutaj między innymi Radio Gdańsk oraz MORS z Uniwersytetu Gdańskiego.
http://radio.pionier.net.pl ← a tutaj min. Radio Olsztyn czy Studenckie Radio ŻAK z Łodzi:
http://lodz.radio.pionier.net.pl:8000/radiozak.ogg
http://olsztyn.radio.pionier.net.pl:7055/