[ 一日30分 인생승리의 학습법 ] 우분투(리눅스) 에서 EBS 라디오 자동녹음 만들기

필요한것

우분투(리눅스) 시스템, crontab(기본설치), rtmpdump (패키지 설치), ffmpeg(패키지설치)

(패키지 설치)의 경우 설치되어 있지 않다면, 

sudo apt-get install {패키지명}

으로 설치 합니다.

구현

Shell Script 를 작성 하여, crontab에 등록합니다. 매일 정해진 시간에 자동으로 라디오 방송을 녹음합니다.

먼저, Shell Script를 작성합니다.

#라디오 주소 및 임시 파일 및 디렉토리 설정
radio_addr="rtmp://ebsandroid.ebs.co.kr/fmradiofamilypc/familypc1m"
tmp_flv_file=/{본인계정tmp directory}/temp1.flv
tmp_wav_file1=/{본인계정tmp directory}/temp1.wav
tmp_mp3_file1=/{본인계정tmp directory}/temp1.mp3
date_=$(date +"%y%m%d")  # 날짜 가져오기

# 라디오 주소 flv 파일로 녹음 마지막 1200 숫자는 초 단위 시간
rtmpdump -r $radio_addr -o $tmp_flv_file -B 1200

# flv를 wav로 변환 후 lame 을 이용해 mp3로 변환.
ffmpeg -i $tmp_flv_file -acodec pcm_s16le -ac 2 -ab 128k -vn -ss 00:00:00 -t 00:20:00 -y $tmp_wav_file1
/usr/bin/lame -h $tmp_wav_file1 $tmp_mp3_file1 > /dev/null 2>&1

# mp3 파일이름을 변환 후 저장 위치로 복사, 임시파일을 크기가 크므로 삭제
cp $tmp_mp3_file1 /{본인계정 저장 위치}/$date_"_easye".mp3
if [ -f /{본인계정 저장 위치}/$date_"_easye".mp3 ]
then
        rm /{본인계정tmp directory}/temp1.*
fi

상기와 같이 shell script를 작성 해 줍니다. 코드안의 주석을 보시면 이해가 가실겁니다.

그리고 녹음하고 싶은 라디오 프로그램이 시작하는 시간에 shell script가 실행 되도록 crontab에 등록해 줍니다.

crontab -e

명령으로 crontab 설정에 들어갑니다. 다음과 같이 작성합니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

0 7 * * 1-6 ~/{작성한shell script}.sh

crontab은 ( * * * * * 파일명) 과 같은 형식으로 작성합니다.

앞의 * 다섯개는 각각 분(0~59), 시간(0~23), 일(1~31), 월(1~12), 요일(1~7) 을 의미합니다.

위의 설정은 매주 월요일 ~ 토요일 07:00 에 실행합니다.

작성한 shell script가 20분간 녹음을 하니 매주 월~토요일 아침 07:00 ~ 07:20 까지의 EBS 라디오 방송을 녹음합니다.

검색하셔서 라디오 주소와 시간만 바꾸면 어떤 방송이라도 녹음이 가능합니다.

[출처] https://atto.tistory.com/127

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
1098 [ 一日30分 인생승리의 학습법 ] noVNC 작동원리 file 졸리운_곰 2022.11.16 95
1097 [ 一日30分 인생승리의 학습법 ] 프로젝트 만들고 GitHub에 첫 Commit하고 Push하기 file 졸리운_곰 2022.11.15 96
» [ 一日30分 인생승리의 학습법 ] 우분투(리눅스) 에서 EBS 라디오 자동녹음 만들기 졸리운_곰 2022.11.11 93
1095 [ 一日30分 인생승리의 학습법 ] EBS FM 라디오, rtmp 서비스 중단 졸리운_곰 2022.11.11 85
1094 [ 一日30分 인생승리의 학습법 ] 악보 읽는 방법 file 졸리운_곰 2022.11.08 234
1093 [ 一日30分 인생승리의 학습법 ] 13가지 주요 오픈소스 프로젝트 file 졸리운_곰 2022.10.09 92
1092 [ 一日30分 인생승리의 학습법 ] 극상의 학습 난이도로 입문자 울리는 프로그래밍 언어 Top 10 졸리운_곰 2022.09.03 94
1091 [빅데이터의 활용의 오해] 데이터가 당신을 스마트하게 만들고 있을까? 졸리운_곰 2022.09.01 109
1090  [ 一日30分 인생승리의 학습법 ] [Git] Git 명령어 정리 졸리운_곰 2022.08.16 96
1089 [ 一日30分 인생승리의 학습법 ] LLVM이란 file 졸리운_곰 2022.08.13 91
1088 [ 一日30分 인생승리의 학습법 ] Build Your Own Remote Desktop Application using Javascript, Python & WebRTC — Part 2 file 졸리운_곰 2022.08.05 132
1087 [ 一日30分 인생승리의 학습법 ] Build Your Own Remote Desktop Application using Javascript, Python & WebRTC — Part 1 file 졸리운_곰 2022.08.05 109
1086 [ 一日30分 인생승리의 학습법 ] REST API 규칙 졸리운_곰 2022.08.03 119
1085 [ 一日30分 인생승리의 학습법 ]REST API 설계 (네이밍) 졸리운_곰 2022.08.03 99
1084 [ 一日30分 인생승리의 학습법] [2탄!!] KrakenD Demo 면을 알아보죠! file 졸리운_곰 2022.08.01 127
1083 [ 一日30分 인생승리의 학습법] [1탄!!]KrakenD가 무엇인가? 과연 Api Gateway로 으뜸인가요? file 졸리운_곰 2022.08.01 118
1082 [ 一日30分 인생승리의 학습법] 오픈소스 라이선스 별 의무사항 졸리운_곰 2022.07.29 110
1081 [ 一日30分 인생승리의 학습법] The complete guide to (external) Domain Specific Languages file 졸리운_곰 2022.07.08 190
1080 [ 一日30分 인생승리의 학습법] [Elasticsearch] 기본 개념잡기 file 졸리운_곰 2022.06.02 98
1079 [ 一日30分 인생승리의 학습법]node - pm2로 node.js 프로세스 관리하기 - 기본 명령어, 실행하기 file 졸리운_곰 2022.05.28 118
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED