Skip to content

mohitj2401/live_iptv_flutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📺 IPTV Player - Flutter Android TV App

A modern, feature-rich IPTV streaming application built with Flutter, optimized for Android TV with full D-pad navigation support.

Flutter Dart Android TV License

✨ Features

  • 📡 M3U Playlist Support - Load channels from any M3U/M3U8 playlist URL
  • 📺 Android TV Optimized - Full D-pad navigation and Leanback launcher support
  • 🎨 Modern UI - Beautiful dark theme with glassmorphism effects
  • 🔍 Search & Filter - Search channels by name or filter by group/category
  • 🖼️ Channel Logos - Cached network images for smooth performance
  • Smart Caching - 1-hour cache to reduce network requests
  • 🎬 Video Playback - Powered by Chewie and video_player
  • 🎯 Focus Management - Intuitive remote control navigation
  • 📱 Responsive Design - Works on Android TV, tablets, and phones

🚀 Getting Started

Prerequisites

  • Flutter SDK (3.10.1 or higher)
  • Dart SDK (3.10.1 or higher)
  • Android Studio or VS Code
  • Android TV device or emulator (optional)

Installation

  1. Clone the repository

    git clone https://github.com/mohitj2401/live_iptv_flutter.git
    cd live_iptv_flutter
  2. Install dependencies

    flutter pub get
  3. Configure your IPTV playlist

    Open lib/services/iptv_service.dart and replace YOUR_IPTV_URL with your M3U playlist URL:

    static const String playlistUrl = 'https://your-iptv-provider.com/playlist.m3u';
  4. Run the app

    # For Android TV/Mobile
    flutter run
    
    # Build release APK
    flutter build apk --release

📱 Supported Platforms

  • ✅ Android TV (Primary target)
  • ✅ Android Mobile & Tablet
  • ⚠️ iOS (Not tested)
  • ⚠️ Web (Not tested)

🏗️ Project Structure

lib/
├── main.dart                 # App entry point
├── models/
│   └── channel.dart         # Channel data model
├── providers/
│   └── channel_provider.dart # State management
├── screens/
│   ├── channel_list_screen.dart  # Main channel grid
│   └── player_screen.dart        # Video player
├── services/
│   ├── iptv_service.dart    # M3U playlist fetching
│   └── m3u_parser.dart      # M3U format parser
├── theme/
│   └── app_theme.dart       # Dark theme configuration
└── widgets/
    ├── channel_card.dart    # Channel grid item
    ├── error_widget.dart    # Error display
    └── loading_widget.dart  # Loading indicator

🎮 Android TV Navigation

The app is fully optimized for Android TV remote control:

  • D-pad - Navigate through channels
  • Enter/Select - Play selected channel
  • Back - Return to channel list or exit
  • Menu - Open search/filter options

📦 Dependencies

Package Version Purpose
provider ^6.1.1 State management
http ^1.2.0 HTTP requests
video_player ^2.8.2 Video playback
chewie ^1.7.5 Video player UI
cached_network_image ^3.3.1 Image caching
google_fonts ^6.1.0 Typography

🔧 Configuration

Custom M3U Playlist

Edit lib/services/iptv_service.dart:

class IPTVService {
  static const String playlistUrl = 'YOUR_IPTV_URL';
  // ...
}

Cache Duration

Modify cache expiration in lib/services/iptv_service.dart:

static const Duration cacheExpiration = Duration(hours: 1);

Theme Customization

Edit colors in lib/theme/app_theme.dart to match your branding.

🎨 Screenshots

Add screenshots of your app here

🐛 Known Issues

  • Some IPTV streams may require specific headers or authentication
  • HLS streams work best; RTSP support depends on device
  • Channel logos may not display if URL is invalid

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  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

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

👨‍💻 Author

Mohit Jain

🙏 Acknowledgments

  • Flutter team for the amazing framework
  • All the open-source package maintainers
  • IPTV community for playlist formats and standards

📞 Support

If you encounter any issues or have questions:


Star this repo if you find it helpful!

About

A modern IPTV streaming app built with Flutter, optimized for Android TV with full D-pad navigation. Features M3U playlist support, smart caching, channel search/filtering, and a beautiful dark theme UI. Perfect for streaming live TV channels on Android TV devices.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors