MeetStudio Pro is a high-performance Google Chrome extension and client-side web application engineered specifically for Google Meet. It captures pristine high-definition video, mixes isolated meeting audio with enhanced microphone speech, synchronizes with Google Meet's mute state in real-time, and extracts live closed-caption transcripts with zero cloud dependencies.
- Floating In-Call HUD Controller: A frosted-glass capsule pill is injected directly into the top-left corner of the Google Meet call screen.
- Real-time REC Status: Shows an active pulsing red badge (
β REC | 00:14:22) with live duration and microphone status (β’ π Mic Muted/β’ ποΈ Mic Live). - Leave Call Auto-Finalize: Automatically stops recording and downloads your video and transcript when you click the red "Leave call" button or navigate away.
- Automatic Hardware Cut-Off: When you mute yourself in Google Meet (via on-screen button,
Ctrl+D/Cmd+D, or the extension popup), the microphone track is instantly disabled (enabled = false) and software gain is zeroed (0.0x). - Continuous Meeting Sound: All other participants and meeting tab audio continue recording without any interruption.
- Instant Unmute Boost: Unmuting instantly restores your voice with hardware noise filtering and a 1.35x speech enhancement curve.
- Tab Capture Engine: Built using
chromeMediaSource: 'tab', strictly capturing the audio output of the Google Meet tab. - No Sound Leaks: Audio from Spotify, Discord, YouTube in background tabs, system notification dings, or computer games will never be recorded into your meeting archive.
- Intelligent DOM Mutation Observer: Automatically tracks speaker changes (
.NWpY1d) and spoken words (.ygicle). - Formatted Timestamps: Transcripts are buffered with ISO start/end timestamps and formatted for instant one-click
.txtdownload.
- Designed with modern aesthetics: deep obsidian base (
#090d16), multi-layer glass cards (backdrop-filter: blur(20px)), neon indigo & crimson indicators, and high-precision tabular stopwatch timers.
- Comes with a production-ready landing page, interactive 3-step setup guide for users, a ready-to-download
.ziparchive, and a fallback Zero-Install In-Browser Web Recorder.
ββββββββββββββββββββββββββββββββββββββββββ
β GOOGLE MEET CALL TAB β
β - Captures Subtitles/Transcripts β
β - Detects Mic Mute/Unmute State β
β - Shows Floating [ β REC ] HUD Pill β
ββββββββββββββββββββ¬ββββββββββββββββββββββ
β (chrome.runtime.sendMessage)
βΌ
ββββββββββββββββββββββββββ ββββββββββββββββββββββββ βββββββββββββββββββββββββββ
β POPUP UI ββββββββββββββΊβ BACKGROUND WORKER ββββββββββββββΊβ OFFSCREEN DOCUMENT β
β - Stopwatch Timer β Messages β (background.ts) β Port RPC β (offscreen.ts) β
β - Audio Activity Meter β β - Manages Lifecycle β β - Web Audio Studio Mixerβ
β - Manual Mute Toggle β β - Acquires Stream IDsβ β - Dynamic Compressor β
β - 1-Click Record CTA β β - Triggers Downloads β β - MediaRecorder (WebM) β
ββββββββββββββββββββββββββ ββββββββββββββββββββββββ βββββββββββββββββββββββββββ
[ Google Meet Tab Stream ] ββ> [ Tab Gain: 1.0x ] βββββββββββ
β
βΌ
[ Dynamics Compressor ] ββ> [ MediaStream Destination ] ββ> [ MediaRecorder ]
β²
β
[ Microphone Audio Stream ] ββ> [ Dynamic Mic Gain ] ββββββββββ
β’ Unmuted: 1.35x (Voice Boost)
β’ Muted: 0.00x (Total Silence)
[ Inaudible 0.0001Hz Osc ] βββββββββββββββββββββββββββββββββββββββββββββ> [ MediaStream Destination ]
(Prevents Chrome MV3 Web Audio clock from sleeping during conversational pauses)
βββ dist/ # Compiled extension assets for Chrome
βββ src/
β βββ background.ts # Service worker coordinator & stream manager
β βββ offscreen.ts # Web Audio mixing graph & MediaRecorder engine
β βββ popup.ts # Executive popup UI controller
β βββ scrapingScript.ts # In-meeting HUD, caption scraper & mute monitor
β βββ micsetup.ts # One-time microphone onboarding helper
βββ index.html # Vercel landing page, download hub & web recorder
βββ manifest.json # Chrome Manifest V3 configuration
βββ micsetup.html # Microphone permissions setup page
βββ offscreen.html # Headless offscreen document
βββ popup.html # Dark glassmorphic popup interface
βββ package.json # Dependencies and build scripts
βββ tsconfig.json # TypeScript compiler settings
βββ vercel.json # Vercel deployment and download routing
βββ webpack.config.js # Webpack 5 production bundler
- Node.js: v18.0.0 or higher
- npm: v9.0.0 or higher
- Google Chrome: Latest version
git clone https://github.com/your-username/meetstudio-pro.git
cd meetstudio-pro
npm install# Build production bundle to /dist
npm run build
# Or build + package into meetstudio-extension.zip
npm run package
# Or run in development watch mode
npm run dev- Open Google Chrome and navigate to
chrome://extensions. - Toggle Developer mode in the top right corner.
- Click "Load unpacked" in the top left corner.
- Select the
distfolder inside this repository. - Open meet.google.com and start recording!
This project includes a landing page and distribution hub ready for Vercel deployment:
npx vercel- Push this repository to GitHub:
git init git add . git commit -m "MeetStudio Pro v2.0.0" git branch -M main git remote add origin https://github.com/your-username/meetstudio-pro.git git push -u origin main
- Go to vercel.com/new and import your repository.
- Click Deploy. Vercel will host your landing page, interactive setup guide, zero-install web recorder, and
meetstudio-extension.zipdownload package.
- 100% Client-Side: No audio, video, transcripts, or personal data are ever transmitted to any external server or cloud service.
- On-Device Encoding: Video frames and audio streams are mixed, compressed, and encoded directly inside the user's browser.
- Local File Storage: Output
.webmrecordings and.txttranscripts are saved exclusively to the user's local Downloads folder.
Distributed under the MIT License. See LICENSE for more information.