A modern, feature-rich IPTV streaming application built with Flutter. Stream live TV channels with professional video controls and an intuitive user interface.
Watch the app in action: Demo Video
- 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
- 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
- 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
- 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
| Splash Screen | Channel List | Search | Video Player |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| Animated loading with IPTV branding | Searchable channel list | Real-time search filtering | Professional video controls |
- Framework: Flutter
- Language: Dart
- Video Player: video_player package
- State Management: StatefulWidget with setState
- Platform: Android/iOS compatible
- Architecture: Clean, modular code 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
- Flutter SDK (>=3.0.0)
- Dart SDK (>=2.17.0)
- Android Studio / VS Code
- Git
-
Clone the Repository
git clone https://github.com/kunal7236/iptv_player.git cd iptv_player -
Install Dependencies
flutter pub get
-
Run the App
# Debug mode flutter run # Release mode flutter run --release
-
Build APK (Android)
flutter build apk --release
-
Build for iOS
flutter build ios --release
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
}
]Modify app settings in lib/main.dart:
- App title
- Theme configuration
- Debug banner settings
We welcome contributions! Here's how you can help:
- ๐ Bug Reports
- Report bugs via GitHub Issues
- Include device info, Flutter version, and reproduction steps
- โจ Feature Requests
- Suggest new features through GitHub Issues
- Describe the feature and its use case
- ๐ป Code Contributions
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
- Follow Flutter/Dart style guidelines
- Use meaningful variable and function names
- Add comments for complex logic
- Maintain consistent formatting
-
Fork & Branch
git fork https://github.com/kunal7236/iptv_player.git git checkout -b feature/your-feature-name
-
Make Changes
- Write clean, documented code
- Test your changes thoroughly
- Update documentation if needed
-
Commit & Push
git commit -m "feat: add your feature description" git push origin feature/your-feature-name -
Create Pull Request
- Provide clear description of changes
- Include screenshots for UI changes
- Link related issues
- Test on multiple devices/orientations
- Verify video playback works properly
- Check search functionality
- Test screen lock/unlock features
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
- Documentation: Check this README and code comments
- Issues: GitHub Issues
- Discussions: GitHub Discussions
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
- 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
- โ 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!



