Stream your local movies through a beautiful web interface. Local Movie Streamer, a MERN application, allows you to search through your movie collection, watch them, add subtitles, and control the stream from any device connected to your local network.
Added TMDB API Points to fetch trending movies and tv series using react query, optimized the UI for the application for more check the screenshots below.
- Local Streaming: Stream videos stored on your local machine using WebSockets for seamless video streaming.
- Device Control: Control and access the stream from any device on your local network.
- Authentication: Secure login and sign-up pages have been integrated.
- Subtitles: Upload SRT subtitle files while watching a movie.
- Responsive: Can be accessed on various device sizes using Tailwind CSS.
- Browse All types of Movies and TV Shows : the ability to view and browse trending movies, popular high-rated etc using the TMDB API Service.
- MERN Stack: MongoDB, Express.js, React.js, and Node.js.
- Streaming: WebSockets.
- Authentication: bcrypt (for password hashing) and JWT (for user authentication).
- Node.js (v14+)
- Yarn or NPM
- Ffmpeg installed on your machine
-
Clone the repository:
git clone https://github.com/sulimanbadour1/local-stream-app.git cd [your-repo-folder]
-
Install dependencies:
# Frontend dependencies cd frontend npm install # Backend dependencies cd ../backend npm install
- Create a directory and add your movies to it.
- Change the backend directory to point to your folder from the
server.js
file. - Modify the IP address in the server configuration to your local IP address if needed.
- File structure:
- Navigate to the
backend
directory. - Edit the
movieDirectory
variable inserver.js
to point to your local movie directory.
- Modify the API endpoints if needed to point to the correct backend server by using env variables.
-
Create a direrctory and add your movies to it.
-
Change the backend dir to your folder from the server.js file.
-
Navigate to the
backend
directory.cd backend
-
Start the server:
npm start node server.js
-
Navigate to the
frontend
directory.cd frontend
-
Start the React app:
npm run dev
- Open your web browser and visit
http://localhost:5173
or the configured IP address. - If you're a new user, sign up. Otherwise, log in and enjoy streaming your local movies!
- Search for movies using the search bar.
- Click on any movie card to start streaming.
- Upload
.srt
subtitle files directly while watching a movie.
Feel free to contribute to this project! Fork the repository, make your changes, and submit a pull request.
MIT License