Skip to content

satvik007/termeet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

termeet

Google Meet viewer for the terminal.

termeet uses Playwright to open Google Meet in a persistent browser profile, captures frames from visible <video> elements, and renders them in the terminal with Kitty graphics or an ANSI half-block fallback.

Current Status

This is an MVP. It can:

  • keep a dedicated browser profile and reuse login state
  • run environment diagnostics with doctor
  • open a login session with login
  • capture a single frame from a meeting with dump-frame
  • render one visible video source live in the terminal with view
  • cycle visible sources from the keyboard

It does not currently provide audio playback, mic/camera publishing, or a finished Sixel backend.

Requirements

  • Python 3.12+
  • uv
  • Playwright browser binaries: uv run playwright install chromium
  • A terminal with either Kitty graphics support or good ANSI color support

Chrome is preferred when available. If not, termeet falls back to Playwright’s Chromium path.

Setup

uv sync
uv run playwright install chromium

Commands

uv run termeet doctor
uv run termeet login
uv run termeet render-test path/to/image.jpg
uv run termeet dump-frame https://meet.google.com/abc-defg-hij
uv run termeet view https://meet.google.com/abc-defg-hij

Useful flags:

  • --renderer kitty|halfblock|sixel
  • --headless
  • --low-power
  • --max-size 320x180
  • --fps 10
  • --jpeg-quality 0.65

Recommended Flow

  1. Run uv run termeet doctor.
  2. Run uv run termeet login and finish Google auth in the browser window.
  3. Run uv run termeet view <meet-url>.

If you want to debug capture without the live UI, use dump-frame first.

Controls

While view is running:

  • q: quit
  • n or right arrow: next source
  • p or left arrow: previous source
  • r: switch renderer for debugging
  • d: dump the current frame to the cache directory
  • ?: toggle help text

Renderer Behavior

  • Kitty is preferred when the terminal looks like Kitty or Ghostty.
  • Half-block is the universal fallback.
  • Sixel is still experimental and not a reliable user path yet.

Data and Artifacts

termeet uses app-specific directories via platformdirs for profile, cache, and logs. Join failures dump artifacts such as screenshots, HTML, and metadata into the cache directory so Meet selector breakage is easier to diagnose.

Testing

uv run pytest -q

The automated tests use local fixtures and a synthetic video page. Real Google Meet is not part of the test suite.

About

Google Meet viewer for the terminal

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors