OpenIPTV is a private, open source IPTV player for Samsung TVs. Add an extended M3U playlist or Xtream login, then browse and play your channels through an interface designed for the television.
Your playlists, preferences, and favourites stay on your device. OpenIPTV has no accounts, analytics, advertising, or project operated service.
Tip
Try OpenIPTV in your browser. Use the arrow keys and Enter as the directional pad and OK button. If you need a sample, copy the address of the demo playlist into the playlist field.
Important
OpenIPTV is a player and provides no channels or other content. The project is not affiliated with any broadcaster, channel, streaming service, or playlist provider. Make sure you have the right to access what you add.
![]() |
![]() |
| Set up OpenIPTV | Browse channels |
![]() |
![]() |
| Search channels | Change Playback settings |
More television screenshots
![]() |
![]() |
| Browse Categories | Add channels to Favourites |
![]() |
![]() |
| Manage Categories for a playlist | View Playback information |
![]() |
![]() |
| Manage OpenIPTV from another device | Use every Smart Remote control |
- Browse original playlist categories, manage their visibility, and keep Favourites.
- Search every live channel or tune directly with channel numbers.
- Watch Xtream live television, movies, series, episodes, programme information, and provider catchup.
- Resume the last channel or finite video, then pause or seek movies, episodes, and catchup in ten second steps.
- Use 17 translated interfaces, including complete right to left layouts for Arabic and Persian.
OpenIPTV does not provide recording management or provider administration.
OpenIPTV supports Samsung TVs from 2020 onwards, running Tizen 5.5 or later. The television and computer used for installation must share the same local network.
Two installers can put OpenIPTV on a television, and both start with Prepare the television.
| Installer | Runs on | Worth knowing |
|---|---|---|
| Apps2Samsung | Windows, macOS, and Linux, with an Android application as well | Signs the widget for the connected television on every supported Tizen version. You download the release yourself. |
| TizenBrew Installer Desktop | Windows, macOS, and Linux | Reads this repository and fetches the release for you, so there is no file to find. |
- Open Apps and press
12345on the remote. - Turn Developer mode on and enter the computer's IP address.
- Restart the television. If an installer cannot reach it afterwards, unplug the television for ten to fifteen seconds, because a full power cycle is what opens the port it installs through.
- Install Apps2Samsung on the computer, open it, and let it find the television or enter the television's IP address.
- Download
OpenIPTV.wgtfrom the latest release. - Turn Custom WGT on under Advanced options, then choose the file you downloaded.
- Install OpenIPTV, then launch it from the television application list.
Note
A retail television only accepts a widget signed for itself, so Apps2Samsung signs OpenIPTV for the connected set before installing it. It asks for a Samsung account only when it has to create a certificate, then reuses that certificate for later installations. Its Android application can run the same installation from a phone, in which case Developer mode needs the phone's IP address rather than the computer's.
- Open TizenBrew Installer Desktop.
- Enter the television's IP address from its Network Status screen and connect.
- Enter
shayanline/OpenIPTVas the GitHub repository. - Follow the certificate prompts, install OpenIPTV, and launch it from the television application list.
Note
Tizen 7 and later can resign the released widget for the connected television. Earlier versions may need a locally signed build.
Install the new release exactly as before, from the same computer and through the same installer, and the television keeps your playlists, favourites, and settings.
A copy installed from a different computer, or through a different installer, carries a different author certificate, which the television refuses to install over. Remove OpenIPTV from Apps on the television first, then install again. OpenIPTV writes no backup file, so add the playlist again afterwards, which remote access makes quick from a phone.
Show manual build instructions
Install Node 22.18 or later and Tizen Studio. In Certificate Manager, create an author certificate and a Samsung distributor certificate for your television. Install the Samsung Certificate Extension, sign in with a Samsung account, and keep the television on and connected while creating the certificate.
Call the signing profile OpenIPTV, or set SIGNING_PROFILE to its name.
git clone https://github.com/shayanline/OpenIPTV.git
cd OpenIPTV
npm ci
TV_IP=192.168.0.10 npm run deployRun npm run package when you only need build/OpenIPTV.wgt.
| Source | What to enter |
|---|---|
| Extended M3U | A complete HTTP or HTTPS playlist address. |
| Xtream login | The server address, username, password, and HLS or MPEG TS live stream format. Live television, movies, series, episodes, programme information, and provider catchup are supported. |
Save several playlists and activate one at a time. Each playlist keeps its own category visibility, and password values stay concealed in the interface. For Xtream sources, choose Live, Movies, or Series from the content switcher. Movie and series summary indexes provide complete search and category counts without opening every category.
Remote access is available from the first run screen or Settings, then Remote access. Keep OpenIPTV open and connect a phone or tablet to the same trusted local network, then scan the QR code or enter the displayed address and pairing code.
A paired device can manage playlists, ordinary settings, application data, authorised devices, and playback. Smart Remote provides navigation, number, colour, channel, volume, and playback controls.
Show remote controls
| Key | Watching | Channel panel | Search |
|---|---|---|---|
| ↑ ↓ | Change channel | Move through the list | Move between the field and results |
| ← | Open the channel panel | Move toward Categories, then close the panel | Move the caret |
| → | Hide the title badge | Move toward channels, then play | Move the caret |
| OK | Open the channel panel | Play the highlighted channel | Show matches, then play |
| Hold OK | Toggle Playback information | No action | No action |
| Return | Close the visible layer | Go back | Clear Search, then close it |
| Ch+ Ch- | Change channel | Change channel | Change channel |
| 0 to 9 | Tune to a channel number | Tune to a channel number | Type a digit |
| Green | Toggle Favourites | Toggle Favourites | Toggle Favourites |
| Red | No action | Change category visibility | No action |
| Hold Red | No action | Show or conceal hidden categories | No action |
| Yellow | Open Settings | Open Settings | Open Settings |
Play, Pause, Stop, and the track keys work throughout the app.
Note
The hosted HTTPS demo can use only provider API, artwork, and stream addresses that support HTTPS and permit browser access through Cross Origin Resource Sharing. A provider that lacks either can still work in the packaged television app. Browser codec and container support can also be narrower than Samsung AVPlay support, especially for movie and episode files.
Common issues
- An installer cannot connect to the television. Repeat Prepare the television, including the restart, and avoid guest networks that isolate devices. Some televisions store the address in reverse, so enter your IP address backwards if the installer still cannot find the set.
- Installation reports certificate error 118 or -12. The widget was not signed for your television. Apps2Samsung signs it for the connected set on any supported version, TizenBrew does so from Tizen 7 onwards, and otherwise follow Build and sign manually.
- Installation reports that the author certificate does not match. An earlier copy was signed by a different computer or installer, so update an installed copy explains what to remove first.
- A playlist address is refused. Review the supported details under Add playlists.
- An Xtream stream will not play. Try the other live stream format under Add playlists. The packaged television app retries eligible HTTPS connection failures once over HTTP. Local development and the TV simulator route that retry through a same origin relay so Chromium cannot upgrade it through HSTS, while the hosted HTTPS demo cannot downgrade because browsers block mixed content.
- A channel shows one frame and stops. Turn on Compatibility mode under Settings, then Playback.
- A remote key does nothing. Open Settings, About, Support, Diagnostics, then Remote buttons, then compare it with the remote button reference.
- Logos are slow to appear. Turn Show channel logos off under Settings, then Appearance.
Issues and pull requests are welcome. Read CONTRIBUTING.md for the development workflow, the design notes for interface decisions, and the testing notes for compatibility checks. Report security problems through SECURITY.md.
OpenIPTV uses the MIT licence in LICENSE. Runtime projects included in the application are listed in THIRD-PARTY-NOTICES.md.









