Streaming

Last modified: 18. juni 2005
For å kunne få med meg radio-programmer som går på tidspunkt hvor jeg er på jobb eller er opptatt med andre ting, har jeg satt opp en cron-jobb som sørger for opptak av nettradio via streaming. Tips om hvordan dette skal gjøres, fikk jeg ved å lese et tips fra Lasse Gausen Dahl. Med utgangspunkt i dette modifisert jeg litt på hans script, slik at det passer til mine behov.

For opptatk fra NRK p2 bruker jeg følgende script:

#!/bin/sh
#
# Script for start og stopp av opptak fra NRK P2

case "$1" in

start)
    filename=~/Radio/p2.`date +%Y-%m-%d.%H-%M`.mp3
    /usr/bin/wget -q -T 5 -t 0 http://radio.hiof.no/nrk-p2-128 -O $filename &
    echo $! > /tmp/wget.p2.pid
    echo "Start: $filename (`cat /tmp/wget.p2.pid`)" >> ~/Radio/record.log
    ;;

stop)
    kill `cat /tmp/wget.p2.pid`
    echo "Stop p1-128 (`cat /tmp/wget.p2.pid`)" >> ~/Radio/record.log
    rm -f /tmp/wget.p2.pid
    ;;

*)
    echo "Brukes slik: '$0 {start|stop}'."
esac

exit 0

Har også tilsvarende script for bl.a. P1. Scriptet over kjøres via to innslag i crontab fila:

1 12 * * 1,2,3,4,5 ~/bin/p2.sh start
31 12 * *  1,2,3,4,5 ~/bin/p2.sh stop

Her startes streamingen kl. 12:01 mandag til fredag og stoppes 12:31. Når jeg da har tid, kan jeg spille av mp3-fila. Størrelsen på fila er ca 29 Mbyte for den halve timen med opptak. Ønsker du mindre størrelse på fila, kan du ta opp i 64-bit format isteden for 128 bit. Det gjøres ved å endre "-128" i slutten av URLen til "-64". Lydkvaliteten blir naturligvis litt dårligere, men ikke avskrekkende dårlig.

Det er mulig å lage ulike script for ulike stasjoner. Det man da må huske på er å endre adressen hvor dataene hentes fra (dvs. http://radio.hiof.no/nrk-p2-128) og navnet på pid-fila. Det siste er nødvendig for at man skal kunne kjøre opptak fra ulike kanaler samtidig. Husk at adressen vist her kan endre seg, så ikke ta det for gitt at denne er den til enhver tid gyldige adresse.

... og om du er i tvil, så er det "Verdt å vite" som jeg tar opp.


I made this! Jørn Dahl-Stamnes