Python program to download Zoom cloud recordings, save them locally and upload them to a Vimeo Businnes Account.
Description:
ZoomToVimeo is a Python program that uses Zoom's and Vimeo's API to download specific or all cloud recordings from a Zoom Businnes account, save them locally and then upload them to a Vimeo Businnes account. All via simple command line inputs.
Download options for Zoom videos include:
- Selecting specific users or all users.
- Selecting only recordings made from a certin date forward.
- Downloading only specific file types for example 'shared_screen_with_speaker_view' from each recording.
Vimeo upload options include:
- Upload Recordings to specific folder or folders.
The original template was taken from https://github.com/ricardorodrigues-ca/zoom-recording-downloader I modified it substantially for the specific needs of a European University and since i had no serious repositories yet, i decided to upload the program. Hope it can make your life easier :)
Attention:
-
You will need Python 3.6 or greater
-
You will require a Zoom Developer account to create a Zoom Server to Server OAUTH app. as well as a Vimeo Businnes account to create the correspoding OAUTH app there.
-
If you haven't made the apps already check the links in the reference.txt file for tutorials and guides.
Important note:
-
Names of recordings uploaded to Vimeo will be cut to 128 characters if longer since this is the Vimeo Video name limit.
-
Strange characters will also be removed from names in order to be able to save them correctly on all platforms.
Installation & Setup
-
$ git clone https://github.com/alek-tech/ZoomToVimeo
-
$ cd ZoomToVimeo
-
$ pip3 install -r requirements.txt
-
Open the .env file and add your Zoom and Vimeo credentials between the quotation marks.
-
Open the Main.py file and write the path to the folder where you wish to download the recordings in the following variable:
DOWNLOAD_DIRECTORY = r'PATH TO FOLDER'
-
Run file with command
python Main.py
Usage
The program has 2 main options. "ALL" and "SINGLE".
-
If you want to download and upload zoom recordings from all users of this zoom account type "all" at the 3rd question of the Initial inputs.
-
If you want to download recordings only from specific users, go to the single_users.xlsx file in the ZoomToVimeo folder and add the users email under the "Email" cell(column A), one email for each cell. You can also add a Vimeo folder id under the "Folder" cell(column C) if you wish to upload the specific user recordings to an existing Vimeo folder.
At startup the program gives you 3 options:
-
If you wish to upload the downloaded recordings in a specific Vimeo folder, type "yes" and provide the folder id which you can see in the Vimeo folder url.
-
If you want to download recordings made from a certain date forward. type "yes" and input date.
-
Choose either "all" or "single" which are the options described above.
Other options:
-
If you only want to download the recordings without uploading them to Vimeo, open the Main.py file and comment out the functions all_upload or single_upload depending on which of the 2 options you're gonna be using.
-
To download only recordings of specific file types for example 'shared_screen_with_speaker_view', open Functions.py, go to function "get_recordings_files" (around line 125) and follow the short instructions on how to enable the file type filter.
Bugs: If the scripts is interrupted while a recording is being uploaded, the partial recording will be uploaded and will have to be deleted manually.