Tombarr / fliptv

FlipTV is an IPTV app for KaiOS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FlipTV Icon

FlipTV is a simple Internet Protocol TV (IPTV) app for KaiOS feature phones, available for free on the KaiStore. Made by Tom Barrasso, developer of PodLP.

FlipTV Channels FlipTV Streaming
FlipTV Channels FlipTV Streaming

Technical notes

FlipTV is built using SvelteJS and TypeScript, with the only runtime dependency being hls.js.

These were great choices to keep the package size small and provide a responsive experience, given the memory and CPU consumption needed for audio-video streaming. The final package size is only ~200kb zipped.

IPTV

FlipTV includes a pre-defined list of channels that point to .m3u files. This list can be extended via a remote list in Channels.ts.

Each M3U file a remote text file with a list of available media formats. FlipTV automatically sources the media format closest to the device screen size of 240x320.

To mimic the static that old analog TVs used to display, FlipTV generates "pink noise" static as the background rendered to canvas when it's unable to load.

KaiOS 3.0

FlipTV was never adapted for KaiOS 3.0. Despite including both a manifest.webapp into manifest.webmanifest, several changes would be necessary including styles and how auto-fullscreen is handled. Since no KaiOS 3.0 device supports DevTools, debugging is a challenge.

Data Types

Custom data types are provided based on KaiOS API documentation. These have proven helpful coding against KaiOS with type safety and having auto-complete in VS Code.

KaiAds

FlipTV is provided free to charge, with KaiAds installed per the KaiOS KaiStore Submission Guidelines.

Get started

Install dependencies:

npm install

Start Rollup:

npm run dev

Navigate to localhost:5000. You should see your app running. Edit a component file in src, save it, and reload the page to see your changes.

By default, the server will only respond to requests from localhost. To allow connections from other computers, edit the sirv commands in package.json to include the option --host 0.0.0.0.

If you're using Visual Studio Code we recommend installing the official extension Svelte for VS Code. If you are using other editors you may need to install a plugin in order to get syntax highlighting and intellisense.

Building and running in production mode

To create an optimised, minified version of the app:

npm run build

The resulting code in /public can then be zipped as a packaged app for distribution on the KaiStore.

About

FlipTV is an IPTV app for KaiOS

License:MIT License


Languages

Language:TypeScript 47.3%Language:Svelte 43.6%Language:HTML 6.1%Language:JavaScript 3.0%