들어가는 말
- 1 단계 : 준비하기
- 1. 필요한 준비물
- 2. . Python 설치방법
- 3. 필요한 라이브러리 설치
- 2 단계 : 구글 캘린더 API 설정
- 1. Google Cloud에서 API 활성화
- 2. 서비스 계정 만들기
- 3. 서비스 키 파일 발급
- 3 단계 : Python 코드 작성 및 실행
- 1. Watchdog 라이브러리 설치
- 2. Python 코드 작성
- 3. Python 코드 실행
들어가는 말
일반적으로 공연장에서는 공연의 기록이나 대관 서비스를 목적으로 영상 녹화가 일상적으로 이루어지고 있다. 최근에는 SSD를 사용하는 외장형 레코더나 영상 캡처장비를 이용한 PC 기반의 녹화 시스템이 주류를 이루고 있다. 특히 PC 기반 시스템은 하드디스크 드라이브나 네트워크 드라이브(NAS1))에 영상을 저장하며, 파일명이 보통 ‘날짜-시간’ 형식으로 자동 생성된다. 하지만 이렇게 저장된 영상 파일을 체계적으로 관리하려면 매번 수동으로 파일명을 공연명으로 변경해야 하는 번거로움이 따른다.
이런 문제를 좀 더 편리하게 해결해보고자, Python과 구글 캘린더 API를 활용해 자동으로 녹화 파일명을 공연명으로 바꿔주는 스크립트 제작 프로젝트를 기획하게 되었다.
Python은 배우기 쉽고 직관적인 문법으로 인해 자동화 작업에 매우 유용한 프로그래밍 언어이며, 구글 캘린더 API는 사전에 입력된 공연 일정을 불러와 파일명과 연결할 수 있도록 지원하여 업무 효율을 획기적으로 높일 수 있다.
이 글은 Python과 구글 API를 처음 접하는 사람도 쉽게 따라 할 수 있도록 매뉴얼처럼 구성했다. 프로그래밍 경험이 없어도 차근차근 안내에 따라 진행하면, 공연명만 구글 캘린더에 입력해 두는 것만으로 녹화 파일 정리가 자동으로 이루어지는 과정을 직접 경험할 수 있을 것이다.
1) NAS(Network Attached Storage) : 네트워크에 연결된 저장장치를 뜻한다. 네트워크 하드 드라이브라고도 불리며, 파일을 저장하고 공유할 수 있는 스토리지 디바이스이다.
2) Python : 간결한 문법과 높은 가독성을 가진 고급 프로그래밍 언어. 인터프리터 방식으로 실행되며, 웹 개발, 데이터 분석, 인공지능, 자동화 등 다양한 분야에서 활용된다. 초보자에게도 적합하다.
3) API(Application Programming Interface) : 소프트웨어 간의 상호작용을 가능하게 하는 인터페이스로, 특정 기능이나 데이터를 외부에서 사용할 수 있도록 제공하는 프로그램 인터페이스이다.
1단계: 준비하기
1. 필요한 준비물
– 인터넷이 연결된 컴퓨터
– Python 설치 (다운로드)
– 구글 계정 (캘린더 API 연동을 위해 필요)
– Google Cloud Platform API 키 발급
2. Python 설치 방법

