Radiomitschnitt per Rezept

Wed, 30. Dec 2009

Categories: de sysadmin Tags: Bayern2 cron Cronjob id3v2 Linux Mitschnitt Radio Stream streamripper vServer

Seit lÀngerem schneide ich mir interessante Sendungen aus dem (Internet-)Radio mit, vor allem Hörspiele auf B2.

Bisher mußte dazu immer mein alter (Linux-)Rechner laufen und den Mitschnitt mußte ich hĂ€ndisch starten – wie unbequem. Oder man ist unterwegs und verpaßt den Mitschnitt. Wie Ă€rgerlich.

Doch das ist ab jetzt vorbei, denn ab sofort schneidet mein vServer (lÀuft ja eh stÀndig) mit!

Und so geht’s:

  1. Ein Script auf dem vServer, das den Mitschnitt startet und beendet:
 1#!/bin/sh
 2
 3# id3v2 scheint Bilder nicht zu mögen:
 4# - http://ubuntuforums.org/showthread.php?t=1353213
 5# - readonly: http://id3v2.cvs.sourceforge.net/viewvc/id3v2/id3v2/id3v2.cpp?revision=1.17&view=markup#l_610
 6# - http://www.id3.org/id3v2.4.0-frames Kapitel4.14.
 7# erfolglos: id3v2 --APIC "0\0image/jpeg\03hello\0`cat moby_dick.jpg`" $file
 8
 9if [ $# -lt 3 ]; then
10  echo "rip audio streams to a local file."
11  echo " "
12  echo "Usage:"
13  echo " "
14  echo "  $0 stream marker duration id3v2_tags"
15  echo "    stream     typically a URL, see 'man streamripper'"
16  echo "    marker     filename prefix"
17  echo "    seconds    how long will we dump"
18  echo "    id3v2_tags optional, tag the download with id3v2"
19  echo " "
20  echo "Example:"
21  echo "  $0 http://gffstream.ic.llnwd.net/stream/gffstream_w11a bayern2 3660"
22  echo " "
23  exit 1
24fi
25
26src=$1 ; shift
27basename=$1 ; shift
28seconds=$1 ; shift
29
30dst=$basename-`date --iso-8601=seconds`
31
32echo "dumping $seconds (sec) from $src to $dst ..."
33
34streamripper $src -u Mozilla -i -a $dst -l $seconds
35rm $dst.cue
36
37if [ $# -gt 0 ] ; then
38  id3v2 "$@" $dst.mp3
39fi
40
41chmod a+r $dst.*
42
43echo done.
  1. Ein Cronjob fĂŒr jeden Mitschnitt:
 1PATH=/bin:/usr/bin
 2HOME=/home/USERNAME
 3
 4# Recorder
 5
 6rec_cmd=/home/USERNAME/bin/stream-rip
 7rec_dir=/home/USERNAME/pub/recorder
 8
 9ON3=http://gffstream.ic.llnwd.net/stream/gffstream_w9a
10BAYERN1=http://gffstream.ic.llnwd.net/stream/gffstream_w10a
11BAYERN2=http://gffstream.ic.llnwd.net/stream/gffstream_w11a
12M945=http://stream.m945.mwn.de:80/m945-hq.mp3
13
14# B2 Krimihörspiel
1529 20 * * 3 $rec_cmd $BAYERN2 $rec_dir/b2-krimi 3660 -A "B2 Krimi"