Skip to content

deepeshdm/HLS-Transcoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HLS and Adaptive HLS Streaming Backend

A Node.js backend utilizing FFmpeg to process videos into HLS and Adaptive Bitrate Streaming formats. Includes APIs for video conversion, storage, and serving HLS playlists and segments, ensuring smooth and adaptive streaming based on network conditions.

Setup Locally πŸ‘©β€πŸ”§

  1. Git clone the project repository on your local system
git clone https://github.com/deepeshdm/HugOrShrug.git
  1. Install dependencies in package.json
cd HLS_transcoder
npm install
  1. Download FFMPEG software on your local machine & find path of installation
// MacOS
brew install ffmpeg
which ffmpeg

// LINUX
sudo apt update
sudo apt install ffmpeg
which ffmpeg
  1. Inside Index.js set the above found path to FFMPEG_PATH, also set HOST variable to where your backend will be hosted, this path is used in segment playlists.
const HOST = 'http://localhost'
const PORT = 3000;
const FFMPEG_PATH = '/opt/homebrew/bin/ffmpeg';  // Locally installed ffmpeg application path
  1. Run the backend server
node index.js
  1. Setup Frontend (OPTIONAL) - https://github.com/deepeshdm/StreamPlus.git

About

Video Transcoding and Adaptive HLS Streaming with Node.js, FFmpeg, and Express

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published