dunkbing / meeting-bot

Online meeting bot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Overview

This project is an application that automatically joins Google Meet, Microsoft Teams, and Zoom. And records audio/video that can be saved to a local file or streamed to other services.

Architecture

Following libraries used for the project:

  • Rod a dev-tools driver for web automation and scraping (written in Golang). We use it to find buttons, and text-boxes on a browser page to enter the necessary information for the meeting.
  • PulseAudio server for audio playback.
  • Xvfb for faked screen display. We use it to open chrome inside a container.
  • GStreamer and go-gst for recording audio from pulseaudio source.

Features

  • Supports Zoom
  • Supports Google Meet
  • Supports Microsoft Teams
  • Write audio to file /data/file.mp3 or /data/file.mp4
  • Supports streaming audio.
  • Auto-stop if no one is in the meeting for 5 minutes
  • Auto-stop if the meeting is ended

Building

make docker-gstreamer
make docker-prod

Running

docker run --rm --name meeting-bot -e CONFIG_BODY="$(cat config.yaml)" -v ~/meeting-bot/recordings:/data dunkbing/meeting-bot

About

Online meeting bot


Languages

Language:Go 83.6%Language:Shell 7.3%Language:Makefile 4.7%Language:Dockerfile 4.4%