This project is a local streaming site built with Node.js. It allows you to stream video content stored in a structured folder format.
- Stream video content locally.
- Automatically detect and display shows and episodes.
- Supports cover images in various formats.
- Clone this repository:
git clone https://github.com/Taoshix/NodeStreaming.git
- Navigate to the project directory:
cd NodeStreaming - Install the required dependencies:
npm install
- Start the server:
npm start
- Open your browser and navigate to:
http://localhost:8000
The content folder is where all the shows and episodes are stored. Each show should be placed in its own subfolder within the content directory. The structure should follow this format:
content/{show name}/{episode number}.mp4
content/{show name}/cover.{webp|jpg|jpeg|png|gif}
content/Example Season 1/1.mp4
content/Example Season 1/2.mp4
content/Example Season 1/cover.webp
- Create a folder named
contentin the root directory of the project. - Inside the
contentfolder, create subfolders for each show. The name of the subfolder will be the name of the show. - Add episode files in
.mp4format to the respective show folder. Name the files numerically (e.g.,1.mp4,2.mp4, etc.). - Add a cover image for the show in the same folder. The cover image can be in any of the following formats:
.webp,.jpg,.jpeg,.png, or.gif.
- Build the Docker image:
docker build -t nodestreaming .
- Run the container:
docker run -p 8000:8000 nodestreaming
- Start the container using Docker Compose:
docker-compose up
- Ensure the
contentfolder is properly set up before building the Docker image. - The container will automatically detect and serve the content based on the folder structure.
- Ensure the
contentfolder is properly set up before starting the server. - The server will automatically detect and serve the content based on the folder structure.