Skip to content

sanketnabade/video-straming-platform

Repository files navigation

Video Streaming Platform

Table of Contents

Introduction

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.

Features

  • 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.

Installation

Prerequisites

Clone the Repository

git clone https://github.com/sanketn2k04/video-streaming-platform.git
cd video-streaming-platform

Install Dependencies

npm install

Set Up Environment Variables

Create a .env file in the root directory and add the necessary configuration details (AWS keys, DB connection, etc.).

Start the Application

npm start

Open in Browser

Navigate to http://localhost:3000 to access the platform.

Usage

  • 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.

Technologies Used

  • 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

Contributing

We welcome contributions from the community! Follow these steps to contribute:

  1. Fork the repository and create a new branch:
    git checkout -b feature/your-feature-name
  2. Implement your feature or fix.
  3. Commit and push your changes:
    git commit -m "Describe your changes"
    git push origin feature/your-feature-name
  4. Submit a Pull Request for review.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For questions, feedback, or issues:

About

The Video Streaming Platform is a high-performance video hosting and streaming service

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published