{"id":50416309,"url":"https://github.com/roto31/streamtv","last_synced_at":"2026-05-31T06:02:59.259Z","repository":{"id":328114051,"uuid":"1114258117","full_name":"roto31/StreamTV","owner":"roto31","description":"Cross-platform IPTV streaming platform for creating TV channels from YouTube and Archive.org. Supports Plex, Emby, Jellyfin, and HDHomeRun devices.","archived":false,"fork":false,"pushed_at":"2026-05-19T21:29:41.000Z","size":1251,"stargazers_count":9,"open_issues_count":12,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-31T04:20:10.573Z","etag":null,"topics":["archive-org","containers","docker","emby","fastapi","ip-tv","iptv","iptv-channels","kubernetes","linux","macos","media-server","plex","streaming","tv-channels","video-streaming","windows"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/roto31.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-11T05:50:20.000Z","updated_at":"2026-05-12T17:03:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/roto31/StreamTV","commit_stats":null,"previous_names":["roto31/streamtv"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/roto31/StreamTV","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roto31%2FStreamTV","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roto31%2FStreamTV/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roto31%2FStreamTV/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roto31%2FStreamTV/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roto31","download_url":"https://codeload.github.com/roto31/StreamTV/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roto31%2FStreamTV/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33720900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archive-org","containers","docker","emby","fastapi","ip-tv","iptv","iptv-channels","kubernetes","linux","macos","media-server","plex","streaming","tv-channels","video-streaming","windows"],"created_at":"2026-05-31T06:02:57.011Z","updated_at":"2026-05-31T06:02:59.249Z","avatar_url":"https://github.com/roto31.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# StreamTV Platform Distributions\n\n[![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/)\n[![FastAPI](https://img.shields.io/badge/FastAPI-0.100+-green.svg)](https://fastapi.tiangolo.com/)\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Platform](https://img.shields.io/badge/Platform-macOS%20%7C%20Windows%20%7C%20Linux-lightgrey.svg)]()\n\n**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.\n\n## 🎯 Features\n\n### Core Capabilities\n- **🌐 Direct Streaming**: Stream from YouTube and Archive.org without downloads\n- **📺 HDHomeRun Emulation**: Native integration with Plex, Emby, and Jellyfin\n- **📅 Advanced Scheduling**: YAML-based schedules with commercial breaks\n- **🐳 Container Support**: Docker, Kubernetes, and Podman deployments\n- **🖥️ Cross-Platform**: Native support for macOS, Windows, and Linux\n- **🔌 IPTV Support**: M3U playlists and XMLTV EPG generation\n- **⚡ FastAPI**: Modern async Python web framework\n- **🔐 Authentication**: Passkey and OAuth support for YouTube\n\n### Streaming Sources\n- ✅ **YouTube**: Direct streaming with quality selection and OAuth authentication\n- ✅ **Archive.org**: Support for video collections and individual items\n- 🔄 **Extensible**: Easy to add new streaming sources via adapter pattern\n\n### Integration\n- **Plex Media Server**: Direct HDHomeRun tuner or M3U/EPG\n- **Emby/Jellyfin**: HDHomeRun or IPTV support\n- **Kodi**: IPTV Simple Client\n- **VLC**: Direct M3U playlist support\n- **HDHomeRun Devices**: Full API compatibility\n\n## 📦 Available Distributions\n\n### Desktop Platforms\n\n- **[macOS](StreamTV-macOS/)** - Native macOS distribution with installer\n  - Automated installation script\n  - `.command` launchers for easy startup\n  - Full documentation included\n- **[macOS Menu Bar App](StreamTVApp/)** - Native macOS menu bar application\n  - Runs as menu bar icon (no dock icon)\n  - Automatic Python virtual environment management\n  - FFmpeg installation via Homebrew\n  - Dependency update checking\n  - Server lifecycle management\n  - See [StreamTVApp/README.md](StreamTVApp/README.md) for setup instructions\n\n- **[Windows](StreamTV-Windows/)** - Windows distribution\n  - PowerShell installation script\n  - Batch and PowerShell startup scripts\n  - Windows service support documentation\n\n- **[Linux](StreamTV-Linux/)** - Linux distribution\n  - Distribution detection (apt, dnf, pacman)\n  - systemd service integration\n  - Firewall configuration guides\n\n### Container Platforms\n\n- **[Docker](StreamTV-Containers/docker/)** - Single-container deployment\n- **[Docker Compose](StreamTV-Containers/docker-compose/)** - Multi-service setup\n- **[Kubernetes](StreamTV-Containers/kubernetes/)** - K8s manifests with ingress\n- **[Podman](StreamTV-Containers/podman/)** - Rootless container support\n\n## 🚀 Quick Start\n\n### macOS\n```bash\ncd StreamTV-macOS\n./install_macos.sh\n./start_server.sh\n# Or double-click: Install-StreamTV.command\n```\n\n### Windows\n```powershell\ncd StreamTV-Windows\n.\\install_windows.ps1\n.\\start_server.ps1\n```\n\n### Linux\n```bash\ncd StreamTV-Linux\n./install_linux.sh\n./start_server.sh\n```\n\n### Docker\n```bash\ncd StreamTV-Containers/docker\ndocker build -t streamtv .\ndocker run -p 8410:8410 streamtv\n```\n\n**Access the web interface**: Open `http://localhost:8410` in your browser\n\n## 🌐 Browser Compatibility\n\nStreamTV uses HLS (HTTP Live Streaming) for browser playback, ensuring compatibility with:\n- **Chrome/Edge**: Full HLS support via HLS.js\n- **Safari**: Native HLS support\n- **Firefox**: Full HLS support via HLS.js\n\nThe player automatically detects browser capabilities and uses the best available method. For best results, use a modern browser with JavaScript enabled.\n\n## 📋 Requirements\n\n- **Python**: 3.10 or higher\n- **FFmpeg**: For video transcoding (automatically installed by install scripts)\n- **Network**: Internet connection for streaming\n- **Platform-specific**: See individual distribution READMEs\n\n## 📚 Documentation\n\n### Complete Guides\n- **[GitHub Wiki](https://github.com/roto31/StreamTV/wiki)** - Comprehensive documentation\n- **[Documentation Index](https://github.com/roto31/StreamTV/wiki/Documentation-Index)** - All guides organized\n- **[Scripts \u0026 Tools](https://github.com/roto31/StreamTV/wiki/Scripts-and-Tools)** - Utility scripts\n\n### Quick Links\n- [Installation Guide](https://github.com/roto31/StreamTV/wiki/Installation-Guide)\n- [Beginner Guide](https://github.com/roto31/StreamTV/wiki/Beginner-Guide) - For new users\n- [Plex Integration](https://github.com/roto31/StreamTV/wiki/Plex-Integration) - Setup guide\n- [API Reference](https://github.com/roto31/StreamTV/wiki/API-Reference) - Complete API docs\n- [Troubleshooting](https://github.com/roto31/StreamTV/wiki/Troubleshooting) - Common issues\n\n### Platform-Specific\nEach distribution includes complete documentation in `docs/`:\n- Installation instructions\n- Quick start guides\n- Platform-specific configuration\n- Troubleshooting guides\n- API documentation\n\n## 🔗 Integration Examples\n\n### Plex Media Server\n1. Install StreamTV on your server\n2. Add StreamTV as HDHomeRun tuner in Plex\n3. Scan for channels\n4. Watch your custom channels in Plex!\n\nSee [Plex Integration Guide](https://github.com/roto31/StreamTV/wiki/Plex-Integration) for detailed instructions.\n\n### IPTV Clients\n- **Kodi**: Use IPTV Simple Client with M3U playlist\n- **VLC**: Open M3U playlist directly\n- **Emby/Jellyfin**: Add as IPTV source or HDHomeRun tuner\n\n## 🛠️ Scripts \u0026 Tools\n\nStreamTV includes utility scripts for:\n- Channel creation from Archive.org collections\n- Schedule generation\n- Log viewing and troubleshooting\n- Database management\n\nSee [Scripts Documentation](https://github.com/roto31/StreamTV/wiki/Scripts-and-Tools) for complete list.\n\n## 📖 Wiki Pages\n\nComprehensive documentation available in the [GitHub Wiki](https://github.com/roto31/StreamTV/wiki):\n- [macOS](https://github.com/roto31/StreamTV/wiki/macOS) - Complete macOS guide\n- [Windows](https://github.com/roto31/StreamTV/wiki/Windows) - Complete Windows guide\n- [Linux](https://github.com/roto31/StreamTV/wiki/Linux) - Complete Linux guide\n- [Containers](https://github.com/roto31/StreamTV/wiki/Containers) - Container platforms\n- [Archive Parser](https://github.com/roto31/StreamTV/wiki/Archive-Parser) - Create channels from Archive.org\n- [Logging](https://github.com/roto31/StreamTV/wiki/Logging) - Logging system\n\n## 📝 Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n- Report bugs via [Issues](https://github.com/roto31/StreamTV/issues)\n- Suggest features via [Feature Requests](https://github.com/roto31/StreamTV/issues/new?template=feature_request.md)\n- Submit pull requests following our [PR template](.github/pull_request_template.md)\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🌟 Project Status\n\n✅ **Stable** - Production ready\n- Cross-platform distributions available\n- Comprehensive documentation\n- Active development\n\n## 🔍 Resources\n\n- [GitHub Wiki](https://github.com/roto31/StreamTV/wiki) - Complete documentation\n- [Issues](https://github.com/roto31/StreamTV/issues) - Bug reports and feature requests\n- [Pull Requests](https://github.com/roto31/StreamTV/pulls) - Contributions\n- [Releases](https://github.com/roto31/StreamTV/releases) - Version history\n\n---\n\n**Made with ❤️ for the IPTV community**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froto31%2Fstreamtv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froto31%2Fstreamtv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froto31%2Fstreamtv/lists"}