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

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors