Radio nie musi przemijać. Internet Radio Recorder — własne archiwum audycji


Technologia · Radio internetowe · Open source

Są audycje, których szkoda przegapić. Są i takie, do których chciałoby się wrócić po latach. Z tej właśnie potrzeby narodził się Internet Radio Recorder (IRR).

Radio ma osobliwą właściwość: najciekawsze audycje pojawiają się często wtedy, gdy człowiek zajęty jest czymś zupełnie innym. Kiedy wreszcie znajduje czas, pozostaje mu jedynie żałować, że nie włączył odbiornika.

Owszem, istnieją podcasty i archiwa nadawców. Nie wszystko jednak do nich trafia, nie wszystko pozostaje dostępne na zawsze, a o losach nagrań decyduje zwykle ktoś inny. Postanowiłem więc zbudować rozwiązanie, w którym to słuchacz ustala, co warto zachować.

Czym jest IRR?

Internet Radio Recorder to otwartoźródłowy system do automatycznego nagrywania stacji radiowych nadających w Internecie. Można uruchomić go na własnym serwerze Linux, domowym komputerze albo odpowiednio skonfigurowanym NAS-ie. Całością zarządza się przez przeglądarkę WWW.

Wybieramy stację, określamy dzień tygodnia, godziny i tytuł audycji. Potem system sam rozpoczyna i kończy nagrywanie. Żadnego codziennego pamiętania o emisji, żadnego ręcznego pilnowania terminarza.

Co potrafi?

  • nagrywać wiele internetowych stacji według tygodniowego harmonogramu;
  • zapisywać osobny plik dla każdej audycji, również gdy kończy się ona po północy;
  • obsługiwać strumienie MP3 i AAC oraz zapisywać je bez zbędnego ponownego kodowania;
  • uruchamiać i zatrzymywać nagrywanie również ręcznie;
  • udostępniać widoki Today, Calendar, History, bibliotekę nagrań i statystyki;
  • sprawdzać dostępność strumieni i wykrywać brakujące lub puste pliki;
  • wysyłać opcjonalne powiadomienia NTFY i webhook;
  • tworzyć kopie zapasowe ustawień oraz udostępniać kalendarz przez ICS.
Internet Radio Recorder — widok dzisiejszego harmonogramu nagrań
Widok zaplanowanych nagrań — przykład z dokumentacji projektu.

Jak pracuje u mnie?

W mojej instalacji nagrywaniem zajmuje się serwer VPS, działający niezależnie od domowych komputerów. Zarejestrowane audycje są następnie przekazywane do infrastruktury NAS, gdzie można je porządkować i archiwizować. Wyłączony komputer w mieszkaniu nie oznacza więc utraty zaplanowanej audycji.

Wśród skonfigurowanych stacji znalazły się między innymi Programy Polskiego Radia, Radio Nowy Świat, Radio 357 i Rockserwis FM. Szczególnie cenię świadomość, że ciekawy program nie przepadnie tylko dlatego, że akurat nie mogłem go słuchać na żywo.

Internet Radio Recorder — kalendarz audycji
Kalendarz audycji w IRR — przykładowy widok interfejsu.

Od prostego pomysłu do własnego narzędzia

Z biegiem czasu IRR otrzymał diagnostykę strumieni, historię wykonania zadań, kontrolę plików wynikowych i mechanizmy ułatwiające bezpieczne utrzymywanie instalacji. Obecnie opisana w repozytorium stabilna wersja to 2.2.3.

W gruncie rzeczy idea pozostała niezmienna: program do nagrywania radia powinien przede wszystkim nagrywać radio, a nie domagać się codziennie uwagi administratora.

Internet Radio Recorder — biblioteka nagranych audycji
Biblioteka nagrań — przykładowy widok interfejsu.

Kod dostępny dla każdego

Cały projekt został opublikowany na GitHubie na licencji MIT. Repozytorium zawiera kod źródłowy, dokumentację, instrukcje uruchomienia w Dockerze oraz przykłady konfiguracji, również dla NAS-ów.

Internet Radio Recorder na GitHubie

Najnowsze wydanie · Dokumentacja · Zgłoszenia i pomysły

Uwaga dotycząca bezpieczeństwa: panel administracyjny IRR nie posiada wbudowanego logowania. Nie należy udostępniać go bezpośrednio w publicznym Internecie. Do zdalnego dostępu warto użyć VPN, na przykład Tailscale, albo odpowiednio zabezpieczonego serwera pośredniczącego.

A co dalej?

IRR nie powstał po to, by konkurować z wielkimi platformami streamingowymi. Jest raczej sposobem na zachowanie odrobiny niezależności i samodzielne decydowanie, które audycje, rozmowy i głosy powinny pozostać z nami na dłużej.

Bo radio — choć z natury ulotne — nie musi znikać bez śladu.

Projekt: Internet Radio Recorder · Autor: SP7UTO · Licencja: MIT

Ilustracje przedstawiają historyczne zrzuty przykładowego interfejsu, udostępnione w dokumentacji GitHub, nie bieżący widok produkcyjnej instalacji.

Komentarze

Popularne posty