├── README.md ├── Read Me for Zoom Recording Template.pdf ├── joinButton.PNG └── zoom_record_template1.py /README.md: -------------------------------------------------------------------------------- 1 | # Zoom-Meeting-and-Recording 2 | The python scripts lets you join and record a zoom meeting automatically (this is my first project, any feedback and help is appreciated) 3 | 4 | Read Me for Zoom Recording Template 5 | 6 | 7 | Please read through this to understand how the code works so that you can implement system properly. This is my first-time coding something like this with my very limited CS background, I understand that my method may be very inefficient and there are probably much easier ways to implement this. All feedback is welcome and appreciated. Thank you for helping me learn. 8 | 9 | Requirements 10 | 11 | • Python (Obviously) 12 | 13 | • Changing settings on Zoom 14 | 15 | • Sleep Settings 16 | 17 | • Pyautogui Library 18 | 19 | Sleep Settings 20 | 21 | Warning!!! 22 | 23 | Your computer needs to be AWAKE and SIGNED IN for this method to work. If your computer is normally on, then this won’t be a problem. If you want the pc to wake up at some time and sign in to run this program, you need to enable these settings which I will outline. If your pc can start up from shutdown (e.g. RTC alarm) then you can also do that however I was not able to get this to work. The best way was to wake the pc from sleep and run the python script 24 | 25 | Sign In Settings 26 | 27 | 28 | For this program to work (you will see why as I explain the script itself) your computer needs to be in the desktop directly after waking and must skip the sign in splash screen. To do this, go to start and open up ‘Sign in options’ (just type that in). Find the setting that reads “Require sign-in”, underneath which says, “if you’ve been away, when should Windows require you to sign in again?” and change the setting to “never”. 29 | 30 | Zoom Settings 31 | 32 | There’s some zoom settings you must alter so that the script runs smoothly, mainly settings that automatically join you into the call without clicking join with audio. You can also ensure settings to see that you join with your mic and camera muted but that is optional. Check the boxes of the settings I’ve outlined below 33 | 34 | 35 | General 36 | 37 | • Enter full screen automatically when starting or joining a meeting 38 | 39 | o This is so that screen capture will capture the entire screen properly 40 | 41 | Video 42 | 43 | • Turn off my video when joining meeting 44 | 45 | o Optional and case specific 46 | 47 | Audio 48 | 49 | • Automatically join audio by computer when joining a meeting 50 | 51 | o Very Critical for script to work (NOT OPTIONAL) 52 | 53 | • Mute my microphone when joining a meeting 54 | 55 | o Optional and case specific 56 | 57 | Waking the computer 58 | 59 | This aspect is done in windows task scheduler. Follow this YouTube video for how to set up 60 | 61 | https://www.youtube.com/watch?v=n2Cr_YRQk7o& 62 | 63 | Essential Outline 64 | 65 | • Create new task 66 | 67 | • Enter the path to python 68 | 69 | • Enter the path to the script file itself 70 | 71 | • Enter schedule time as require 72 | 73 | REQUIRED 74 | 75 | Under the Conditions Tab when creating task, under the Power heading ENSURE YOU CLICK “WAKE THE COMPUTER TO RUN THIS TASK” else the computer will not wake up to run the task and it WILL NOT WORK. For laptops, also check/uncheck settings such as “start the task only if the computer is on AC power” and “stop the computer switches to battery power” as required. 76 | 77 | 78 | Python Script 79 | 80 | The script uses the PyAutoGUI library to control your keyboard and mouse to emulate how you would normally launch zoom, enter your meeting id and join and record the meeting. Due to this reason, the computer needs to be in the desktop and not behind the sign in screen as the script emulates keystrokes and mouse clicks and this will not work if the pc is in the sign in screen. The code file itself has been documented thoroughly as details required. The documentation for PyAutoGUI is here for you to look at if need be. The code is split into 2 sections: Joining meeting and recording meeting. You may not need both and run which you need and comment the rest. 81 | 82 | https://pyautogui.readthedocs.io/en/latest/index.html 83 | -------------------------------------------------------------------------------- /Read Me for Zoom Recording Template.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BigchillRK/Zoom-Meeting-and-Recording/b2ae4d00ef901e070c668f75c8a9bffa6612adff/Read Me for Zoom Recording Template.pdf -------------------------------------------------------------------------------- /joinButton.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BigchillRK/Zoom-Meeting-and-Recording/b2ae4d00ef901e070c668f75c8a9bffa6612adff/joinButton.PNG -------------------------------------------------------------------------------- /zoom_record_template1.py: -------------------------------------------------------------------------------- 1 | ## Code to Automatically open Zoom program to join a meeting and record meeting is required 2 | 3 | ##################################### 4 | 5 | ## Please read through the read me to understand how this works to implement it for your set up 6 | 7 | ##################################### 8 | 9 | ## You need the pyautogui library, best way to install is using 'pip install pyautogui' 10 | ## in essence this script uses your keyboard and mouse to automatically open zoom from start menu and click and enter meeting id 11 | ## some settings of zoom itself needs to be changed for this script to work correctly 12 | 13 | ## documentation for pyautogui 14 | 15 | ######################################################## 16 | 17 | ## https://pyautogui.readthedocs.io/en/latest/index.html 18 | 19 | ######################################################## 20 | 21 | ## Created by Rohit Kannachel 22 | ## Not liable if this causes any issues. 23 | ## thank you to Tanushi De Silva for giving me the inspiration to make this 24 | 25 | # importing libraries 26 | import pyautogui 27 | import time 28 | 29 | 30 | ##### Joining Zoom Meeting ################### 31 | 32 | ####################################################################################### 33 | #Enter the meeting id as a string here *important that it is in string format 34 | meet_id = '123456789' 35 | #esc clicked to ensure that the win key will open up correctly in the next step 36 | pyautogui.press('esc',interval=0.1) 37 | 38 | time.sleep(0.2) 39 | 40 | #these lines are simulating starting up zoom by pressing windows key and typing zoom to open program 41 | pyautogui.press('win',interval=0.1) 42 | pyautogui.write('zoom') 43 | pyautogui.press('enter',interval=0.5) 44 | 45 | 46 | #time delay to factor for zoom app to load up, good buffer is like 10 sec but its case specific 47 | time.sleep(10) 48 | 49 | 50 | #this part simulates clicking join meeting, entering meeting id and pressing enter to join 51 | ##Make sure the joinButton.png file is located in the same folder as the python file or else it will not work 52 | ##this tells the script where to click to join the meeting 53 | 54 | x,y = pyautogui.locateCenterOnScreen('joinButton.png') 55 | pyautogui.click(x,y) 56 | 57 | 58 | pyautogui.press('enter',interval=1) 59 | ## the interval of 1 second is important, if not there, then the meeting id will not be inputted 60 | pyautogui.write(meet_id) 61 | pyautogui.press('enter',interval=1) 62 | 63 | 64 | ###### password OPTIONAL!!! ##### 65 | # if your meeting has a password then uncomment the code below and enter it here 66 | 67 | 68 | # change the value of the variable to your password 69 | password = 'password' 70 | 71 | #time.sleep(3) 72 | #pyautogui.press('enter',interval=1) 73 | #pyautogui.write(password) 74 | #pyautogui.press('enter',interval = 1) 75 | ##### IF YOUR MEETING HAS NO PASSWORD PLEASE LEAVE THIS SECTION AS IS AND DONT UNCOMMENT 76 | 77 | 78 | 79 | ################################################################################## 80 | 81 | 82 | ###### Recording meeting using Windows Game Bar ############################# 83 | 84 | 85 | ####################################################################################### 86 | 87 | 88 | ## this time buffer is added so that it accounts for the time taken to load into the meeting 89 | ## a good buffer time is around 10-20 seconds before recording starts to ensure you're in the meeting 90 | 91 | 92 | time.sleep(5) 93 | 94 | 95 | ## opening up windows game bar overlay 96 | pyautogui.hotkey('win','g') 97 | time.sleep(1) 98 | ## commencing screen recording 99 | pyautogui.hotkey('win','alt','r') 100 | time.sleep(1) 101 | ## closing windows game bar overlay 102 | pyautogui.hotkey('win','g') 103 | 104 | 105 | #### recording time amount 106 | ## however long you want, enter the time here in seconds, e.g. 30 minutes is 60*30 = 1800 seconds 107 | ## in windows game bar the default setting for time limit for recording is 2 hours, 108 | ## make sure to change this as you need 109 | time.sleep(25) 110 | 111 | 112 | ## ending screen recording 113 | pyautogui.hotkey('win','alt','r') 114 | time.sleep(2) 115 | ## By default, screen captures are sent to a folder called captures in "videos" in "this PC" 116 | 117 | ## closing Zoom 118 | pyautogui.hotkey('alt','f4') 119 | time.sleep(0.5) 120 | pyautogui.hotkey('alt','f4') 121 | 122 | ############################################################################################ --------------------------------------------------------------------------------