장거리 운전할 때 두시탈출 컬투쇼 들으면 졸음예방도 되고 지루하지 않아서 좋습니다. 라디오가 항상 잘 나온다는 보장도 없고 오후 2시~4시에만 컬투쇼를 들을 수 있기에 저는 우분투 기반의 홈서버를 활용하여 매일 컬투쇼를 예약 녹음하고 있습니다.
우선 다음과 같이 필요한 패키지를 설치합니다.
$ sudo apt-get install mimms
$ sudo apt-get install mplayer
$ sudo apt-get install lame
SBS 라디오를 녹음하기 위한 스크립트를 생성합니다. 다음 내용을 rec_knn_radio.sh로 저장해 주세요.
#!/bin/bash
RADIO_ADDR="mms://211.220.195.199/viewradio"
RADIO_NAME="knn_radio"
PROGRAM_NAME=$1
RECORD_MINS=$2
DEST_DIR=$3
NO=$4
REC_DATE=`date +%Y%m%d`
TEMP_ASX=`mktemp -u`
TEMP_WAV=`mktemp -u`
MP3_FILE_NAME=$PROGRAM_NAME"_"$REC_DATE"_"$NO.mp3
ID3_TITLE=$PROGRAM_NAME"_"$REC_DATE"_"$NO
ID3_ARTIST=$RADIO_NAME
ID3_ALBUM=$PROGRAM_NAME
ID3_YEAR=`date +%Y`
mimms -t $RECORD_MINS $RADIO_ADDR $TEMP_ASX
mplayer -ao pcm:file=$TEMP_WAV $TEMP_ASX
lame --preset voice --tt $ID3_TITLE --ta $ID3_ARTIST --tl $ID3_ALBUM --ty $ID3_YEAR $TEMP_WAV $MP3 _FILE_NAME
rm $TEMP_WAV
rm $TEMP_ASX
mkdir -p $DEST_DIR
chgrp user $MP3_FILE_NAME
mv $MP3_FILE_NAME $DEST_DIR
스크립트 파일에 실행 권한을 부여합니다.
$ chmod a+x recEbsRadio.sh
crontab에 다음과 같이 등록합니다.
# m h dom mon dow command
00 14 * * * /home/reshout/bin/rec_knn_radio.sh sbs_cultwo_show 60 /data/media/라디오 1 > /dev/null 2>&1
00 15 * * * /home/reshout/bin/rec_knn_radio.sh sbs_cultwo_show 60 /data/media/라디오 2 > /dev/null 2>&1
다음과 같은 형식의 이름으로 저장됩니다.
/data/media/라디오/sbs_cultwo_show_20121107_1.mp3
/data/media/라디오/sbs_cultwo_show_20121107_2.mp3
원인은 잘 모르겠지만 2시간 분량을 한번에 녹음할 수 없어서, 1시간씩 2번에 걸쳐 녹음하도록 설정했습니다.
조금 더 자세한 설명이 필요하시면 제가 예전에 작성한 글을 참조하세요.
http://blog.reshout.com/2692460