NodeCast TV
A modern, web-based IPTV player featuring Live TV, EPG, Movies (VOD), and Series support. Built with performance and user experience in mind.
Features
-
πΊ Live TV: Fast channel zapping, category grouping, and search.
-
π TV Guide (EPG): Interactive grid guide with 24h timeline, search, and dynamic resizing.
-
π¬ VOD Support: Dedicated sections for Movies and TV Series with rich metadata, posters, and seasonal episode lists.
-
β€οΈ Favorites System: Unified favorites for channels, movies, and series with instant synchronization.
-
β‘ High Performance: Optimized for large playlists (7000+ channels) using virtual scrolling and batch rendering.
-
βοΈ Management:
-
Support for Xtream Codes and M3U playlists.
-
Manage hidden content categorieβ¦
NodeCast TV
A modern, web-based IPTV player featuring Live TV, EPG, Movies (VOD), and Series support. Built with performance and user experience in mind.
Features
-
πΊ Live TV: Fast channel zapping, category grouping, and search.
-
π TV Guide (EPG): Interactive grid guide with 24h timeline, search, and dynamic resizing.
-
π¬ VOD Support: Dedicated sections for Movies and TV Series with rich metadata, posters, and seasonal episode lists.
-
β€οΈ Favorites System: Unified favorites for channels, movies, and series with instant synchronization.
-
β‘ High Performance: Optimized for large playlists (7000+ channels) using virtual scrolling and batch rendering.
-
βοΈ Management:
-
Support for Xtream Codes and M3U playlists.
-
Manage hidden content categories.
-
Playback preferences (volume memory, auto-play).
-
π³ Docker Ready: Easy deployment containerization.
Screenshots
Getting Started
Prerequisites
- Node.js (v14 or higher)
- npm
Installation
Clone the repository:
git clone https://github.com/yourusername/nodecast-tv.git
cd nodecast-tv
Install dependencies:
npm install
Start the development server:
npm run dev
Open your browser at http://localhost:3000.
Docker Deployment
You can run NodeCast TV easily using Docker.
Create a docker-compose.yml file (or copy the one from this repo):
services:
nodecast-tv:
build: https://github.com/technomancer702/nodecast-tv.git#main
container_name: nodecast-tv
ports:
- "3000:3000"
volumes:
- ./data:/app/data
restart: unless-stopped
environment:
- NODE_ENV=production
Run the container:
docker-compose up -d
The application will be available at http://localhost:3000.
Technology Stack
- Backend: Node.js, Express
- Frontend: Vanilla JavaScript (ES6+), CSS3
- Database: JSON-based local storage (LowDB style)
- Streaming: HLS.js for stream playback
Project Structure
nodecast-tv/
βββ public/ # Frontend assets
β βββ css/ # Stylesheets
β βββ js/ # Client-side logic
β β βββ components/ # UI Components (ChannelList, EpgGuide, etc.)
β β βββ pages/ # Page Controllers (Movies, Series, etc.)
β β βββ api.js # API Client
β βββ index.html # Main entry point
βββ server/ # Backend server
β βββ routes/ # API Endpoints
β βββ services/ # Playlist parsers & logic
β βββ db.js # Data persistence layer
βββ data/ # Persistent storage (playlists, settings)
Usage
- Go to Settings -> Content Sources.
- Add your IPTV provider details (Xtream Codes or M3U URL).
- Click "Refresh Sources".
- Navigate to Live TV, Movies, or Series to browse your content.
License
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
You are free to:
- Share β copy and redistribute the material in any medium or format
- Adapt β remix, transform, and build upon the material
Under the following terms:
- Attribution β You must give appropriate credit.
- NonCommercial β You may not use the material for commercial purposes.
- ShareAlike β If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
See the LICENSE file for details.