위 1단계 안내 링크(https://www.python.org/downloads/)에 접속하면 위 [그림 1]과 같은 화면이 나오는데 여기서 최신 버전을 다운로드한다. 25년 4월 기준 3.13.3이 가장 최신 버전이다.
설치 파일을 실행하고 기본 설정대로 설치한다.


설치가 끝나면 터미널(또는 명령 프롬프트)을 열고 다음을 입력
C:\Users\AB>python –version
[표 1] Python 설치 확인
정상적으로 설치되었다면 아래와 같이 Python 버전이 출력된다.
C:\Users\AB>python –version
Python 3.13.3
[표 2] Python 정상 설치 화면

3. 필요한 라이브러리 설치
이제 필요한 라이브러리를 터미널(또는 명령 프롬프트)을 통해 설치한다.
아래 명령어를 터미널에서 입력한다.
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
[표 3] 구글 API-Python 연동을 위한 필수 라이브러리 설치 명령

라이브러리 이름 | 용 도 |
google-auth | 구글 API에 접근하기 위해 필요한 인증(Authentication) 기능을 제공. 예: 서비스 계정, OAuth 토큰, API 키 등의 처리를 담당 |
google-auth-oauthlib | OAuth 2.0 인증을 위한 확장 라이브러리. 사용자 로그인 기반 인증 흐름을 구현할 때 필요함. |
google-auth-httplib2 | 인증 정보를 포함한 HTTP 요청 전송을 처리하기 위해 사용. 인증 토큰을 붙여서 실제 API 요청을 할 수 있게 해줌. |
google-api-python-client | 실제로 구글의 각종 서비스(Google Calendar, Drive, Gmail 등)에 접근하는 클라이언트 라이브러리. 모든 API 요청은 이걸 통해 보냄. |
2단계 : 구글 캘린더 API 설정
1. Google Cloud에서 API 활성화
Google Cloud Console (구글에서 Google Cloud Console 검색)에 접속하면 아래와 같은 화면이 나온다.

화면 우측상단에 ‘콘솔’을 클릭한다.


위 [그림 8]에서 좌측 상단의 ‘프로젝트 선택’을 클릭하면 아래 [그림 9]와 같이 팝업창이 뜨는데 우측 상단의 새 프로젝트를 클릭한다.


프로젝트 이름을 넣어준다. 예제에서는 Python-google-calendarAPI 로 넣어보았다. 아래 [그림 11]과 같이 프로젝트가 생성됐다는 알림이 뜨면 제대로 설정이 된 것이다.

프로젝터가 만들어 졌으면 이제 API 설정을 할 차례이다.

위 [그림 12]의 좌측하단에 보면 아래 [그림 13]과 같은 메뉴를 찾을 수 있다. 여기서 ‘API 탐색 및 사용설정’을 실행한다.

아래 [그림 14]의 중앙 상단 검색창에 ‘Calendar’를 입력하면 [그림 15]와 같이 추천 검색어에 ‘Google Calendar API’가 뜬다.


검색창의 ‘Google Calendar API’를 클릭하면 아래와 같은 화면이 나오는데 Google Calendar API ‘사용’에 체크를 한다.

그러면 이제 구글 API 서비스 항목이 아래 그림과 같이 활성화가 되었다. 이 서비스는 사용자 인증 정보가 필요하기 때문에 우측 상단의 ‘사용자 인증 정보 만들기’ 메뉴를 클릭한다.


[그림 18] 사용자 인증 정보 화면에서 엑세스 할 데이터의 유형 중 ‘사용자 데이터’ 항목을 선택하고 ‘다음’으로 넘어간다.

다음으로 [그림 19]에서 적당한 앱 이름과 지원에 필요한 이메일, 그리고 개발자 연락처 정보를 입력한다. 예제에서는 다른 이메일을 입력했지만 같아도 문제없다.

다음 [그림 20]에서는 API 인증과 관련한 사용자 데이터 보호에 관련된 범위 설정인데 특별히 건드릴게 없다. ‘저장 후 계속’ 클릭하여 다음단계로 넘어간다.

다음으로 클라이언트 ID 애플리케이션 유형에서는 [그림 21] 하단에 있는 ‘데스크톱 앱’을 선택한다.

이어서 나오는 클라이언트 ID 이름 항목에 적당한 이름을 넣어주고 나서 ‘만들기’ 버튼을 클릭한다. 예제에서는 My Calendar API로 지정했다.

Python 프로젝트 폴더는 나중에 스크립트를 실행에 필요한 파일을 저장할 폴더로써 윈도우의 ‘내문서’ 폴더 또는 ‘바탕화면’ 폴더 등 원하는 곳에 ‘Python_Projects’등의 이름으로 구분하기 쉽게 만들면 된다.
2. 서비스 계정 만들기
이 단계에는 Google Calendar의 정보에 접근하기 위해 로그인으로 인증하는 대신, Python이 API를 호출할 수 있도록 설정하는 과정이다.



서비스 계정 이름에 구분하기 쉬운 적당한 이름을 넣고 ‘만들고 계속하기’를 클릭한다.

다음으로, 생성한 서비스 계정의 역할을 선택하는데 ‘소유자’를 선택하고 ‘계속’ 버튼을 클릭하여 다음단계로 넘어간다.

서비스 계정 역할을 선택하면 이제 서비스 계정 설정의 마지막으로 [그림 28]과 같은 화면이 나온다. 특별히 손댈 부분은 없으며 ‘완료’ 버튼을 클릭하면 아래 [그림 29] 처럼 설정이 마무리 된다.
다음으로 이 서비스 계정이 Google API에 접근 할 수 있도록 인증 정보를 담은 키 파일을 발급는 단계로 넘어간다.

3. 서비스 키 파일 발급
구글 캘린더 API를 호출하기 위해서는 누가 어떤 권한을 가지고 호출하는지 확인하는 과정을 거쳐야 하는데 이때 사용하는 것이 바로 서비스 계정 키다. 키 파일은 지금 설명하고 있는 이 프로젝트처럼 Python이 인증 절차를 거치지 않고도 리소스에 접근할 수 있도록 해준다.
Python 스크립트가 Google Calendar API에 요청을 보내기 위해서는 신뢰할 수 있는 사용자를 증명해야 한다. 이런 역할을 보통 웹브라우저의 경우 로그인 창을 통해 인증하지만, 서비스 계정은 미리 발급받은 키 파일을 통해 자동 인증을 수행한다.
녹화된 파일명을 변경하기 위해 구글 캘린더에 매번 로그인을 해서 데이터를 가져오는 것은 비효율적인 방법이기 때문에 이런 자동 인증 과정은 필수라고 할 수 있다.

키 파일을 발급받기 위해서는 [그림 30]의 우측 하단에 있는 ⋮ 표시를 클릭하면 아래 [그림 31]과 같이 세부 메뉴가 나오는데 여기서 ‘키 관리’를 선택한다.

계정 작업 메뉴

계정 키 추가 화면
키 관리를 선택하면 나오는 [그림 32]의 화면에서 ‘키 추가’ → ‘새 키 만들기’를 클릭한다.

이제 서비스 계정 설정을 위한 모든 과정이 마무리 되었다.
3단계: Python 코드 작성 및 실행
구글 캘린더 API 설정을 마쳤으면 이제 본격적으로 Python 코드를 작성하면 된다. Python 코드를 작성하기 전에 watchdog이라는 라이브러리를 이용해서 녹화파일이 생성되는 것을 실시간을 감지하여 자동으로 Python 코드를 실행 할 수있도록 해보자.
1. Watchdog 라이브러리 설치
watchdog은 파일 시스템의 변경사항을 실시간으로 감지하는 데 사용하는 Python 라이브러리로써, 폴더 안에서 파일이 생성, 수정, 삭제, 이동될 때마다 이를 자동으로 감지해서 특정 작업을 수행할 수 있도록 하는 역할을 한다. 이 라이브러리를 이용하면 녹화파일이 생성되는 것을 실시간으로 감지하고 Python 코드를 자동으로 실행하여 매우 편리하게 사용할 수 있다.
cmd 프롬프트에서 다음과 같이 입력하면 자동으로 설치가 된다.
pip install watchdog
[표 5] watchdog 설치 명령

[표 5]의 명령어를 cmd 프롬프트에서 실행하면 [그림 34] 처럼 자동으로 필요한 파일을 다운받고 설치가 진행된다. 위와 같은 그림이 나오면 성공적으로 설치된 것이다.
2. Python 코드 작성
윈도우 기준 메모장을 활용해서 새 파일을 만들고 다음 페이지의 #첨부 Python 코드를 작성하고 파일명을 ‘my_calendar.py’로 저장한다. 저장위치는 앞서 만들었던 json파일이 저장된 Python_Project 디렉토리에 함께 저장하여야 한다.
*이 글 마지막 ‘참고 링크’에 Python 스크립트를 다운받을 수 있는 링크를 첨부하였다.
3. Python 코드 실행
위에서 작성한 Python 코드를 윈도우 명령프롬프트나 윈도우 파워쉘에서 실행한 후 아래와 같이 미리 지정해 둔 폴더에 새로운 파일이 생성된 것이 감지 되면 자동으로 구글 캘린더의 해당 날짜 이벤트 명을 가져와 파일명을 변경한다. 같은 날 추가적으로 녹화파일이 중복으로 생성될 경우 파일명 뒤에 (1), (2).. 숫자가 붙어 중복파일 처리도 문제없도록 코드가 작성되었다.

이 Python 스크립트를 컴퓨터가 부팅될 때 자동으로 실행될 수 있도록 배치파일을 만들면 이제 공연 녹화 파일명과 관련해서는 완벽한 자동화가 완성이 되는 것이다.
윈도우 메모장에서 새 파일을 열고 아래의 코드를 입력후 적당한 이름으로 저장한다. 예제에서는 ‘python_calendar_renamer.bat’라고 저장하였다.
@echo off
cd /d “C:\Users\AB\Desktop\Python Project”
python my_calendar.py
[표 6] 스크립트 자동 시작을 위한 윈도우 Batch 파일 작성
#첨부: 구글 캘린터 API의 이벤트를 가져와 파일명을 변경하는 파이썬 스크립트


위 [표 6]에서 만든 batch 파일을 윈도우 시작프로그램에 등록하는 과정이다. 윈도우+R 키를 눌러 실행창을 연뒤, ‘shell : startup’을 입력하면 윈도우 시작시 자동으로 실행되는 프로그램이 등록된 폴더가 열리는데 이 폴더에 방금 위에서 만든 batch 파일을 복사한다. 이렇게 하면 다음부터는 컴퓨터를 부팅할 때 마다 자동으로 Python 스크립트가 실행이 되어 녹화 프로그램의 녹화버튼을 누르는 것만으로 파일명 변경이 이루어지게 된다.
결론
이번 프로젝트는 음향감독의 반복 업무 중 하나인 녹화파일명 변경 작업을 자동화함으로써 업무 효율을 획기적으로 향상시키는 방법이다. 현재 근무중인 공연장에서 실제 사용하고 있기도 하며 그 전과는 비교도 되지 않게 편리한 환경이 구축되었다. Python과 Google Calendar API의 조합은 특별한 프로그래밍 지식 없이도 누구나 실무에서 활용할 수 있는 수준으로 단순화되었으며 코딩경험이 없는 분들도 ChatGPT, Google Gemini 등을 적극적으로 활용한다면 어렵지 않게 상당한 수준의 결과물을 얻을 수 있을 것이다.
이 글을 통해 공연장이나 공연시설에서 종사하는 음향, 영상감독님들의 노고가 조금이라도 줄어들 수 있길 기대하며 미약하게나마 공연 기술환경의 발전에 기여하기를 기대한다.
- 참고 링크
- 스크립트 시연 영상 : https://youtu.be/9T6hCe2goiM
- #첨부 : Python Script 소스파일 다운로드
- 참고 자료
- 구글 캘린더 API : https://cloud.google.com/cloud-console
- Python 관련 자료 : https://www.python.org/
- Python 코드 생성 참조 : Chat GPT4