Installation¶
Requirements¶
- Go 1.26 or later
- A LiveKit server (local or cloud) for development
- Optional: CGO for Opus audio encoding/decoding
Installing omnimeet-core¶
Add the core package to your project:
Installing a Provider¶
Install the provider for your platform:
LiveKit Setup¶
Option 1: LiveKit Cloud¶
- Sign up at LiveKit Cloud
- Create a new project
- Copy your API credentials
Set environment variables:
export LIVEKIT_URL=wss://your-project.livekit.cloud
export LIVEKIT_API_KEY=your-api-key
export LIVEKIT_API_SECRET=your-api-secret
Option 2: Local LiveKit Server¶
Install and run LiveKit locally:
# Using Docker
docker run --rm -p 7880:7880 -p 7881:7881 -p 7882:7882/udp \
livekit/livekit-server \
--dev \
--bind 0.0.0.0
# Set environment
export LIVEKIT_URL=ws://localhost:7880
export LIVEKIT_API_KEY=devkey
export LIVEKIT_API_SECRET=secret
CGO Requirements (Optional)¶
For full audio support with Opus encoding/decoding, you need CGO enabled with the following libraries:
macOS¶
Ubuntu/Debian¶
Building with CGO¶
Building without CGO¶
If CGO is not available, OmniMeet falls back to raw audio passthrough:
Note
Without CGO, audio frames will contain raw data without Opus decoding. This may work for some use cases but is not recommended for production voice applications.
Verifying Installation¶
Create a simple test file:
package main
import (
"fmt"
"os"
"github.com/plexusone/omni-livekit/omnimeet"
)
func main() {
provider, err := omnimeet.NewProvider(omnimeet.Config{
APIKey: os.Getenv("LIVEKIT_API_KEY"),
APISecret: os.Getenv("LIVEKIT_API_SECRET"),
ServerURL: os.Getenv("LIVEKIT_URL"),
})
if err != nil {
fmt.Printf("Error: %v\n", err)
os.Exit(1)
}
fmt.Printf("Provider created: %s\n", provider.Name())
}
Run:
Next Steps¶
- Quick Start - Create your first meeting
- Agent Participation - Join meetings as an AI agent