TV Player - Multi-Platform IPTV Application

A comprehensive .NET application for streaming IPTV content across multiple platforms using the MAUI cross-platform framework and WPF for Windows.

Project Overview

This project provides two implementations:

  • WPF (Windows) - Primary Windows desktop application
  • MAUI (Multi-platform) - Cross-platform support for Android, Windows, and macOS

Both implementations share common business logic for M3U playlist parsing and EPG (Electronic Program Guide) handling.

Architecture

Shared Components

ViewModels (MVVM Pattern)

  • ObservableViewModelBase: Base class implementing INotifyPropertyChanged
  • TVPlayerViewModel: Central application state (Lazy singleton)
  • MainViewModel: Main UI logic
  • PlayerViewModel: Video playback management
  • ProgramViewModel: Program/channel selection
  • SettingsViewModel: User preferences

Services & Utilities

  • M3UParser: Parses M3U playlists using regex
  • M3UInfo: Represents individual M3U playlist entry
  • ProgramsData: Manages playlist and EPG data via Reactive Extensions
  • PlaylistSettings: Configurable settings for URLs and cache behavior

Data Models

  • GroupInfo: Channel grouping information
  • ProgramGuide: EPG channel data
  • ProgramInfo: Individual program schedule entry

Platform-Specific Code

WPF Implementation

TV Player WPF/
├── ViewModels/
│   ├── MainViewModel.cs
│   ├── PlayerViewModel.cs
│   ├── SettingsViewModel.cs
│   └── ...
├── PlaylistWorker/          # Shared parsing logic
├── MainWindow.xaml
├── VideoPlayer.xaml
└── Assets/                  # Styles and resources

Key Features:

  • Full Windows desktop experience with keyboard shortcuts
  • Fullscreen support
  • Persistent settings (Windows Registry/AppData)
  • Window state management
  • Responsive UI with XAML styling

Last Updated: March 22, 2026 Project Status: Stable Main Implementation: WPF for Windows

S
Description
No description provided
Readme 676 KiB
Languages
C# 98.7%
Shell 1.3%