Skip to content

kunal7236/iptv_player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“บ IPTV Player

A modern, feature-rich IPTV streaming application built with Flutter. Stream live TV channels with professional video controls and an intuitive user interface.

๐ŸŽฅ Demo

Watch the app in action: Demo Video

โœจ Features

๐Ÿš€ Core Features

  • Live TV Streaming: Stream IPTV channels from JSON data source
  • Search Functionality: Real-time channel search with instant filtering
  • Professional Video Player: Custom video player with comprehensive controls
  • Splash Screen: Animated splash screen with 3-second loading

๐ŸŽฎ Video Player Controls

  • Play/Pause: Large, responsive play/pause button
  • Aspect Ratio Control: Switch between 16:9, 4:3, 21:9, 1:1, and Auto
  • Video Fit Options: Toggle between Fit to Screen and Fill Screen modes
  • Fullscreen Mode: Immersive fullscreen experience
  • Screen Rotation: Manual portrait/landscape switching
  • Screen Lock: Lock screen to prevent accidental touches
  • Auto-hide Controls: Controls automatically hide after 3 seconds

๐Ÿ”’ Advanced Controls

  • Screen Lock System:
    • Tap lock button to lock screen
    • Tap screen when locked to show unlock overlay
    • Unlock overlay auto-hides after 3 seconds
  • Smart Navigation: Custom back button with proper system cleanup
  • Orientation Management: Automatic orientation handling
  • Visual Feedback: Real-time feedback for all control actions

๐ŸŽจ User Interface

  • Dark Theme: Modern dark theme throughout the app
  • Channel Cards: Beautiful channel list with quality indicators
  • Search Interface: Integrated search with result counter
  • Loading States: Smooth loading animations and progress indicators
  • Gradient Overlays: Professional video control overlays

๐Ÿ“ฑ Screenshots

Splash Screen Channel List Search Video Player
Splash Screen Channel List Search Video Player
Animated loading with IPTV branding Searchable channel list Real-time search filtering Professional video controls

๐Ÿ› ๏ธ Technical Stack

  • Framework: Flutter
  • Language: Dart
  • Video Player: video_player package
  • State Management: StatefulWidget with setState
  • Platform: Android/iOS compatible
  • Architecture: Clean, modular code structure

๐Ÿ“ Project Structure

lib/
โ”œโ”€โ”€ main.dart                 # App entry point
โ”œโ”€โ”€ splash_screen.dart        # Animated splash screen
โ”œโ”€โ”€ channel_list_screen.dart  # Channel list with search
โ”œโ”€โ”€ video_player_screen.dart  # Advanced video player
โ””โ”€โ”€ model/
    โ””โ”€โ”€ json_conversion_model.dart # Data models
assets/
โ””โ”€โ”€ hindi_india_streams.json  # Channel data source

๐Ÿš€ Getting Started

Prerequisites

  • Flutter SDK (>=3.0.0)
  • Dart SDK (>=2.17.0)
  • Android Studio / VS Code
  • Git

Local Development Setup

  1. Clone the Repository

    git clone https://github.com/kunal7236/iptv_player.git
    cd iptv_player
  2. Install Dependencies

    flutter pub get
  3. Run the App

    # Debug mode
    flutter run
    
    # Release mode
    flutter run --release
  4. Build APK (Android)

    flutter build apk --release
  5. Build for iOS

    flutter build ios --release

๐Ÿ”ง Configuration

Channel Data

Update the channel data in assets/hindi_india_streams.json:

[
  {
    "channel": "Channel.Name",
    "title": "Display Name",
    "url": "https://stream-url.m3u8",
    "quality": "720p",
    "user_agent": null,
    "referrer": null
  }
]

App Settings

Modify app settings in lib/main.dart:

  • App title
  • Theme configuration
  • Debug banner settings

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

Ways to Contribute

  1. ๐Ÿ› Bug Reports
    • Report bugs via GitHub Issues
    • Include device info, Flutter version, and reproduction steps
  2. โœจ Feature Requests
    • Suggest new features through GitHub Issues
    • Describe the feature and its use case
  3. ๐Ÿ’ป Code Contributions
    • Fork the repository
    • Create a feature branch
    • Make your changes
    • Submit a pull request

Development Guidelines

Code Style

  • Follow Flutter/Dart style guidelines
  • Use meaningful variable and function names
  • Add comments for complex logic
  • Maintain consistent formatting

Pull Request Process

  1. Fork & Branch

    git fork https://github.com/kunal7236/iptv_player.git
    git checkout -b feature/your-feature-name
  2. Make Changes

    • Write clean, documented code
    • Test your changes thoroughly
    • Update documentation if needed
  3. Commit & Push

    git commit -m "feat: add your feature description"
    git push origin feature/your-feature-name
  4. Create Pull Request

    • Provide clear description of changes
    • Include screenshots for UI changes
    • Link related issues

Testing

  • Test on multiple devices/orientations
  • Verify video playback works properly
  • Check search functionality
  • Test screen lock/unlock features

๐Ÿท๏ธ Feature Ideas

Want to contribute? Here are some feature ideas:

  • Playlist Management: Create and manage channel playlists
  • Favorites System: Mark favorite channels
  • Parental Controls: Content filtering options
  • Cast Support: Chromecast/AirPlay integration
  • EPG Integration: Electronic Program Guide
  • Recording: Record live streams
  • Multi-language Support: Internationalization
  • Picture-in-Picture: PiP mode support

๐Ÿ“ž Support

Getting Help

Troubleshooting

Common Issues

Video Not Playing

  • Check stream URL validity
  • Verify internet connection
  • Try different video quality

Search Not Working

  • Ensure JSON data is properly loaded
  • Check for typos in channel names
  • Verify assets are included in pubspec.yaml

App Crashing

  • Check Flutter doctor: flutter doctor
  • Update dependencies: flutter pub upgrade
  • Clear build cache: flutter clean

๐Ÿ™ Acknowledgments

  • Flutter team for the amazing framework
  • video_player plugin contributors
  • IPTV-org API for providing M3U8 channel links in JSON format
  • Open source IPTV community
  • All contributors and testers

๐Ÿ“Š Project Status

  • โœ… Core Features: Complete
  • โœ… Video Player: Advanced controls implemented
  • โœ… Search: Real-time filtering working
  • โœ… UI/UX: Modern, responsive design
  • ๐Ÿ”„ Future: Continuous improvements

Made with โค๏ธ using Flutter

โญ Star this repo if you found it helpful!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published