Aldri mer uten «Hallo i uken»!

Dette er nemlig et av mine klare favorittprogram på radio. En perfekt kombinasjon av aktualitet, satire og absurditeter. Det eneste problemet er at det sendes lørdag 15:03 og 23:03, begge to tidspunkt da en relativt oppegående småbarnspappa har andre ting å gjøre. Men; problemer er til for å løses.

For det første trenger vi en måte å ta opp «Hallo i uken» på – en som ikke krever at jeg sitter å passer på radioen (for da kunne jeg jo like godt høre det mens jeg sitter der). Karl Ove Hufthammer har skrevet noe om hvordan han gjør dette i Windows 98. Han kaller sin egen løsning «noko av det mest uelegante ein kan tenka seg». Jeg skal ikke diskutere det noe videre, men bare fastslå at jeg ikke synes det ser ut som om Windows-plattformen er det enkleste å gjøre slikt på.

Men MP3-strømmene fra Høgskolen i Østfold (HIØ) er uansett et godt utgangspunkt. Og FreeBSD-serveren på jobb er muligens et bedre verktøy? Litt Googling forteller meg at for eksempel «wget» er et egnet verktøy. Det har jeg ikke installert på boksen, men det tar bare to minutter i FreeBSD. Så prøver jeg litt, finner ut at det går fint, og at jeg mangler litt kunnskap for å scripte dette skikkelig. Nyhetsgruppen no.it.os.unix.diverse er neste post, og der får jeg svar i løpet av 19 minutter.

Her er scriptet jeg bruker:

#!/bin/sh

case "$1" in
start)
filename=~/`date +%Y-%m-%d`.mp3
/usr/local/bin/wget -q -T 5 -t 0 http://radio.hiof.no:8000/nrk-p2-128 -O $filename &
echo $! > ~/wget.pid
;;

stop)
kill `cat ~/wget.pid`
rm -f ~/wget.pid
;;

*)
echo "Brukes slik: '~/p2.sh {start|stop}'."
esac

exit 0

Dette scriptet startes med «~/p2.sh start» (forutsatt at det ligger i hjemmekatalogen din), og det lagrer MP3-strømmen fra HIØ i hjemmekatalogen din, i en fil som blir hetende dagens dato, for eksempel «2004-01-20.mp3» for i dag. Det lagrer helt til det stoppes med «~/p2.sh stop»

Neste utfordring er da å starte og stoppe det til riktige tidspunkt. Dette bruker vi cron til. Det er en av fordelene med Unix og derivater, det – slikt er innebygget. Jeg skriver «crontab -e», og legger til disse linjene i cron-fila mi:

0 15 * * Sat ~/p2.sh start
50 15 * * Sat ~/p2.sh stop

Dette betyr da at klokken 0 minutter over 15 hver lørdag skal scriptet startes, og 50 minutter over 15 skal det stoppes. Da har jeg med hele «Hallo i uken» med god margin. Og når jeg nå får min tidligere omtalte MP3-spiller å lytte til programmet på, vel lykken bli fullkommen?

16 tanker om “Aldri mer uten «Hallo i uken»!

  1. Nå gjenstår det bare at du automatiserer prosessen som legger mp3-fila ut på server, sender epost til meg om at det er klart for nedlasting og gjør klar middagen til halv fem…

  2. AOL, C2I etc. ME2. Jeg har også lyst på opptak av Hallo i uken, for jeg får det aldri med meg.

    Men jeg burde kanskje heller hente ned Cygwin og finne en måte å bruke cron til å starte et program som kan bruke Hauppauge kortet mitt (MPEG2 TV-opptak og radio) – men radio delen har ikke opptaksmulighet 🙁

    Hvis du har bedre mottak enn meg er det enda mer interessant. Lyst på et lukket område til å lagre mp3 filene på? 😉

  3. Men – hvis du har serverplassen, hvorfor ikke bare sette opp scriptet selv? Jeg har kun en ADSL-linje tilgjengelig, skjønner dere – og da blir det litt tungvindt å «kringkaste» programmet, både på den ene og den andre måten …

  4. Terratec CInergy 600-fjernsynskortet mitt har opptaksfunksjon. Men eg føretrekker likevel å bruka tenesta til HIA.

    For øvrig brukar eg no ei litt anna løysing, då eg har Windows XP på nyemaskina mi, men eg har ikkje oppdatert bloggen enno. Og eg trur eg med enkle grep kan få løysinga til berre å vera avhengig av Cygwin, og soleis fungera likegodt under Linux òg.

    Løysinga er for so vidt ikkje serlig meir elegant enn den gamle, men det er «inni». Utanpå er løysinga mi so enkel, lettbrukt, velfungerande og elegant ein kan få ho. Det er viss ein vel å sjå inni «den svarte boksen» ting ser litt rotete ute.

    For øvrig treng ein slett ikkje lasta ned «Hallo i uken» på den tungvinte måten. NRK har programmet klar for nedlasting i MP3-format på denne litt hemmelige adressa. Det gjeld for øvrig mange av radioprogramma til NRK.

  5. humm Lasse, jeg skal forsøke å ta et kurs i lesing frem til neste gang jeg kommenterer 😉 Jeg har testet scriptet ditt et par steder i dag. Det sære er at jeg fikk det til å virke på boksen som står i Miami, men ikke den som står i Fredrikstad 😀

    Om det er versjonsforskjell på wget (nyere på Fredrikstad maskinen), eller konnektivitet som gjør det (merkelig isåfall), men det ser uansett ut som om det var timeout settingen i wget som gjorde at det feilet). -T burde kanskje settes til mer enn 5 sekunder…

    BTW: Takker for godt skript og en god idé, nå blir det opptak av Hallo i uken fremover. Deling vil eventuelt kunne gjøres med gode venner. 🙂

  6. Jarle: Det ser ut som om det går fortløpende, faktisk. Jeg var innom nå, 21.01.2004 klokken 07:36, og nå streamer jeg:

    Channel: nrk-petre
    Start, end: 2004-01-21T07:32:00, 2004-01-21T08:00:10
    Title: Petremorgen

    … noe som skulle tilsi en 4-minutters forsinkelse. Jeg må innrømme at jeg ble litt imponert av denne ressursen.

  7. MP3 scriptet fungerer helt utmerket. *stråle*

    Nå trenger jeg bare en måte å rekode MP3ene direkte på serveren, 46 MB er litt kraftig for å f.eks. ta med seg i MP3 spilleren (Iallefall inntil jeg får meg et større CF kort).

    Takk for tipset Lasse, du har sørget for at jeg aldri mer går glipp av Hallo i uken 🙂

  8. No har visst hiof gått over til Icecast 2. Og då verkar ikkje streamripper lenger. Men merkelig nok fungerer wget.

    So no har eg gjort nokre enkle endringar i skripta, inspirert av oppskrifta di (takk for tipset!), og har eit system som fungerer heilt automatisk, både på Windows og i Linux. Kjempekjekt!

  9. Problemet med denne løsningen er at du ikke kan ta opp på flere kanaler samtidig, da du ikke vet hvilken wget du stopper.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Dette nettstedet bruker Akismet for å redusere spam. Lær om hvordan dine kommentar-data prosesseres.