A live streaming platform similar to Twitch, built with C# .NET 9 backend and React/TypeScript frontend.
- .NET 9 SDK
- PostgreSQL or SQL Server
- FFmpeg
- Redis (optional, for caching)
- Node.js 18+
- npm or yarn
-
Install FFmpeg
# Windows: Download from https://ffmpeg.org/download.html # macOS: brew install ffmpeg # Linux: sudo apt-get install ffmpeg
-
Configure Database
- Update connection string in
appsettings.json
- Ensure PostgreSQL/SQL Server is running
- Update connection string in
-
Install Dependencies
cd ByteCast dotnet restore
-
Build Project
dotnet build
-
Navigate to Frontend Directory
cd /Users/mac/Documents/Projects/Node/bytecast
-
Install Dependencies
npm install
cd ByteCast
dotnet run
- API will run on: https://localhost:7001
- RTMP server will run on: rtmp://localhost:1935
cd /Users/mac/Documents/Projects/Node/bytecast
npm run dev
- Frontend will run on: http://localhost:5173
- Create an account through the frontend
- Go to Studio page and create a new stream
- Generate an API key for streaming
- Configure OBS Studio:
- Server:
rtmp://localhost:1935/live
- Stream Key: Your generated API key
- Server:
- Start streaming in OBS
- View preview in Studio page
- Click "Go Live" to make stream public
- Visit the home page to browse live streams
- Click on any stream to watch
- Login to participate in chat and social features
- Backend: C# .NET 9 with SignalR, Entity Framework, integrated RTMP server
- Frontend: React/TypeScript with Vite, Tailwind CSS
- Streaming: RTMP ingestion with HLS conversion via FFmpeg
- Real-time: SignalR for chat, notifications, and live updates
- Live streaming with RTMP/HLS
- Real-time chat and notifications
- User authentication and profiles
- Stream discovery and categories
- Social features (likes, comments, follows)
- Stream analytics and viewer tracking
- Anonymous stream viewing