↓↓↓
At Welltory, we hold and record 3-4 virtual meetings every day. The easiest way is to record meetings in zoom.us, then upload them to YouTube where they can be accessed by anyone, from any device: phones, Chromecast, etc. We’ve automated video transfers from Zoom to YouTube, added notifications, and now every recording is automatically dropped into a Slack channel. We use privacy settings (unlisted) on YouTube to make sure people who aren’t on the team don’t have access to our meetings.
The project is written in Python and launched in Docker. This simplifies the project’s initial deployment.
Disclaimer: The utility is supplied "AS IS" without any warranties.
You can reach us at github@welltory.com
Install Docker and Docker-Compose
Then create a Docker image. To do this, enter the command:
$ make build
You need to create a .env
file in the root directory of the project, specifying the keys listed below:
ZOOM_API_KEY
ZOOM_API_SECRET
ZOOM_EMAIL
To get the keys, follow these steps:
API Key
in ZOOM_API_KEY
, API Secret
in ZOOM_API_SECRET
Add the following keys to the .env
file
GOOGLE_REFRESH_TOKEN
GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET
To get the keys, follow these steps:
YouTube Data API v3
Other
(depends on localization), createClient ID
in GOOGLE_CLIENT_ID
and Client Secret
in GOOGLE_CLIENT_SECRET
To get the GOOGLE_REFRESH_TOKEN
follow these steps:
<GOOGLE_CLIENT_ID>
with the GOOGLE_CLIENT_ID
, you got from the previous step.env
in the GOOGLE_CODE
field$ docker-compose run app bash
$ python3.6 src/get_google_refresh_token.py`
.env
file, in the GOOGLE_REFRESH_TOKEN
fieldAdd the following keys to the .env
file
SLACK_CHANNEL
SLACK_TOKEN
SLACK_CHANNEL
, for example SLACK_CHANNEL=#my_cannel,@my_user
SLACK_TOKEN
To make sure all the keys were entered into the .env
file, run the script in docker container
$ docker-compose run app bash
$ python3.6 src/check_env.py
Launch the container:
$ make up
$ virtualenv venv -p /usr/bin/python3 --no-site-package
$ source venv/bin/activate
$ pip install -r requirements.txt
$ sudo cp cron/crontab /etc/cron.d/zoom2youtube-cron
$ sudo service cron restart
ZOOM_API_KEY=AAAAAAAAAAAAAAA
ZOOM_API_SECRET=BBBBBBBBBBBB
ZOOM_EMAIL=test@test.com
GOOGLE_CLIENT_ID=AAAAAAAAAAAAAA.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=BBBBBBBBBBBBBb
GOOGLE_REFRESH_TOKEN=CCCCCCCCCCCC
GOOGLE_CODE=DDDDDDDDDDDDDD
SLACK_CHANNEL=@user
SLACK_TOKEN=AAAAAAAAAAAAA