AI summary
IPTV and M3U8 player for live TV streaming with Xtream Codes support, iptv-org integration, and Material You theming. Version 1.5.0 adds ExoPlayer/Media3 engine, tap-to-reveal player controls, audio-only mode, fullscreen fit toggle, and improved PiP behavior. Fully FOSS with no Google Play Services required.
Generated by AI. May contain inaccuracies.
About this app
IPTV / M3U8 player built with Flutter. Watch live TV channels on Android and in the browser with a persistent mini-player experience.
Features
- M3U8 Playlist Support — load and play IPTV streams from M3U8 playlists - Xtream Codes Support — login with Xtream credentials for Live, VOD, and Series - IPTV.org Integration — browse country-based playlists (60+ countries) - Favorites — save channels for quick access from the home screen - Search — find channels quickly by name - Group Filtering — filter channels by category or group - Background Audio — keep listening when the app is in the background (Android) - Audio Only Mode — play audio only to save battery and data (Android) - Picture-in-Picture — auto-PiP when leaving the fullscreen player (Android) - Persistent Mini-Player — navigate the app while watching, tap to expand - Web Support — watch streams in any browser with CORS proxy fallback - Material You — dynamic color theming, light and dark mode - Google-Free — no Google Play Services required, fully FOSS
License
GNU General Public License v3.0
What's new
- Player
- Added tap-to-reveal controls, with audio-only mode promoted to the app bar. - Added a fullscreen fit toggle, and the video is now properly centered. - Fullscreen control moved out of the engines into the player page. - Orientation lock is now released when leaving fullscreen. - Fixed four player defects reported by users. - Fixed a dead end when an error occurred in fullscreen. - Fixed EXTVLCOPT user-agent parsing and mpv timing options. - The player no longer holds the screen awake while in picture-in-picture. - Stretched surfaces no longer appear in picture-in-picture.
- Playback Engines
- Added ExoPlayer/Media3 playback engine for Android. - RAI's relinker now routes through mpv on Android instead of ExoPlayer. - Relinker URLs are now resolved on Dart's HTTP stack instead of blocklisting RAI. - Added CORS proxy fallback for web HLS playback. - Android playback failures now report the real HTTP status.
- Interface
- Quick channel list is now centered on the current channel. - Channel logos are decoded at the size they are drawn. - Favourite tiles now share a logo box with more breathing room. - Grid row height now follows the user's font scale. - Channel list column count is now picked from available width. - Added a navigation rail (ninja_material v1.6.0+).
- Other
- Added a dedicated Stop action to the audio-only playback notification. - HTTP bodies are now decoded as UTF-8 instead of trusting the server's charset. - The debug playlist is now seeded from iptv-org instead of a personal repo. - Run analyze, tests, and a web build on every pull request.
About this version
- Version
- 1.5.0 (12500)
- Size
- 32.69 MB
- Requires Android
- 8.0
- Target SDK
- 26
- Architecture
- arm64-v8a
- Downloads
- 27
- Updated
- Sep 18, 2026
- Package
- io.github.giuig.tvninja
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10