Skip to content

ArpanDhama2001/AdaptiveStreamingApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Ί Adaptive Video Streaming App

A full-stack application that allows users to upload videos and stream them using adaptive bitrate streaming (HLS) for seamless playback across various network conditions.


πŸ“– Overview

This project is a real-world implementation of an adaptive video streaming platform, where users can:

  • Upload MP4 video files
  • Automatically transcode videos to multiple resolutions
  • Stream videos using the HLS protocol with a native HTML5 video player

It showcases backend capabilities such as media processing, file handling, and RESTful API design.


πŸš€ Key Features

  • 🎞️ Video Upload Interface for users to submit MP4 files
  • βš™οΈ FFmpeg-based Transcoding into 1080p, 720p, and 480p streams
  • πŸ“‘ HTTP Live Streaming (HLS) for adaptive playback
  • 🧩 Backend API using Express for handling uploads and video metadata
  • πŸŽ₯ Frontend with Next.js for smooth UI and video player integration
  • πŸ’Ύ MongoDB for storing video information and metadata

πŸ›  Tech Stack

Layer Technology
Frontend Next.js, HTML5, CSS
Backend Node.js, Express.js
Database MongoDB (Mongoose)
Video Tools FFmpeg, HLS (.m3u8, .ts)
File Upload Multer
Others Nodemon, dotenv

βš™οΈ Setup Instructions

1. Clone the Repository

git clone https://github.com/ArpanDhama2001/AdaptiveStreamingApp.git
cd AdaptiveStreamingApp

2. Setup the Backend

cd backend
npm install

Create a .env file in the backend directory:

PORT=5000
MONGODB_URI=your_mongodb_connection_string

Make sure FFmpeg is installed on your system:

# macOS (Homebrew)
brew install ffmpeg

# Ubuntu/Debian
sudo apt install ffmpeg

# Windows: Download from https://ffmpeg.org/download.html and add to PATH

Run the backend server:

npm run dev

3. Setup the Frontend

In a new terminal:

cd frontend
npm install
npm run dev

4. Access the App

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published