Files
pipecat/examples/p2p-webrtc/daily-interop-bridge
Brian Mathiyakom 2eb2c5a413 Use disconnect() because close() doesn't exist
SmallWebRTCConnection doesn't have a `close()`. There's a `_close()` but I assume that's private due to its naming. The closest function that uses `_close()` is `disconnect()`. I assume then, that the intended resource freeing function call should be to `disconnect()`.
2025-05-30 17:14:53 -07:00
..
2025-05-27 17:42:52 -07:00

SmallWebRTC and Daily

A Pipecat example demonstrating how to interoperate audio and video between SmallWebRTCTransport and DailyTransport.

🚀 Quick Start

1 Start the Bot Server

🔧 Set Up the Environment

  1. Create and activate a virtual environment:

    python3 -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Configure environment variables:

    • Copy env.example to .env
    cp env.example .env
    
    • Add your API keys

▶️ Run the Server

python server.py

1 Connect the first client using Daily Prebuilt

  • Open your browser and navigate to the same URL that you configured inside your .env file:
    • DAILY_SAMPLE_ROOM_URL

2 Connect the second client using SmallWebRTC Prebuilt UI

⚠️ Important Note

Ensure the bot server is running before using any client implementations.

📌 Requirements

  • Python 3.10+
  • Node.js 16+ (for JavaScript components)
  • Google API Key
  • Modern web browser with WebRTC support

💡 Notes

  • Ensure all dependencies are installed before running the server.
  • Check the .env file for missing configurations.
  • WebRTC requires a secure environment (HTTPS) for full functionality in production.

Happy coding! 🎉