Video Calls Guide
Spritz provides high-quality video and voice calls with support for multiple providers. By default, Spritz uses Huddle01 (decentralized), with Agora (centralized) available as an alternative. Users can choose their preferred provider in settings.
Overview
Video calls in Spritz support:
- HD Video: High-quality video streaming
- Crystal Clear Audio: Optimized audio codecs
- Group Calls: Multi-party video conferences
- Screen Sharing: Share your screen during calls
- Recording: Record calls for later review (via Huddle01 dashboard)
Starting a Call
One-on-One Calls
- Open a chat with a friend
- Click the video call button
- Allow camera and microphone access
- Wait for the friend to answer
- Start your conversation!
Group Calls
- Create or open a group
- Click "Start Group Call"
- Invite group members
- All members can join when ready
Instant Rooms
Create temporary rooms for quick calls:
- Click "Create Instant Room"
- Share the room code or link
- Anyone with the code can join
- Room expires after inactivity
Permanent Rooms
Every user gets a permanent meeting room linked to their wallet address:
- Go to your Profile or Settings
- Click "Get Permanent Room"
- Your room URL is:
app.spritz.chat/room/YOUR_ADDRESS - Share this URL with anyone
- Room never expires - perfect for recurring meetings
Features:
- Unique URL: Each user has one permanent room tied to their address
- Always Available: Room is created on-demand and never expires
- Easy Sharing: Share your wallet address or direct URL
- Host Controls: You have host privileges in your room
Call Features
Video Controls
- Mute/Unmute: Toggle microphone
- Video On/Off: Toggle camera
- Screen Share: Share your screen
- Leave Call: End your participation
Audio Settings
- Microphone Selection: Choose input device
- Speaker Selection: Choose output device
- Audio Quality: Adjust based on connection
Video Settings
- Camera Selection: Choose video input
- Video Quality: Auto-adjusts based on bandwidth
- Background Blur: Blur background (if supported)
Technical Details
Video Call Providers
Spritz supports two video call providers:
Huddle01 (Default - Decentralized)
- WebRTC: Real-time peer-to-peer connections
- SFU Architecture: Selective Forwarding Unit for scalability
- Adaptive Bitrate: Automatically adjusts quality
- Low Latency: Optimized for real-time communication
- Decentralized: No single point of failure
Agora (Alternative - Centralized)
- High Reliability: Enterprise-grade infrastructure
- Global CDN: Low latency worldwide
- Scalable: Handles large group calls efficiently
- Token-based: Secure authentication (optional)
- Centralized: Managed service with high uptime
Provider Selection
Users can choose their preferred provider in Settings:
- Go to Settings
- Find "Video Calls" section
- Toggle "Use Decentralized Calls" (Huddle01) or "Use Centralized Calls" (Agora)
- Changes apply to new calls
Note: Both callers must use the same provider for a call to connect. If providers don't match, the system will attempt to fall back to the other provider.
Network Requirements
- Upload: Minimum 1 Mbps for video
- Download: Minimum 2 Mbps for receiving
- Latency: < 150ms for best experience
- Stability: Stable connection recommended
Codecs
- Video: VP8, VP9, H.264
- Audio: Opus
- Adaptive: Automatically selects best codec
Call States
- Idle: Call not started
- Connecting: Establishing connection
- Connected: Active call
- Disconnected: Call ended
- Failed: Connection error
Best Practices
- Stable Connection: Use wired connection when possible
- Good Lighting: Ensure adequate lighting for video
- Quiet Environment: Minimize background noise
- Bandwidth: Close other bandwidth-intensive apps
- Testing: Test your setup before important calls
Troubleshooting
No Video/Audio
- Check browser permissions
- Verify camera/microphone are not in use elsewhere
- Try refreshing the page
- Check device settings
Poor Quality
- Check internet connection speed
- Close other bandwidth-intensive apps
- Try reducing video quality
- Move closer to router
Connection Issues
- Check firewall settings
- Verify WebRTC is not blocked
- Try different network
- Check Huddle01 service status
Can't Join Call
- Verify room code is correct
- Check if room is still active
- Ensure you have permissions
- Try refreshing connection
API Reference
Create Room
POST /api/huddle01/room
{
"type": "instant" | "permanent",
"name": "Room Name"
}
Get Room Token
POST /api/rooms/:code/token
{
"userAddress": "0x..."
}
Get Call History
GET /api/calls?userAddress=0x...
Get or Create Permanent Room
GET /api/rooms/permanent?wallet_address=0x...
Response:
{
"success": true,
"room": {
"roomId": "abc-defg-hij",
"permanentUrl": "https://app.spritz.chat/room/0x...",
"walletAddress": "0x..."
}
}
Next Steps
- Learn about Messaging
- Explore Groups
- Check out Livestreaming