A multi-stream viewer for Wots.Live channels, designed to let you watch multiple live streams and VODs simultaneously.
- Real-time Live Stream Monitoring: Automatically detects and displays live streams from a predefined list of Wots.Live channels.
- Lazy Loading & Autoplay: Live streams only load and play when they are visible in the viewport, optimizing performance and bandwidth usage.
- Offline VOD Access: Shows the most recent VOD (Video on Demand) for channels that are currently offline.
- Dynamic UI: The interface automatically updates to reflect which channels are live or offline without needing a page refresh.
This application consists of a backend server (monitor.js
) and a frontend UI (index.html
). It uses the Wots.Live API to fetch stream information.
- The server continuously polls the Wots.Live API to check the status of a list of specified channels.
- It collects information about live streams (title, viewer count, playback URLs) and the most recent VODs for offline channels.
- The frontend makes a request to the server's
/streams
endpoint to get the latest channel data. - The JavaScript in the frontend dynamically creates and updates the video widgets, using
hls.js
to play the M3U8 stream formats.
- Backend: Node.js, Express, Axios
- Frontend: HTML5, CSS, JavaScript
- Video Playback: hls.js for HLS streaming
To run this project on your local machine, follow these steps:
- Make sure you have Node.js installed.
- Clone the repository:
git clone https://github.com/Riotcoke123/Multiwatch.wots.live.git
- Navigate into the project directory:
cd Multiwatch.wots.live
- Install dependencies:
npm install express axios
- Start the server:
node monitor.js
- Open your web browser and go to
http://localhost:3000
.
This project is licensed under the GNU General Public License v3.0.