135 lines
2.8 KiB
Markdown
135 lines
2.8 KiB
Markdown
# Live Streaming Setup Guide
|
|
|
|
## Overview
|
|
Transform aethex.live into a fully functional live streaming platform.
|
|
|
|
## 🎥 Streaming Options
|
|
|
|
### Option 1: OBS Studio → Streaming Service
|
|
**Recommended for beginners**
|
|
|
|
#### Services to consider:
|
|
- **Cloudflare Stream** - $5/month, easy setup, global CDN
|
|
- **Mux** - Pay-as-you-go, developer-friendly
|
|
- **AWS IVS** - Scalable, AWS infrastructure
|
|
- **Twitch API** - If you want to use Twitch as backend
|
|
|
|
#### Setup with Cloudflare Stream:
|
|
1. Sign up at cloudflare.com/products/cloudflare-stream
|
|
2. Get your Stream URL and Key
|
|
3. Configure OBS Studio:
|
|
- Settings → Stream
|
|
- Service: Custom
|
|
- Server: Your Cloudflare RTMP URL
|
|
- Stream Key: Your key
|
|
4. Update `app/page.tsx` with your HLS playback URL
|
|
|
|
### Option 2: Self-Hosted (Advanced)
|
|
**For full control**
|
|
|
|
#### Requirements:
|
|
- VPS/Server (DigitalOcean, AWS, etc.)
|
|
- Nginx with RTMP module
|
|
- Domain with SSL
|
|
|
|
#### Stack:
|
|
```bash
|
|
# Install on Ubuntu server
|
|
sudo apt update
|
|
sudo apt install nginx libnginx-mod-rtmp
|
|
```
|
|
|
|
See `docs/SELF_HOSTED_SETUP.md` for full guide.
|
|
|
|
### Option 3: Multiple Stream Sources
|
|
Support streaming from:
|
|
- OBS Studio
|
|
- StreamLabs
|
|
- Mobile apps
|
|
- Pre-recorded content
|
|
|
|
## 💬 Real-Time Features
|
|
|
|
### Chat Implementation
|
|
**Option A: Firebase (Quickest)**
|
|
```bash
|
|
npm install firebase
|
|
```
|
|
|
|
**Option B: WebSocket Server**
|
|
```bash
|
|
npm install socket.io
|
|
```
|
|
|
|
**Option C: Third-party (Pusher, Ably)**
|
|
|
|
### Viewer Count
|
|
- WebSocket connections
|
|
- Analytics services
|
|
- Real-time database
|
|
|
|
## 🚀 Deployment
|
|
|
|
### Deploy Frontend to Vercel
|
|
```bash
|
|
npm install -g vercel
|
|
vercel
|
|
```
|
|
|
|
### Deploy to Custom Domain
|
|
1. Point DNS to Vercel
|
|
2. Add domain in Vercel dashboard
|
|
3. SSL auto-configured
|
|
|
|
### Alternative Platforms:
|
|
- **Netlify** - Similar to Vercel
|
|
- **Cloudflare Pages** - Free tier, fast global CDN
|
|
- **AWS Amplify** - If using AWS for streaming
|
|
|
|
## 🔐 Backend Needs
|
|
|
|
### Essential APIs:
|
|
1. **Authentication** - Clerk, Auth0, or NextAuth.js
|
|
2. **Database** - Supabase, Firebase, or PostgreSQL
|
|
3. **Chat Storage** - Real-time DB or Redis
|
|
4. **Analytics** - Track views, engagement
|
|
|
|
### Example Backend Stack:
|
|
```
|
|
Frontend: Next.js (current)
|
|
Auth: Clerk
|
|
Database: Supabase
|
|
Storage: Cloudflare R2
|
|
Streaming: Cloudflare Stream
|
|
Chat: WebSocket (socket.io)
|
|
```
|
|
|
|
## 📊 Monetization Features (Future)
|
|
|
|
- Subscriptions (Stripe)
|
|
- Donations/Tips
|
|
- Private streams
|
|
- VOD content
|
|
- Channel memberships
|
|
|
|
## 🎯 Quick Start Checklist
|
|
|
|
- [ ] Choose streaming service
|
|
- [ ] Set up OBS Studio
|
|
- [ ] Get HLS stream URL
|
|
- [ ] Update streamUrl in app/page.tsx
|
|
- [ ] Set up backend for chat
|
|
- [ ] Add authentication
|
|
- [ ] Deploy to Vercel
|
|
- [ ] Configure custom domain
|
|
- [ ] Test stream end-to-end
|
|
- [ ] Set up analytics
|
|
|
|
## 🛠️ Next Steps
|
|
|
|
Run the setup wizard to configure your platform:
|
|
```bash
|
|
npm run setup:streaming
|
|
```
|
|
|
|
Or manually update configuration in `config/streaming.ts`
|