Start here

Overview

What PEK TV is, what it does and how the repository is laid out.

View source on GitHub

A media center with a sandboxed plugin system, network library support and a TV-first interface. It is in beta, so expect rough edges.

What it does #

  • Your library, everywhere: local folders and network shares (SMB, NFS, FTP, WebDAV, UPnP/DLNA). Reads Kodi-style NFO files and artwork first, and asks TMDb only for what is missing.
  • A player that stays out of the way: libmpv. Automatic subtitles, Skip Intro / Skip Recap, and an Up Next card.
  • Music from your own folders: albums, artists, songs, playlists and search over the same local and network folders. Tags and cover art are read from the files; shuffle, repeat, a queue and a player bar. Songs play in libmpv on Android. Files that will not open (for example a 0-byte or damaged file) are marked "Can't be played" and skipped, and a home-screen widget shows the song that is playing (phones and tablets). See MUSIC.md.
  • Built for the couch: D-pad, remote and gamepad support, with a 10-foot look.
  • A dashboard you design: widgets you choose and order, saved per profile.
  • Profiles and PEK Cloud: profiles with their own history and favorites, plus optional cloud sync.
  • Skins: install a skin from a .zip. Skins cannot run code or reach the network.
  • Sandboxed plugins: plugins declare what they may do and run in a locked-down sandbox.

See PLUGINS.md, SKINS.md, SUBTITLES.md, LOCAL_METADATA.md and MUSIC.md for details.

Project layout #

  • flutter_ui/: the app's screens (Flutter). The only UI.
  • backend/: the C++ server (library scanner, network sources, music, torrent streaming, subtitles).
  • android/: the Android app (start-up, libmpv player, Python plugin host) and the GitHub Actions build.
  • plugins/, plugin_packages/, skins/: built-in plugins and skins (Weather, TMDb Discover, Skin maker); plugin_packages/ holds the plugins published on the PEK Store (M3U8, Trakt).
  • cloud/: the Cloudflare workers (accounts and sync, plugin store).
  • assets/: branding artwork: launcher icon, TV banner, splash videos (assets/android/res) and README screenshots.
  • tools/: helper scripts (make_skin.py, sync_providers.js with providers.json).

See the LICENCE file for what you may and may not do with the code.

PEK Industries is not associated with any illegal activity involving torrents. PEK TV does not host, provide or link to any content, and ships with no search provider or index. You are responsible for what you play.

This product uses the TMDB API but is not endorsed or certified by TMDB. Streaming availability data provided by JustWatch.