The Video Streaming Platform is a high-performance video hosting and streaming service built to provide seamless video playback with minimal buffering. Designed to handle scalable workloads, the platform enables users to upload, manage, and stream videos securely.
- User Authentication: Secure user registration and login using JWT authentication.
- Video Upload & Management: Supports file uploads using Multer and stores videos efficiently.
- Adaptive Streaming: Uses AWS S3 & AWS MediaConvert for optimized video delivery.
- Real-time Processing: Ensures minimal buffering with FFmpeg-based video transcoding.
- Interactive UI: Provides an engaging frontend for an enhanced user experience.
- Playlists & Recommendations: Users can create playlists and receive video recommendations.
- Secure & Scalable: Deployable on Docker & AWS ECS to handle high traffic loads.
- Node.js: Download Node.js
- MongoDB: Install MongoDB
- AWS CLI: Download AWS CLI
git clone https://github.com/sanketn2k04/video-streaming-platform.git
cd video-streaming-platform
npm install
Create a .env
file in the root directory and add the necessary configuration details (AWS keys, DB connection, etc.).
npm start
Navigate to http://localhost:3000
to access the platform.
- Sign Up/Login: Create an account to start using the platform.
- Upload Videos: Users can upload video files which are processed and stored securely.
- Stream Videos: Watch high-quality video content with adaptive streaming.
- Manage Playlists: Create and customize playlists for easy access.
- Rate & Comment: Engage with other users through comments and ratings.
- Frontend: React, Redux
- Backend: Node.js, Express.js
- Database: MongoDB, Mongoose
- Authentication: JWT
- Cloud Services: AWS S3, AWS MediaConvert
- Containerization: Docker, AWS ECS
- Streaming Optimization: FFmpeg
We welcome contributions from the community! Follow these steps to contribute:
- Fork the repository and create a new branch:
git checkout -b feature/your-feature-name
- Implement your feature or fix.
- Commit and push your changes:
git commit -m "Describe your changes" git push origin feature/your-feature-name
- Submit a Pull Request for review.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions, feedback, or issues:
- GitHub Issues: Open an issue