Attend and record google meet calls automatically.
- UPC (polytechnic university of catalonia)
- UCA (university of cadiz)
- Gmail
- Other Organizations that use the Google suite: By request.
This software only requires docker-compose and it should run on any platform supported by docker.
- This project runs entirelly on a docker container, ensure your SO has docker-compose installed.
- Download or clone this repository.
- Open a terminal in the project directory or
cd THIS_PROJECT_FOLDER - Run
docker-compose build - It may take up to several minutes depending on your internet connection.
After the installation you may execute the software. Although the program
can be run from terminal using docker-compose up, a common usecase is to set up cron or system equivalent
to automate temporized executions.
BACKENDOptions areupc,ucaandgmail. Defaults togmail.EMAILRequired.ORG_USERRequired ifBACKENDis notgmail.PASSWORDRequired.MEET_URLRequired.VIDEO_NAMEDefaults tovideo.OUTPUT_DIRDefaults to the project directory.MAX_DURATIONThe maximum meet duration. Defaults to7200(2h).MIN_DURATIONThe minimum meet duration. Defaults to1800(30m).ASK_JOINWhether asking to join a class is allowed for the bot. Defaults to True.FRAC_TO_EXITThe required fraction of people that already left the meet call to leave the call.MIN_DURATIONmust have been already exceeded. Defaults to0.90(90%).RESOLUTIONRecording resolution, Defaults to1920x1080.FASTPrefer performance over quality and video size, Defaults to False.
Record a call using UPC credentials with a duration between 60 and 120 seconds (the bot may exit if 83% of the people already left) into ~/CoolFolder/vid_1_23_45.webm.
Inside the project directory run:
BACKEND=upc [email protected] ORG_USER=john.smith PASSWORD='h4k3rm4n1234' MEET_URL=https://meet.google.com/eas-tere-ggy MIN_DURATION=60 MAX_DURATION=120 OUTPUT_DIR=~/CoolFolder VIDEO_NAME=vid_1_23_45 FRAC_TO_EXIT=0.83 docker-compose up
How can i fully automate recordings?
There are many tools for task scheduling, for Linux you may want to check
cron, for MacOS eitherlaunchdorcronand for WindowsTask Scheduler.
My organization requires its own login and doesn't have a supported backend, what can i do?
I encourage you to try implement it yourself and maybe do a PR to include it in the project officially, but you can aswell write an issue asking for it.
What can I do if the software doesnt work?
If it doesnt work due to an invalid argument it might print what's the issue or report a stacktrace, if its due to an incorrect argument like a wrong password it will still record a video that shows what went wrong. If the problem is none of the above (a bug perhaps) feel free to report the issue or open a PR if you managed to fix it.