우분투 리눅스를 활용하여 EBS 라디오를 예약 녹음하는 방법을 소개합니다.
우선 다음과 같이 필요한 패키지를 설치합니다.
$ sudo apt-get install mimms
$ sudo apt-get install mplayer
$ sudo apt-get install lame
EBS 라디오를 녹음하기 위한 스크립트를 생성합니다.
다음 내용을 recEbsRadio.sh로 저장해 주세요.
#!/bin/bash
RADIO_ADDR=”mms://211.218.209.124/L-FM_300k”
RADIO_NAME=”ebs_radio”
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`
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
다음과 같이 recEbsRadio.sh 파일에 실행 권한을 부여합니다.
$ chmod a+x recEbsRadio.sh
첫번째 인자는 프로그램 이름
두번째 인자는 녹음 시간(분)
세번째 인자는 mp3 파일 저장 디렉토리
사용 예제는 다음과 같습니다.
$ ~/recEbsRadio.sh EarEng 30 ~/ebs
지금부터 30분 동안 EBS 라디오를 녹음하여 ~/ebs/EarEng_0201.mp3로 저장하겠다는 의미입니다.
cron을 활용하여 월요일~토요일 오전 6시부터 30분 동안 귀트영을 녹음하는 설정을 해보겠습니다.
cron에 스크립트 실행을 등록하기 위해 다음 명령어를 실행해 주세요.
$ crontab -e
에디터가 실행되면 다음 한 줄을 추가 후, 저장하고 나오시면 됩니다.
00 06 * * 1-6 ~/recEbsRadio.sh EarEng 30 ~/ebs &> /dev/null
이는 월요일~토요일(1-6) 매일 오전 6시(06) 00분(00)에 recEbsRadio.sh를 실행하겠다는 의미입니다.
귀트영, 운트영, 입트영을 모두 녹음하시려면 다음 3줄을 추가해 주세요.
00 06 * * 1-6 ~/recEbsRadio.sh EarEng 30 ~/ebs &> /dev/null 2>&1
30 06 * * 1-6 ~/recEbsRadio.sh LuckEng 20 ~/ebs &> /dev/null 2>&1
00 07 * * 1-6 ~/recEbsRadio.sh MouthEng 20 ~/ebs &> /dev/null 2>&1
다음 명령을 통해 cron에 제대로 등록되었는지 확인할 수 있습니다.
$ crontab -l
이 글은 다음 URL을 참조 및 보완하여 작성되었습니다.
좋은 내용 감사합니다.
EBS 라디오 방송 관련해서 쓰신 글 링크를 제 블로그에 소개했습니다.
혹시 문제가 된다면 삭제하겠습니다. 그럼 좋은 하루 보내세요~ 🙂
정보가 공유된다는 것은 좋은 일이죠. ^^
열공하세요.
cron으로 실행한 경우, terminal 정보가 없어서 mplayer가 제대로 동작하지 않는 것 같습니다. ㅠ.ㅠ
http://clien.career.co.kr/cs2/bbs/board.php?bo_table=pds&wr_id=108332
이 어플 사용해 보세요.. 제가 만들었습니다.
제 우분투 환경에서 테스트 하면서 생긴문제 입니다.
쉘스크립트를 만든 후 직접 실행 하면 레코딩이 잘 되지만
crontab에 등록시키면 안되거나, 48k의 용량으로 5초간만 녹음되는 문제가 발생했습니다.
문제는 터미널에 출력메세지에 있었습니다. crontab에 등록시 아래와 같이 해 주시면 정상 동작합니다.
00 06 * * 1-6 ~/recEbsRadio.sh EarEng 30 ~/ebs > /dev/null 2>&1
주인장님 좋은 내용 감사합니다. 덕분에 손쉽게 녹음할수 있게 되었네요~
오~ 부족한 부분을 보충해 주셔서 감사드립니다 ^^
참조하여 업데이트 했습니다.
저는 CentOS5를 돌리고 있는데요.
mplayer와 lame은 설치했는데
mimms설치에서 애를 먹고 있습니다.
mimms설치때 python버전때문에 python버전업을 했더니
libc.so.6(GLIBC_2.7)(64bit)
rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadIsXz) <= 5.2-1 이런것들을 요구하더군요. 일단 python버전업때문에 오늘은 기진맥진입니다. 좋은 방법이 없을까요? 저것들을 찾아서 설치하면 될까요?
CentOS는 사용해본 적이 없어서 잘 모르겠네요. Ubuntu로 넘어 오세요. ^^;
아마추어는 남을 상대로 싸우지만 프로는 자신을 상대로 싸운다.
다른 사람에서 다른 사람의 정신적 활동을 이해하고, 사물을 보는 개념은 자신의 미래에 대해 전혀 걱정할 필요가 없습니다.
아무리 절망적 문제는, 오래 결국 일을 주장 할 용기가로 희망을 갖게됩니다.