# EBS 라디오 녹음 ## EBS RADIO 편성표 확인 [EBS RADIO 편성표](http://www.ebs.co.kr/schedule?channelCd=IRADIO&date=20160803&onor=IRADIO)에서 확인 할 수 있습니다. - 18:20 EASY Writing - 18:40 귀가 트이는 영어 - 19:00 입이 트이는 영어 - 19:20 EASY ENGLISH - 19:40 POWER ENGLISH - 20:50 이현호의 포켓 English - 21:00 김대균 토익킹 - 23:00 TOEIC Speaking - 23:20 김과장 영어로 날다 오후에 하는 것을 본방으로 생각하고 작성하였습니다. (하루에 같은 프로그램이 여러편 편성되어 있고 방송하는 내용이 달랐습니다.) ### rtsp 주소 ``` 1. EBS language rtsp://new_iradio.ebs.co.kr:554/iradio/iradiolive_m4a 2. EBS 책 읽어주는 라디오 rtsp://ebsonairandaod.ebs.co.kr:554/fmradiobandiaod/bandiappaac ``` EBS language RTSP 주소를 통해서 녹음을 합니다. ## 실행파일 - [ffmpeg.exe](https://goo.gl/is7BpT) - [rtmpdump.exe](https://goo.gl/nN9uWi) - [record.bat](https://goo.gl/vMXgEi) record.bat 는 실행파일입니다.rtmpdump 를 통해서 녹음을 하고, ffmpeg를 통하여 mp3로 변환합니다. ## BAT 내용 [EBS-라디오-녹음하기-윈도우즈-스케줄러](http://storiesoflife.tistory.com/entry/EBS-%EB%9D%BC%EB%94%94%EC%98%A4-%EB%85%B9%EC%9D%8C%ED%95%98%EA%B8%B0-%EC%9C%88%EB%8F%84%EC%9A%B0%EC%A6%88-%EC%8A%A4%EC%BC%80%EC%A4%84%EB%9F%AC) 에서 받은 파일을 바탕으로 수정하였습니다. ### 스케쥴 등록 ```bash if "%*" == "" goto SCHEDULE if "%1" == "schedule" goto SCHEDULE set subject=%1 goto RECORD ``` 스케쥴등록을 하기 위해서 파라미터 값을 읽습니다. 파라미터가 없거나, 'schedule'로 입력이 되면 스케쥴 등록을 위한 코드를 실행합니다. `record.bat` 또는 `record.bat schedule` 로 실행하면 스케쥴러를 등록합니다. `record.bat EASY_WRITING`를 실행하면 `rtsp://new_iradio.ebs.co.kr:554/iradio/iradiolive_m4a` 를 녹음하고 전달된 파라미터명(EASY_WRITING)으로 파일이 저장됩니다. ```bash :SCHEDULE call:SCHTASKS EASY_WRITING 18:20:20 call:SCHTASKS 귀가_트이는_영어 18:40:20 call:SCHTASKS 입이_트이는_영어 19:00:20 call:SCHTASKS EASY_ENGLISH 19:20:20 call:SCHTASKS POWER_ENGLISH 19:40:20 call:SCHTASKS 이현호의_포켓_ENGLISH 20:50:20 call:SCHTASKS 김대균_토익킹 21:00:20 call:SCHTASKS TOEIC_SPEAKING 23:00:20 call:SCHTASKS 김과장_영어로_날다 23:20:20 goto QUIT ``` 각 방송 프로그램마다 스케쥴러등록을 위한 함수를 호출합니다. 모든 호출이 끝나면 종료 합니다. 시작 시각을 초 단위까지 작성하엿지만, schtasks 실행시에는 분단위까지 밖에 적용되지 않았습니다. (초단위 설정은 더 확인해 봐야 합니다.) ```bash :SCHTASKS set fullpath=%~f0 set prev=EBS_ schtasks /create /tn %prev%%~1 /tr "%fullpath% %~1" /sc DAILY /st %~2 /f goto:eof ``` `schtasks`를 통해서 스케쥴러를 등록합니다. 스케쥴러 이름과 실행할 파일경로, 실행 시각 등을 입력하여 스케쥴러를 등록합니다. 'fullpath'에는 실행파일을 경로가 설정됩니다. 스케쥴러 이름을 통일하기 위해서 앞에 'EBS_'를 추가합니다. ### 녹음 ```bash if "%*" == "" goto SCHEDULE if "%1" == "schedule" goto SCHEDULE set subject=%1 goto RECORD ``` 스케쥴러 실행시에 등록된 파라미터가 전달되어 RECORD 함수가 실행됩니다. ```bash :RECORD set folderpath=C:\EBS\ set filename=%folderpath%%date:~0,10%_%subject% rem 20분 = 20 * 60 = 1200 set time=1190 %~dp0rtmpdump -r "rtsp://new_iradio.ebs.co.kr/iradio/iradiolive_m4a" -y iradiolive_m4a -B %time% -o %filename% %~dp0ffmpeg -i %filename% -ac 2 -ab 128 -f mp3 %filename%.mp3 del %filename% goto QUIT ``` 저장할 경로를 선택하고, 파일명을 지정한 다음, rtmpdump 및 ffmpeg 를 실행하여 덤프하고 변환합니다. 저장할 폴더는 미리 생성해 둡니다. rem 부분은 주석 입니다. 변환 이후에는 기존 파일을 삭제합니다. ```bash :QUIT timeout /t 10 ``` 내용을 확인하기 위하여 10초동안 대기하기 위하여 timeout 을 실행합니다. ## 출처 - http://storiesoflife.tistory.com/entry/EBS-%EB%9D%BC%EB%94%94%EC%98%A4-%EB%85%B9%EC%9D%8C%ED%95%98%EA%B8%B0-%EC%9C%88%EB%8F%84%EC%9A%B0%EC%A6%88-%EC%8A%A4%EC%BC%80%EC%A4%84%EB%9F%AC