Cross-platform TV front-end player for the M3U Editor web app. Provides a convenient way to view your content on Android TV and Apple TV.
- Live TV: Browse and watch live TV channels with category filtering
- Movies (VOD): Browse and watch on-demand movies with category filtering
- TV Series: Browse series with season/episode navigation
- EPG: Basic Electronic Program Guide for live channels
- Settings: Configure Xtream API connection with credential storage
- Android TV
- Apple TV (tvOS)
- TypeScript
- React Native 0.81 (react-native-tvos)
- Expo SDK 54
- React Navigation 7
- Native React Native TV focus APIs (react-native-tvos) for D-pad focus management
- react-native-video and react-native-vlc-media-player for playback
- Node.js v18+
- Yarn v4.5.0
- For Android TV: Android Studio with TV emulator
- For Apple TV: Xcode with tvOS simulator
cd m3u-tv
corepack yarn installPrebuild (optional)
Run prebuild to generate the Android and iOS folders and native code.
EXPO_TV=1 corepack yarn prebuild --cleanAndroid TV:
corepack yarn androidApple TV:
corepack yarn ios- Launch the app and navigate to Settings
- Enter your Xtream credentials:
- Server URL: Your Xtream server address (e.g.,
http://example.com:8080) - Username: Your Xtream username
- Password: Your Xtream password
- Server URL: Your Xtream server address (e.g.,
- Click Connect
The app will authenticate and fetch your content categories. Credentials are stored locally for future sessions.
- Welcome screen with quick access to content
- Shows preview rows of Live TV, Movies, and Series when connected
- Grid of live channels organized by category
- Category filter tabs at the top
- Select a channel to start playback
- Grid of movies organized by category
- Shows ratings and posters
- Select a movie to start playback
- Grid of TV series organized by category
- Select a series to view seasons and episodes
- Episode browser with thumbnails
- Xtream API connection management
- Connection status and statistics
This app is designed to work with the M3U Editor backend which provides Xtream API endpoints:
- Direct Xtream Provider: Connect directly to your IPTV provider's Xtream API
- M3U Editor Server: Connect to your M3U Editor instance which emulates the Xtream API
To use with M3U Editor, use your M3U Editor server URL and credentials from a Playlist or PlaylistAuth.
- Components go in
components - Screens go in
screens - Update navigation types in
navigation/types.ts - Export new items from the folders
index.ts
yarn pretty
yarn lint- Enhanced EPG with timeline view (planby integration)
- Search functionality
- Favorites/Watchlist
- Continue watching
- Parental controls
- Multiple profile support
- Stream quality selection
- Catchup/DVR support
Whether it’s writing docs, squashing bugs, or building new features, your contribution matters! ❤️
We welcome PRs, issues, ideas, and suggestions!
Here’s how you can join the party:
- Follow our coding style and best practices.
- Be respectful, helpful, and open-minded.
- Respect the CC BY-NC-SA license.
m3u editor is licensed under CC BY-NC-SA 4.0:
- BY: Give credit where credit’s due.
- NC: No commercial use.
- SA: Share alike if you remix.
For full license details, see LICENSE.