티스토리 뷰
2019/11/30 - [Tips] - EBS 방송 녹음 프로젝트 (맥/리눅스 편)
이 글은 Windows 시스템의 이해를 높이기 위한 한 병편으로 기획된 것으로 EBS의 저작권 등을 침해하려는 의도는 없습니다. 관련 문제가 있을 경우 전자메일로 연락을 주시면 이 글을 삭제하도록 하겠습니다.
- 본 실습 내용은 Winodws 10에서 제작된 것으로 파일 권한과 파일 경로 등의 문제에 신경을 쓴다면 큰 수정 없이 바로 적용할 수 있을 것입니다. 관련 문의는 댓글에 남겨 주시기 바랍니다.
uri를 수집하자.
원하는 물건이 있다면 그 물건의 위치를 정확히 아는 것이 가장 먼저겠다. 인터넷상의 콘텐츠다 다르지 않다. 인터넷상의 모든 콘텐츠는 자신이 있는 위치, 즉 주소를 가지고 있다. 개별적인 주소를 가지고 있기 때문에 사람들이 해당 콘텐츠에 접속을 할 수 있는 것이며 관리도 가능한 것이다. 이 주소를 uri(Uniform Resource Identifier, 통합 자원 식별자)라고 한다. 따라서 EBS 라디오 방송을 녹음하고자 한다면 이 라디오 방송이 송출되는 위치를 알아야 첫 단추를 제대로 끼우게 된다.
EBS 홈페이지의 왼쪽 상단의 온에어를(아래 사진 참조) 클릭하면 모든 EBS 방송을 실시간으로 시청 및 청취할 수 있다.
여기에서 녹음하고 싶은 방송은 EBS FM 또는 외국어 라디오 채널이다. 이 라디오 채널의 uri를 어떻게 알아내느냐가 관건이다. 모든 해답은 문제 안에 있다고 했던가! 알고 싶은 uri 역시 문제의 장인 이 페이지 않에 있는 게 당연하다. uri가 명시되어 있지 않다면 어떻게 웹브라우저가 해당 자원(라디오 방송)을 찾아서 우리에게 들려 줄 수 있겠는가. 내게는 알겨주기 싫다고 하더라고 웹브라우저에 게는 자원의 위치를 공개해야 하는 것이다. 그러나 아무리 눈을 씻고 화면을 들여다 봐도 uri의 u자조차 찾을 수 없는 게 현실이다. 난 청맹과니인 것일까? 개안의 방법은 관련 포스팅을 참고하기 바란다.
여기서 좌절하지 말자. 문제를 직접 해결할 수 없다고 하더라도 우리에게는 구글신이 옆에 있지 않은가! 구글 검색을 통해 의외로 간단히 우리가 원하는 uri 정보를 찾을 수 있다. 이렇게라도 문제를 해결해야 다음 단계로 넘어갈 수 있다.
검색을 통해 찾을 수 있는 EBS 라디오 uri는 아래와 같았다.
- EBS FM: http://new_iradio.ebs.co.kr/iradio/iradiolive_m4a/playlist.m3u8
- EBS 외국어 채널: http://bandibook.ebs.co.kr/bandibook/live_m4a/playlist.m3u8
EBS 라디오 방송의 uri는 언제든지 바뀔 수 있으므로 현재(November 29, 2019)까지 유효한 주소일 뿐임을 양해바란다. 근본적인 해결은 사이트 내에서 uri를 찾아낼 수 있는 방법을 습득하는 것이다. 언제까지 누군가의 호의만을 기대하고 있을 수 없다.
배치 스크립트(batch script) 프로그래밍: m3e8 형식의 라디오 파일 녹음하기
자원의 위치를 알아냈으니 이제 1/3은 온 거나 다름없다. 이제 이 uri를 이용하여 음성 파일을 내 컴퓨터에 저장하는 batch script를 짜야 한다. 간단하게 말해서 프로그래밍을 하는 단계이다. 유닉스 계열에서 셸(shell)을 사용하지만 윈도우에서는 batch 파일로 대신한다.
set PROGRAM_NAME=BeginnerJap
set MP3_FILE_NAME=C:\Users\유저명\OneDrive\EBS\BeginnerJap\%PROGRAM_NAME%_%date:~0,10%.mp3
set RECORD_MINS=1200
set RADIO_ADDR="http://ebsonair.ebs.co.kr/fmradiofamilypc/familypc1m/playlist.m3u8"
ffmpeg -t %RECORD_MINS% -y -i %RADIO_ADDR% %MP3_FILE_NAME%
이 배치 파일을 실행하기 위해서는 먼저, ffmpeg가 설치되어 있어야 한다. ffmpeg은 공개 소프트웨어(GPL)로 무료로 사용할 수 있다는 점과 스트리밍되는 라디오 방송을 실질적으로 녹음하는 작업을 수행해 준다. 공개 소프브웨어이기는 하지만 윈도우즈에 기본으로 설치되어 있지 않으므로 이를 설치하고 어떤 위치에서든 이 ffmpeg를 실행할 수 있도록 윈도우의 설정을 바꾸어 주어야 한다. 따라서 먼저 ffmpegj의 설치 방법을 알아보고 다음으로 ffmpeg 실행을 위한 윈도운 환경 변수 수정에 대해 다루겠다.
ffmpeg 다운로드
자신의 윈도우 시스템에 맞게 사양을 선택한 후 download bulild
를 누러 파일을 내려받는다. 잘 모르게다ㅕㅁ 그냥 바로 다운로드를 눌러도 된다. 다룬로드한 압축파일을 풀면 ffmpeg-20190212-a84af76-win64-static
라는 폴더가 생길 것이다. 이 폴더를 원하는 위치로 이동하고 해당 경로를 정확히 기억해 둔다. 이는 ffmpeg 실행을 위해 윈도우의 환경변수
를 수정할 때 필요하다. 이 글에서 ffmpeg의 위치는 E:\Home\ffmpeg-20190212-a84af76-win64-static
에 두었다.
이제는 ffmpeg를 원하는 곳 어디서든 실행할 수 있도록 윈도우의 환경 변수를 수정해 보자. 간단하게 말해 윈도우 시스템에kc ffmpeg 실행 파일의 위치를 정확하게 알려 주는 작업이다. 윈도우 키를 누르고 나서 시스템 한경 변수 편집
이라고 타이핑하자.
해당 메뉴를 선택하면, 아래와 같이 시스템 속성
메뉴가 뜬다. 이 메뉴 하단의 환경 변수
를 선택하면 윈도우의 주요 설절 화면에 들어가게 된다.
환경 변수에 대한 이해가 없다면 이 메뉴의 내용은 되도록 건들이지 않는 편이 바람직하다. 본 예제를 수행할 때도 의도하지 않은 수정이 발생하지 않도록 유의하자. 먼저 아래 사진의 상단 ① 영역에 있는 path
를 선택하고 ②에 있는 편집
을 눌러 환경 변수 편집
화면으로 들어간다.
위의 사진에서 ①의 새로 만들기
를 누르면 경로 리스트의 빈 곳에 커서가 활성화된다. 이곳에 ffmpeg의 실행 파일이 있는 경로, 정확하게는 아까 확인해둔 ffmpeg의 경로에 \bin
을 추가한 경로인 E:\Home\ffmpeg-20190212-a84af76-win64-static\bin
을 입력한 후 저장한다. 관련 창을 모두 닫고 이제 환경. 변수가 정확하게 설정되었는지 확인해야 한다.
윈도우 키를 누르고 power shell
을 입력한 후 Windows PowerShell
을 실행한다. 유니스 계열의 터미널이라고 생각하면 된다. 파워셸의 프롬프트에 ffmpeg
를 입력하자.
위 화면과 같은 메시지가 보인다면 정확하게 설정된 것이다. 이 외의 메시지가 뜨는 경우는 환경 변수가 정확하게 설정되지 않은 것이다. ffmpeg가 설치된 경로를 다시 확인해 보고 이 경로가 윈도우 횐경 변수로 정확하게 기입되었는지 한 자 한 자 눈을 부릅뜨고 확인해 보길 바란다.
여기까지 마쳤다면 위의 코드를 복붙하여 Recording_BeginnerJap.bat
으로 배치 파일을 만들자. 그리고 자신의 시스템에 맞게 내용을 수정해 주어야 한다. 수정할 곳은 3 곳으로 파일 이름과 mp3 파일이 저장될 경로이다. 먼저 파일 명은 첫 번째 라인을 수정하면 된다.
set PROGRAM_NAME=BeginnerJap
실제 만들어지는 파일의 이름은 여기서 저정한 문자열에 녹음 날짜가 붙는 형태이다. 즉 이 라인의 BeginnerJap
을 자신이 입맛에 맞게 수정하면 된다. 다음은 저장 경로이다.
set MP3_FILE_NAME=C:\Users\유저명\OneDrive\EBS\BeginnerJap%PROGRAM_NAME%_%date:~0,10%.mp3
생성된 파일이 저장될 위치를 지정하고 있는데 이 라인의 C:\Users\유저명\OneDrive\EBS\BeginnerJap\
이 파일이 저장될 폴더의 위치이다. 이 위치를 자신의 입맛에 따라 수정하면 된다. 예제 코드에서는 OneDrive의 공간을 활용하고 있다. 이때 주의할 점은 경로는 실재 있는 폴더를 기준으로 하여야 한다. 없다면 미리 만들어 두자. 다음으로 녹음 시간을 지정해 주어야 한다.
set RECORD_MINS=1200
이 라인에서 수정할 부분은 1200
이다. 녹음 시간은 초 단위로 지정되므로 20분 프로그램인 경우, 20 * 60이므로 1200으로 지정한 것이다. 자신이 녹음할 프로그램의 방송 시간을 확인해서 적절하게 수정하자. 초 단위다!
자, 이제 ffmpeg와 배치 파일이 정확하게 동작하는지 확인하는 것만 남았다. 모든 수정을 끝내고 저장한 배치 파일을 클릭해 보자. 그러면 터미널이 뜨면서 ffmpeg가 실행되고 지정한 폴더에 녹음 파일이 생긴다. 이렇게 작동되지 않는다면 앞에서부터 차근차근 점검해 보기 바란다. 당연히 녹음이 정상적으로 잘 되리라 믿는다.
윈도우 작업 스케줄러에 작업 등록하기
윈도우 키를 누르고 작업 스케줄러
를 타이핑한 후 프로그램을 실행하자. 그러면 아래와 같은 화면이 뜬다.
위 사진의 ①의 기본 작업 만들기
를 선택하여 반복할 작업을 만든다. 각 단계별로 입력 사항을 정확하게 입력하자.
먼저 이름
필드에 예약 작업의 이름을 적는다. 본 예제에서는 TEST TASK
로 하였다. 다음
을 눌러 다음 단계인 트리거
로 넘어간다.
위 사진과 같이 작업의 반복 주기를 선택할 수 있다. 매일/매주/매월 등 필요에 따라 고르면 된다. 본 예제에서는 매일
을 선택했다. 그러나 일주일 내 하는 방송이 아니라면 매주
를 선택해 요일을 지정할 수 있다. 다음
을 눌러 다음 단계로 넘어간다.
앞에 선택한 주기에 따라 세부 일정을 지정하는 단계다. 우선은 날짜와 시각을 지정하고 일 간격을 선택할 수 있다. 앞에서 매주
를 선택했다면 이 화면에서 특정 요일을 지정할 수 있다. 다음
을 눌러 다음 단계인 작업
으로 넘어간다.
실제 어떤 동작을 할지 선택하는 것이다. 앞에서 녹음을 하기 위해 만들어 놓은 배치 파일이 있고 해당 시간에 이 배치 파일을 실행할 것이기 때문에 프로그램 시작
을 선택한다. 다음
을 눌러 다음 단계로 넘어간다.
어떤 프로그램을 실행할 것인지 지정하는 단계이다. 프로그램이 있는 경로를 정확히 알고 있다면 타이핑해서 넣어도 되지만 찾아보기
를 눌러 찾아서 선택하면 된다. 여기까지 하면 실질적인 작업은 다 끝낸 셈이다. 다음
을 눌러 다음 단계인 요약
으로 넘어간다.
앞에서 지정했던 설정이 제대로 되었는지 확인하는 단계이다. 이름
, 트리거
, 작업
의 내용을 확인하고 이상 없다면 마침
을 눌러 기본 작업 만들기
를 끝낸다.
길었던 작업이 모두 완료되었다. 이제는 원하는 대로 작업이 되는지 확인하는 것만 남았다. 처음부터 방송 날짜와 시간으로 예약 작업을 생성하지 말고 시험 삼아 2~3분 후에 작업이 정상적으로 시작되는지 테스트해 보길 권하다. 원하는 대로 예약 작업이 등록되지 않았다면 위의 내용을 천천히 다시 읽어보고 시도해 보길 권한다.
'Tips' 카테고리의 다른 글
넷플릭스(Netplx) 동시 접속 기준과 다운로드 (0) | 2020.01.04 |
---|---|
EndNote X9과 macOS 카탈리나(10.15.) 호환성 (0) | 2019.12.19 |
[맥(macOS)] 스크린샷 찍기 (0) | 2019.12.12 |
[윈도우] 스크린샷 찍기 (0) | 2019.12.10 |
새소식: 드디어 <티스토리> 앱이 개편되었다 (0) | 2019.12.10 |
- Total
- Today
- Yesterday
- 리찬규
- 유래
- tips
- words
- django
- 백준
- setText()
- baekjoon
- locallibrary
- Tistory
- 소수
- PyQt5
- word
- NK
- MacOS
- python3
- Python
- QLabel
- QComboBox
- BOJ
- QGridLayout
- books
- 어원
- QtDesigner
- QLineEdit
- C
- 북한말
- 리규찬
- Mac
- judge
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |