Skip to content

afanjul/cosmoplayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Playa Player (Playa IPTV Player)

Playa Player

A modern, powerful, and scalable IPTV desktop player built for the ultimate viewing experience.


✨ Epic Features

📺 Advanced Playback Engine

  • Versatile Format Support: Seamless playback of M3U playlists, HLS, MPEG-TS, and DASH streams.
  • Smart Engine Selection: Automatically routes streams to the optimal player (Shaka Player for DASH/HLS, mpegts.js for TS).
  • Low Latency Modes: Finely-tuned Chasing and Sync modes for live sports and real-time broadcasts.
  • Player Stats & Analytics: Real-time display of streaming bitrate, resolution, FPS, and dropped frames.
  • Cross-Platform Viewing: Dedicated floating player window with customizable controls.

🎭 Unmatched Performance

  • Infinite Scroll Virtualization: Effortlessly navigate through playlists with 100,000+ channels at a buttery-smooth 60fps.
  • Lightning-Fast Parsing: Custom Rust-based parsing processes 10MB+ M3U files in under 500ms.
  • Optimized Memory Footprint: Typical usage under 300MB, leveraging Rust's efficiency and React's virtualized rendering.

🛠️ Rich Feature Set

  • Multi-Profile System: Separate personalized history, favorites, and UI settings for different users.
  • EPG Integration: Comprehensive Electronic Program Guide support to always know what's playing.
  • Built-in DVR & Recording: Record your favorite live streams directly to your local drive.
  • Network Diagnostics: Integrated Speedtest functionality to troubleshoot streaming issues instantly.
  • Intelligent Organization: Category-based filtering, advanced channel search, and instant playlist auto-selection.
  • Watch History & Favorites: Easily pick up where you left off or access your most-watched channels.

🔒 Advanced Security

  • AES-256-GCM Encryption: All credentials and sensitive data are robustly encrypted using industry-standard AES-256-GCM.
  • Secure Key Management: Automated generation and storage of local encryption keys with restrictive OS-level permissions.
  • Backend Proxied Streams: Sensitive stream URLs and DASH manifests are safely proxied through the Rust backend, avoiding CORS issues and hiding credentials from the frontend network tabs.

💻 Tech Stack

Frontend (The Beautiful UI)

  • Framework: React 18/19 & TypeScript 5.3+
  • Styling: TailwindCSS v4 & shadcn/ui (Radix UI)
  • State Management: Zustand & React Query (@tanstack/react-query)
  • Virtualization: @tanstack/react-virtual
  • Video Core: Shaka Player, mpegts.js, and Video.js integrations

Backend (The Powerhouse)

  • Core Engine: Tauri v2 leveraging Rust
  • Async Runtime: Tokio
  • Database: SQLite (via sqlx)
  • Security: AES-256-GCM, Argon2, SHA2

🚀 Getting Started

Prerequisites

  • Node.js: v20+
  • Package Manager: pnpm (recommended)
  • Rust: 1.70+
  • OS Dependencies:
    • macOS: Xcode Command Line Tools
    • Windows: Visual Studio C++ Build Tools
    • Linux: webkit2gtk, openssl, libssl-dev, libgtk-3-dev, and other Tauri GTK dependencies.

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/iptv-max.git
    cd iptv-max
  2. Install dependencies

    pnpm install
  3. Start Development Server

    pnpm tauri dev
  4. Build Production Binaries (For Windows, macOS, Linux)

    pnpm tauri build

🎮 Keyboard Shortcuts

Shortcut Action
Cmd+N New playlist
Cmd+F Focus search
Cmd+L Toggle view mode
Cmd+H View history
Cmd+, Open settings
Cmd+Shift+D Toggle dark mode
Cmd+Shift+E Export Profile
Cmd+Shift+I Import Profile
Space Play/Pause
F Fullscreen
M Mute
← / → Seek ±10s
↑ / ↓ Volume ±10%
Cmd+W Close Floating Player Window
Esc Close Player / Exit Fullscreen

📁 Architecture Overview

  • src/: Modern React frontend utilizing custom hooks, discrete Zustand stores, and dynamic Radix UI components tweaked for our theme.
  • src-tauri/src/commands/: Modular Rust backend handling heavy lifting (playlist, channel, player, epg, recording, speedtest, profile).
  • src-tauri/src/db/ & crypto/: Ensuring your local data remains perfectly persisted, blazingly fast to query, and impenetrably encrypted.

🤝 Contributing

Contributions make the open-source community an amazing place to learn, inspire, and create.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

Distributed under the MIT License. See the LICENSE file for more information.

🙏 Acknowledgments

  • Tauri - For redefining lightweight cross-platform desktop frameworks.
  • Shaka Player & mpegts.js - For enabling high-quality, feature-rich playback solutions without the legacy baggage.
  • shadcn/ui - For exquisitely designed, accessible React components.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors