A Python-based Voice over IP (VoIP) application that provides audio capture, encoding/decoding, and playback capabilities.
- Audio capture and playback using PyAudio
- Opus codec support for high-quality audio compression
- Modular architecture for easy extension
VoIP_app/
├── src/ # Source code
│ ├── audio/ # Audio handling modules
│ ├── network/ # Network communication
│ └── utils/ # Utility functions
├── tests/ # Test files
├── examples/ # Example applications
└── requirements.txt # Python dependencies
-
Install the Opus library:
- Windows: Download from https://opus-codec.org/downloads/
- Linux:
sudo apt-get install libopus-dev - macOS:
brew install opus
-
Create and activate a virtual environment:
python -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows
-
Install Python dependencies:
pip install -r requirements.txt
Run the simple client example:
python examples/simple_client.pysrc/audio/capture.py: Audio capture functionalitysrc/audio/playback.py: Audio playback functionalitysrc/audio/codec.py: Opus codec handling
- Python 3.7+
- PyAudio
- opuslib
- numpy