Daily Provider¶
The Daily provider implements OmniMeet interfaces for Daily, an easy-to-use video API platform.
Coming Soon
The Daily provider is planned for Phase 3 and is not yet implemented.
Planned Installation¶
Configuration¶
import "github.com/plexusone/omni-daily/omnimeet"
provider, err := omnimeet.NewProvider(omnimeet.Config{
APIKey: os.Getenv("DAILY_API_KEY"),
})
Configuration Options¶
| Option | Description | Required |
|---|---|---|
APIKey |
Daily API key | Yes |
Domain |
Custom domain (optional) | No |
Daily.co Setup¶
- Sign up at Daily.co
- Get your API key from the dashboard
- Set the environment variable
Mapping to Daily Concepts¶
| OmniMeet | Daily |
|---|---|
| Meeting | Room |
| Participant | Participant |
| Track | Track |
| Join Token | Meeting Token |
Planned Features¶
Meeting Management¶
// Create meeting (Daily Room)
m, _ := provider.CreateMeeting(ctx, meeting.CreateRequest{
Name: "team-standup",
Metadata: map[string]string{
"team": "engineering",
},
})
// List meetings (active rooms)
meetings, _ := provider.ListMeetings(ctx)
// Delete meeting (delete room)
provider.DeleteMeeting(ctx, meetingID)
Token Generation¶
tok, _ := provider.CreateJoinToken(ctx, token.CreateRequest{
MeetingID: meetingID,
Participant: participant.Info{
Name: "Alice",
Kind: participant.KindHuman,
},
})
Agent Participation¶
Agent participation will use Daily's REST API and WebRTC:
factory := provider.(provider.AgentParticipantFactory)
agent, _ := factory.CreateAgentParticipant(provider.AgentParticipantOptions{
AutoSubscribe: true,
})
agent.JoinMeeting(ctx, meetingID, tok)
Dependencies¶
The Daily provider will depend on:
github.com/plexusone/daily-go- Daily REST API client- WebRTC libraries for media
Implementation Status¶
| Feature | Status |
|---|---|
| Meeting CRUD | Planned |
| Token generation | Planned |
| Participant listing | Planned |
| Agent participation | Planned |
| Audio subscription | Planned |
| Audio publishing | Planned |
| Data messages | Planned |
Comparison with LiveKit¶
| Feature | LiveKit | Daily |
|---|---|---|
| Self-hosting | Yes | No |
| Ease of use | Medium | High |
| Media control | Full | Limited |
| Pricing | Usage-based | Per-participant-minute |
| Best for | Custom deployments | Quick integration |
Contributing¶
The Daily provider implementation is tracked in the ROADMAP. Contributions are welcome!