Pars Player

January 12, 2025 Β· View on GitHub

Pars Player is an IPTV player developed for macOS. You can load IPTV lists in M3U format and watch live streams.

πŸš€ Features

  • M3U file loading support
  • M3U list loading from URL
  • Channel search
  • Fullscreen support
  • Live stream playback
  • Playback controls (play, pause, stop)
  • Dark theme

πŸ›  Technologies

  • Swift 5
  • SwiftUI
  • VLCKit
  • Carthage
  • CocoaPods

πŸ“‹ Requirements

  • macOS 11.0 or later
  • Xcode 14.0 or later
  • CocoaPods
  • Carthage

πŸ’» Installation

  1. Clone the repository:

    git clone https://github.com/htutuncu/Pars-Player.git
    cd Pars-Player
    
  2. Install CocoaPods (if not installed):

    sudo gem install cocoapods
    
  3. Install Carthage (if not installed):

    brew install carthage
    
  4. Install dependencies:

    pod install
    carthage update --platform macOS
    
  5. Open Pars Player.xcworkspace with Xcode

  6. Build and run the project (⌘R)

πŸ“ Project Structure

Pars Player/
β”œβ”€β”€ Models/
β”‚   └── Channel.swift          # Channel model
β”œβ”€β”€ ViewModels/
β”‚   └── ChannelsViewModel.swift # Channel list management
β”œβ”€β”€ Views/
β”‚   β”œβ”€β”€ ContentView.swift      # Main view
β”‚   └── PlayerView.swift       # Video player
β”œβ”€β”€ Utils/
β”‚   └── M3UParser.swift        # M3U file parser

πŸ“š Libraries Used

VLCKit

VLCKit is a wrapper for VideoLAN's VLC media player for macOS applications. It is used for video playback features.

Integration:

  1. Added to Podfile:

    pod 'VLCKit'
    
  2. Used VLCMediaPlayer in PlayerView.swift:

    import VLCKit
    

⭐️ Feature Details

M3U File Support

  • Load local M3U files
  • Download M3U list from URL
  • Parse EXTINF tags
  • Read channel name, group, and logo information

Video Player

  • VLCKit integration
  • Fullscreen support
  • Playback controls
  • Time bar
  • Volume control

User Interface

  • Modern interface with SwiftUI
  • Dark theme support
  • Responsive design
  • Channel search functionality
  • Sidebar navigation

🀝 Contributing

  1. Fork the repository
  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

This project is licensed under the MIT License - see the LICENSE.md file for details.

πŸ“« Contact

Hikmet TΓΌtΓΌncΓΌ - @htutuncu

Project Link: https://github.com/htutuncu/Pars-Player