2008년 2월 21일 목요일

EBS 라디오 예약 녹음 하기

EBS에서 제공하는 라디오?스트리밍 방송을 예약 녹음하는 방법을 소개합니다.

구글이나 네이버에서 검색하면 다른 방법들을 여럿 찾아 볼수 있습니다만, 이 방법이 특별한건...


제 홈서버가 밥값을 하게 만든다는 점???

각설하고, 필요한 패키지및 녹음 절차는 다음과?같습니다.

  • mimms? - 스트리밍 방송을 지정 시간 만큼 녹음

  • mplayer?- asx파일을 wav파일로 변화

  • lame - wav 파일을 mp3로 변환


?lame과 -gui가 빠진-mplayer는 데비안 기본 패키지가 아니지만 위의 링크를 참고하여 직점 컴파일해서 패키지로 만들어 설치하실 수 있습니다.

다음의 녹음 쉘스트립트를?"recEbsRadio"로 저장하고 실행 속성을 주세요.

#!/bin/bash
RADIO_ADDR="mms://219.240.37.11/L-FM_300k"
RADIO_NAME="ebs_radio"
TIME_OFFSET="30s"

PROGRAM_NAME=$1
RECORD_MINS=$2
DEST_DIR=$3

REC_DATE=`date +%m%d`
TEMP_ASX=`mktemp -u`
TEMP_WAV=`mktemp -u`
MP3_FILE_NAME=$PROGRAM_NAME"_"$REC_DATE.mp3

ID3_TITLE=$REC_DATE"_"$PROGRAM_NAME
ID3_ARTIST=$RADIO_NAME
ID3_ALBUM=$PROGRAM_NAME
ID3_YEAR=`date +%Y`

sleep $TIME_OFFSET
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
mv $MP3_FILE_NAME $DEST_DIR

방송편성표를 참고하여 cron에 등록합니다.

예로, 월~금요일까지 6시부터 30분간 귀가트이는영어를 녹음하려면? 아래와 같이 등록하시면 됩니다.

00 6 * * 1-6 ~/recEbsRadio UnplugEarEng 30 ~/EbsRadioArchive/UnplugEarEng &> /dev/null

경고!! 녹음하신 내용을 공유하거나 파는건 불법입니다!

유용하게 사용하여 어륀쥐 시대를 대비하세요.