배경 설명
양파의 팬으로서 양파의 음악정원(KBS Happy FM / 12:00 ~ 14:00)을 라이브로 듣고싶었지만, 사정상 불가능하여 종종 다시듣기로 아쉬움을 달래왔지만, 뭔가 음악없는 음악정원은 너무 밋밋해서 아쉬움이 많았었다. 그러던중 문득 실시간 방송을 녹음해서 들을 수 있지 않을까 하여 찾아보니, 역시나 방법은 있었다.
준비물
Linux OS
- 현재 Ubuntu OS를 NAS용으로 설치해서 활용중임. 다른 Linux 배포판도 상관은 없음.
- livestreamer / eyeD3 설치 필요
Jenkins
- Docker에 Jenkins설치해서 사용중인데, crontab으로 해도 상관없음
Google Drive
- 녹음된 파일 저장 후 Google Drive로 자동 복사하면 폰에서도 편하게 재생 가능
설정 방법
1. Jenkins에서 Project 추가 후 매일 오후 12시에 스크립트 시작하도록 설정
2. 최종 스크립트
#!/bin/bash
# timezone을 한국시간대로해서 현재 시간
export TZ=Asia/Seoul
dt=`date '+%Y_%m%d'`
dt2=`date '+%Y/%m/%d'`
# 파일명 설정
filename=YPMG_${dt}.mp3
# KBS 사이트에서 해당 방송 정보 가져오기
link=$(curl -s "http://onair.kbs.co.kr/?sname=onair&stype=live&ch_code=22&ch_type=radioList#close-chat" | grep service_url | tail -1 | cut -d \" -f16 | cut -d \\ -f1)
rm -f ${filename}.mp3
# livestreamer로 120분간 녹음
timeout -s SIGINT 120m livestreamer ${link} best -o ${filename}
# mp4 meta 정보 수정
eyeD3 --add-image /opt/KBS_YangPa_Music_Garden/YangPa_MusicGarden_Album_art.png:FRONT_COVER --artist "YangPa" --album "KBS Radio" --title "YangPa's Music Garden - ${dt2}" ${filename}
# 임시 폴더에서 Linux 머신 내의 최종 저장 경로로 복사
mv ${filename} /opt/KBS_YangPa_Music_Garden/
# Google Drive mount해둔 곳으로도 복사해둠.
cp /opt/KBS_YangPa_Music_Garden/${filename} /opt/GoogleDrive/KBS_YangPa_Music_Garden
3. MP3 파일 album art 이미지.
기타
Google Drive에 올라간 mp3 파일 폰에서 바로 재생하는 방법
=> (아이폰 기준) 여러가지 앱 확인해 봤는데, EverMusic이 그나마 무료중에 바로 Google Drive 접근해서 재생 가능했음.
https://www.everappz.com/evermusic
추가로
예전에 열심히 듣던 굿모닝 팝스도 새로운 마음으로 다시 시작해 볼까하여 녹음 설정해서 저장중인데, 먼길오던 4월호 책은 중간에 사라지고, 5월호는 우체국 사정으로 배송 불가하다 하여 배송이 안정화 될때까지 기다리는 중.. ebook이라도 있으면 좋으련만 안타깝네요.
참고 사이트
https://youngest-programming.tistory.com/149
=> KBS 사이트 파싱 참고
https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux
=> Google Drive 아주 간단히 mount하는법