Skip to content

πŸ”„ A completely automated model to backup your zoom cloud video recordings along with their transcript files (optional) to your vimeo account arranged in folders and finally delete the files from zoom cloud(optional). Also includes a script for downloading the recording files to your local system. Zoom Vimeo backup

License

Ash-exp/zoom-backup

Repository files navigation

Zoom, Local and Vimeo Files Backup scripts

These scripts has been designed to download files from a set of Zoom accounts to your computer, upload them from Zoom to a Vimeo account, back it up to S3 and finally, remove them from Zoom and mail the report. Here the files included in this repo:

  • config.json: Config file
  • utils.py: Utils file
  • vimeo_uploader.py: Uploads videos from Zoom to Vimeo
  • transcript_uploader.py: Uploads video's transcripts from Zoom to Vimeo
  • zoom_files_downloader.py: Download Zoom files to your computer
  • s3util.py: Backup to AWS S3
  • zoom_files_delete.py: Delete files in Zoom account
  • report_mailer.py: Mail the script report

All of these python scripts runs by itself, except utils.py (this is an utility script) and the syntaxis is similar for all of them.

Prerequisites

  • python 3.x
  • wget (you can get it by: pip wget)
  • Zoom Pro Account
  • Vimeo Pro Account
  • AWS account (required if S3 backup is enabled in config)

config.json

You must specify the following information in this file:

  • Zoom access token
  • Vimeo access token
  • Vimeo User Id
  • Vimeo Preset Id
  • Vimeo Password
  • S3 Integrate
  • Min Duration
  • Zoom Recordings Delete
  • Report Mailer

Getting a Zoom Token

You can get your Zoom access token by creating a JWT Application in Zoom market place (https://marketplace.zoom.us/). You can find the steps here https://marketplace.zoom.us/docs/guides/build/jwt-app. After you create the application, you must copy the JWT Token to your config.json file.

Getting a Vimeo token

You can get your Vimeo Token by creating a Vimeo Application (https://developer.vimeo.com/apps), furthermore, it's necessary to generate an Access Token, you can do in the same page. Please, go to this url for more information. https://developer.vimeo.com/api/guides/start. Finally, copy your Vimeo Access Token in your config.json file.

Vimeo User Id

To get your Vimeo user id, you must go to your profile in your Vimeo account. Copy the last part of the url after user. i.e. https://vimeo.com/user123456789, the userid is 123456789

Vimeo preset Id

Please, create a preset in Vimeo, then just copy the PresetId from the Url. i.e. https://vimeo.com/settings/videos/embed_presets/987654321, the preset id is 987654321

Downloading files: zoom_files_downloader

This script gets all users in your Zoom account and download files from these in your local machine. All the scripts runs in input file mode and date range mode.

Using file input mode

Download files using an input file

python zoom_files_downloader.py --inputfile inputfile.csv --outputfile outputfile.csv

This mode needs a CSV file. Records in the file are defined in utils.CSV_HEADER. At the beginning, it would be difficult to create this file, and that's why you should use this method just when this file has been generated by zoom_files_downloader, zoom_files_delete or vimeo_uploader, executed in date range mode. i.e. you can upload your videos to Vimeo using date range mode, and then you can download the same files, using the download script with file input mode.

Using date range mode

Download files using an input file

python zoom_files_downloader.py --daterange YYYY-mm-dd YYYY-mm-dd --outputfile outputfile.csv

You can download files between two dates. i.e.

python zoom_files_downloader.py --daterange 2020-01-01 2020-05-03 --outputfile outputfile.csv

This mode gets files from Zoom accounts and saves them in local storage.

Uploading videos to Vimeo: vimeo_uploader

This script uploads video files from Zoom accounts to a Vimeo account, then it organizes these videos in folders (with the same name as the meeting) and finally, setup a defined preset.

Using file input mode

Upload files using an input file

python vimeo_uploader.py --inputfile inputfile.csv --outputfile outputfile.csv

This approach receives an input file, and before upload the videos, it checks for the videos in Vimeo, if these exist, it does not upload them again, but if one of these file does not exist in the Vimeo account, this script upload the video, then check if the video has started the transcription. When Vime starts the transcription, these are moved and set the preset.

Finally a report is generated and this can be used to start the script again with the same videos.

Using date range mode

Upload files using date range

python zoom_files_downloader.py --daterange YYYY-mm-dd YYYY-mm-dd --outputfile outputfile.csv

You can upload videos from Zoom between two dates. i.e.

python vimeo_uploader.py --daterange 2020-01-01 2020-05-03 --outputfile outputfile.csv

Delete files from Zoom: zoom_files_delete

This script lets you move files to trash, from a set of Zoom accounts using an input file. This file can be generated from with vimeo_uploader.py or zoom_files_downloader.py, so you can delete a set of files after performs a backup in your computer or your Vimeo account.

Using file input mode

Delete files using an input file

python zoom_files_delete.py --inputfile inputfile.csv --outputfile outputfile.csv

In this approach the script receives an input file, then all these files are moved to trash in the Zoom account, then a report is generated.

Using date range mode

Delete files using date range

python zoom_files_delete.py --daterange YYYY-mm-dd YYYY-mm-dd --outputfile outputfile.csv

In this approach, files between two dates are moved to trash, then a report is generated.

python vimeo_uploader.py --daterange 2020-01-01 2020-05-03 --outputfile outputfile.csv

Official documentation

About

πŸ”„ A completely automated model to backup your zoom cloud video recordings along with their transcript files (optional) to your vimeo account arranged in folders and finally delete the files from zoom cloud(optional). Also includes a script for downloading the recording files to your local system. Zoom Vimeo backup

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages