https://github.com/roto31/streamtv
Cross-platform IPTV streaming platform for creating TV channels from YouTube and Archive.org. Supports Plex, Emby, Jellyfin, and HDHomeRun devices.
https://github.com/roto31/streamtv
archive-org containers docker emby fastapi ip-tv iptv iptv-channels kubernetes linux macos media-server plex streaming tv-channels video-streaming windows
Last synced: 23 days ago
JSON representation
Cross-platform IPTV streaming platform for creating TV channels from YouTube and Archive.org. Supports Plex, Emby, Jellyfin, and HDHomeRun devices.
- Host: GitHub
- URL: https://github.com/roto31/streamtv
- Owner: roto31
- License: mit
- Created: 2025-12-11T05:50:20.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-05-19T21:29:41.000Z (about 1 month ago)
- Last Synced: 2026-05-31T04:20:10.573Z (23 days ago)
- Topics: archive-org, containers, docker, emby, fastapi, ip-tv, iptv, iptv-channels, kubernetes, linux, macos, media-server, plex, streaming, tv-channels, video-streaming, windows
- Language: HTML
- Homepage:
- Size: 1.19 MB
- Stars: 9
- Watchers: 0
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# StreamTV Platform Distributions
[](https://www.python.org/)
[](https://fastapi.tiangolo.com/)
[](LICENSE)
[]()
**StreamTV** is a cross-platform IPTV streaming platform that creates TV channels from online video sources like YouTube and Archive.org. Stream directly to Plex, Emby, Jellyfin, and HDHomeRun-compatible devices without requiring local media storage.
## 🎯 Features
### Core Capabilities
- **🌐 Direct Streaming**: Stream from YouTube and Archive.org without downloads
- **📺 HDHomeRun Emulation**: Native integration with Plex, Emby, and Jellyfin
- **📅 Advanced Scheduling**: YAML-based schedules with commercial breaks
- **🐳 Container Support**: Docker, Kubernetes, and Podman deployments
- **🖥️ Cross-Platform**: Native support for macOS, Windows, and Linux
- **🔌 IPTV Support**: M3U playlists and XMLTV EPG generation
- **⚡ FastAPI**: Modern async Python web framework
- **🔐 Authentication**: Passkey and OAuth support for YouTube
### Streaming Sources
- ✅ **YouTube**: Direct streaming with quality selection and OAuth authentication
- ✅ **Archive.org**: Support for video collections and individual items
- 🔄 **Extensible**: Easy to add new streaming sources via adapter pattern
### Integration
- **Plex Media Server**: Direct HDHomeRun tuner or M3U/EPG
- **Emby/Jellyfin**: HDHomeRun or IPTV support
- **Kodi**: IPTV Simple Client
- **VLC**: Direct M3U playlist support
- **HDHomeRun Devices**: Full API compatibility
## 📦 Available Distributions
### Desktop Platforms
- **[macOS](StreamTV-macOS/)** - Native macOS distribution with installer
- Automated installation script
- `.command` launchers for easy startup
- Full documentation included
- **[macOS Menu Bar App](StreamTVApp/)** - Native macOS menu bar application
- Runs as menu bar icon (no dock icon)
- Automatic Python virtual environment management
- FFmpeg installation via Homebrew
- Dependency update checking
- Server lifecycle management
- See [StreamTVApp/README.md](StreamTVApp/README.md) for setup instructions
- **[Windows](StreamTV-Windows/)** - Windows distribution
- PowerShell installation script
- Batch and PowerShell startup scripts
- Windows service support documentation
- **[Linux](StreamTV-Linux/)** - Linux distribution
- Distribution detection (apt, dnf, pacman)
- systemd service integration
- Firewall configuration guides
### Container Platforms
- **[Docker](StreamTV-Containers/docker/)** - Single-container deployment
- **[Docker Compose](StreamTV-Containers/docker-compose/)** - Multi-service setup
- **[Kubernetes](StreamTV-Containers/kubernetes/)** - K8s manifests with ingress
- **[Podman](StreamTV-Containers/podman/)** - Rootless container support
## 🚀 Quick Start
### macOS
```bash
cd StreamTV-macOS
./install_macos.sh
./start_server.sh
# Or double-click: Install-StreamTV.command
```
### Windows
```powershell
cd StreamTV-Windows
.\install_windows.ps1
.\start_server.ps1
```
### Linux
```bash
cd StreamTV-Linux
./install_linux.sh
./start_server.sh
```
### Docker
```bash
cd StreamTV-Containers/docker
docker build -t streamtv .
docker run -p 8410:8410 streamtv
```
**Access the web interface**: Open `http://localhost:8410` in your browser
## 🌐 Browser Compatibility
StreamTV uses HLS (HTTP Live Streaming) for browser playback, ensuring compatibility with:
- **Chrome/Edge**: Full HLS support via HLS.js
- **Safari**: Native HLS support
- **Firefox**: Full HLS support via HLS.js
The player automatically detects browser capabilities and uses the best available method. For best results, use a modern browser with JavaScript enabled.
## 📋 Requirements
- **Python**: 3.10 or higher
- **FFmpeg**: For video transcoding (automatically installed by install scripts)
- **Network**: Internet connection for streaming
- **Platform-specific**: See individual distribution READMEs
## 📚 Documentation
### Complete Guides
- **[GitHub Wiki](https://github.com/roto31/StreamTV/wiki)** - Comprehensive documentation
- **[Documentation Index](https://github.com/roto31/StreamTV/wiki/Documentation-Index)** - All guides organized
- **[Scripts & Tools](https://github.com/roto31/StreamTV/wiki/Scripts-and-Tools)** - Utility scripts
### Quick Links
- [Installation Guide](https://github.com/roto31/StreamTV/wiki/Installation-Guide)
- [Beginner Guide](https://github.com/roto31/StreamTV/wiki/Beginner-Guide) - For new users
- [Plex Integration](https://github.com/roto31/StreamTV/wiki/Plex-Integration) - Setup guide
- [API Reference](https://github.com/roto31/StreamTV/wiki/API-Reference) - Complete API docs
- [Troubleshooting](https://github.com/roto31/StreamTV/wiki/Troubleshooting) - Common issues
### Platform-Specific
Each distribution includes complete documentation in `docs/`:
- Installation instructions
- Quick start guides
- Platform-specific configuration
- Troubleshooting guides
- API documentation
## 🔗 Integration Examples
### Plex Media Server
1. Install StreamTV on your server
2. Add StreamTV as HDHomeRun tuner in Plex
3. Scan for channels
4. Watch your custom channels in Plex!
See [Plex Integration Guide](https://github.com/roto31/StreamTV/wiki/Plex-Integration) for detailed instructions.
### IPTV Clients
- **Kodi**: Use IPTV Simple Client with M3U playlist
- **VLC**: Open M3U playlist directly
- **Emby/Jellyfin**: Add as IPTV source or HDHomeRun tuner
## 🛠️ Scripts & Tools
StreamTV includes utility scripts for:
- Channel creation from Archive.org collections
- Schedule generation
- Log viewing and troubleshooting
- Database management
See [Scripts Documentation](https://github.com/roto31/StreamTV/wiki/Scripts-and-Tools) for complete list.
## 📖 Wiki Pages
Comprehensive documentation available in the [GitHub Wiki](https://github.com/roto31/StreamTV/wiki):
- [macOS](https://github.com/roto31/StreamTV/wiki/macOS) - Complete macOS guide
- [Windows](https://github.com/roto31/StreamTV/wiki/Windows) - Complete Windows guide
- [Linux](https://github.com/roto31/StreamTV/wiki/Linux) - Complete Linux guide
- [Containers](https://github.com/roto31/StreamTV/wiki/Containers) - Container platforms
- [Archive Parser](https://github.com/roto31/StreamTV/wiki/Archive-Parser) - Create channels from Archive.org
- [Logging](https://github.com/roto31/StreamTV/wiki/Logging) - Logging system
## 📝 Contributing
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
- Report bugs via [Issues](https://github.com/roto31/StreamTV/issues)
- Suggest features via [Feature Requests](https://github.com/roto31/StreamTV/issues/new?template=feature_request.md)
- Submit pull requests following our [PR template](.github/pull_request_template.md)
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 🌟 Project Status
✅ **Stable** - Production ready
- Cross-platform distributions available
- Comprehensive documentation
- Active development
## 🔍 Resources
- [GitHub Wiki](https://github.com/roto31/StreamTV/wiki) - Complete documentation
- [Issues](https://github.com/roto31/StreamTV/issues) - Bug reports and feature requests
- [Pull Requests](https://github.com/roto31/StreamTV/pulls) - Contributions
- [Releases](https://github.com/roto31/StreamTV/releases) - Version history
---
**Made with ❤️ for the IPTV community**