DEV Community

John Doe
John Doe

Posted on Edited on

Google Meet visitor and recorder

What it does

If you have ever concern to record or just visit some google meet call - here is your helper!
The main purpose of the google-meet-visitor is just to visit calls in google meet. The main feature is that you can record calls. It will automate all the user actions, i.e join a call, mute the browser micro and cam, submit that you are in the call, etc.

Usage

Installation

git clone git@github.com:KR1470R/google-meet-visitor.git
npm ci
Enter fullscreen mode Exit fullscreen mode

Configuration

All the config parameters are stored in the .env file in root of the project.
Variables with asterisk* are important, you won't be able to run the program without them!

Explanation of variables:

USER_DATA_DIR* - specify the path to your google chrome profile directory. [See here][5.1].
TARGET_CALL_LINK* - link to your google meet call.
CALL_TIMER_MINUTES* - how many minutes the visitor must stay at call
OUTPUT_RECORD_TAB - custom path to folder for output records. By default is dist/records/ in the root.
WIDTH_PX - width of browser window. By default 1000.
HEIGHT_PX - height of browser window. By default 800.
MINIMIZED - true or false. If true, the window of the browser will be minimized and if false - maximized. By default false.
MUTE - true or false. If true, the browser will be totally muted. By default false.
RECORD_TAB - true or false. If true, the visitor will record the call. By default false.
ASK_JOIN_WAIT_MIN - how many minutes await for host of call accept your "ask to join" request(default 10).
IGNORE_ERRORS - skip printing errors(aka "some element not found", etc) - true/false(default false, recomended for debuging).
GMEET_MIC_MUTE - mute gmeet micro, by default false.
GMEET_CAM_MUTE - mute gmeet webcam, by default false.

Configuration by CLI arguments

You also can specify your link to call, user profile path and other config parameters by directly specifying such command-line arguments.
⚠️Note that command-line arguments will override parameters you specified in .env file!⚠️

List of arguments that overrides .env variables:

--user-data-dir= or --u= overrides USER_DATA_DIR
--target-call-link= or --t= overrides TARGET_CALL_LINK
--call-timer-minutes=or --timer= overrides CALL_TIMER_MINUTES
--output-record-tab= or --o overrides OUTPUT_RECORD_TAB
--minimized overrides MINIMIZED
--mute overrides MUTE
--record-tab or --r - overrides RECORD_TAB
--width= or --w= overrides WIDTH_PX
--height= or --h= overrides HEIGHT_PX
--ask-to-join-wait= or --ask-min= overrides ASK_JOIN_WAIT_MIN
--ignore-errors or --i overrides IGNORE_ERRORS
--gmeet-mic-mute or --gmm overrides GMEET_MIC_MUTE
--gmeet-cam-mute or --gcm overrides GMEET_CAM_MUTE

Example usage in CLI:

npm run start -- --u="path/to/user-data-dir/" --t="https://meet.google.com/..." --timer="50" --o="/path/to/output/folder/" --minimized --mute --r --w=1000 --h=800 --ask-min=123 --i
Enter fullscreen mode Exit fullscreen mode

⚠️Do not forget specify -- after npm run start.

Run

‼️Before running the visitor, ensure that you have signed in your account.‼️
⚠️It might ask you to login again to ensure that it's you, otherwise visitor will recognize it and give you 5 minutes for login.
Just go to the root directory of the google-meet-visitor and type the command:

npm run make # build the program, run after every changes you made in the project.
npm run start # run the visitor, you have not build the project every time if you have already build it.
Enter fullscreen mode Exit fullscreen mode

✅To stop the program before he finishes work, click Ctrl+C - the visitor will save a video(if recording) and stop immediately!

Contribution

More information you can find on the Github repository
If you have interested in this idea, i would be very glad for your contributions. Any questions, issues and suggestions will welcome!
Thanks for your time and attention.

Top comments (0)