Skip to main content

A CLI-based video/audio calling app using WebRTC and Firebase

Project description

TermCall

A CLI-based video/audio calling app for the terminal using WebRTC and Firebase.

Features

  • Peer-to-peer video and audio calls in your terminal
  • Remote video as colored ASCII art
  • Local video preview as Sixel graphics (Sixel-compatible terminal required)
  • Simple CLI interface for browsing users and making calls

Requirements

  • Python 3.8+
  • A Sixel-compatible terminal (e.g., xterm -ti vt340, mlterm) for local video preview
  • Webcam and microphone

Installation

  1. Install TermCall (after building the package):

    pip install termcall
    
  2. Install system dependencies (if needed):

    • macOS: brew install libjpeg
    • Ubuntu: sudo apt-get install libopencv-dev

Usage

After installation, run:

termcall
  • On first run, you will be prompted for your email and full name.
  • Browse users, initiate calls, and accept/decline incoming calls from the CLI menu.
  • During a call:
    • Remote video is shown as ASCII art
    • Local video preview (bottom right) uses Sixel graphics (if supported)
    • Controls: m to mute audio, v to mute video, q to quit call

Database & Security

  • TermCall connects to the public TermCall Firebase database automatically. You do NOT need to set up your own Firebase or provide any credentials.
  • All user and call data is stored centrally. For technical and security details, see TODO.md.

Troubleshooting

  • If local video preview does not appear, ensure your terminal supports Sixel.
  • If you see errors about missing libraries, install system dependencies as above.

License

MIT License

For more details, see TODO.md or open an issue on GitHub.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

termcall-0.1.0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

termcall-0.1.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file termcall-0.1.0.tar.gz.

File metadata

  • Download URL: termcall-0.1.0.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for termcall-0.1.0.tar.gz
Algorithm Hash digest
SHA256 725e51992fb2f309150c3c1ef28a03abdcdac551c238a2dff79f13d4aa8c8df4
MD5 fa2a9aec8bc45aa610811906137fb53e
BLAKE2b-256 009fe10633ce98cb23780abb4f183d755aeb718b04216efdf6d31d9d75fc761c

See more details on using hashes here.

File details

Details for the file termcall-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: termcall-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for termcall-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65dbd4701d05a92dd020baf803d16b9a62a9a096e970262a44b5cc4a595ed463
MD5 742ee7ec167c581b044129bd630a0484
BLAKE2b-256 da6964939caee4d88ed5d4dc135a605d87e39b67f407330115ed2662a64e2b58

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page