PocketTV
PocketTV is a native IPTV player for the Miyoo Mini Plus running OnionOS 4.3.x. This repository contains the ready-to-install v3.1.1 application package and the complete source code for its bundled binaries.
Its Go interface draws directly to the 640x480 framebuffer and reads the gamepad directly, without launching Onion Terminal. PocketTV builds a local channel catalog from the public iptv-org dataset and uses an on-demand ARM bridge to make HTTPS and HLS streams compatible with the older ffplay bundled with OnionOS.
Highlights
- Search and browse a local channel database without network requests during navigation
- Native card-based interface, QWERTY search/URL keyboard, direct gamepad input, and no terminal layer
- Keep one canonical row per channel while retaining alternate streams for playback fallback
- Open Play/Add Favorite/Remove Favorite actions with the Y button
- Reopen saved favorites even when their old catalog record disappears
- Add and refresh personal HTTP/HTTPS M3U playlists from My Playlists
- Use the same transparent PocketTV icon in OnionOS and throughout the native interface
- Prefer lower-resolution, non-HEVC HLS variants for the Miyoo Mini Plus
- Run the bridge only during playback with a 24 MiB Go memory target
- Preserve user settings, sources, and favorites across application updates
Install
PocketTV must be installed at this exact path:
/mnt/SDCARD/App/PocketTV
The GitHub repository is named Pocket-tv, but the folder on the SD card must be named PocketTV.
- Download this repository as a ZIP and extract it, or clone it.
- Rename the extracted or cloned folder to
PocketTV. - Copy that folder into
/mnt/SDCARD/App/on the SD card. - Start PocketTV from OnionOS under Apps.
For an existing installation, copy the new application files over the old ones. Do not delete the existing data/ directory: it contains settings, favorites, playlists, caches, and the local channel catalog. If upgrading from MiyooIPTV, rename /mnt/SDCARD/App/MiyooIPTV to /mnt/SDCARD/App/PocketTV first.
A clean installation needs one manual channel database update from Settings > Update Channel Database.
Controls
| Button | Action |
|---|---|
| D-pad Up / Down | Move selection |
| Left / Right or L1 | Change page |
| A / START | Play the selected channel or activate an item |
| Y | Open channel actions and favorite controls |
| X | Open PocketTV's search keyboard |
| B / R1 | Go back |
| MENU | Leave PocketTV |
In My Playlists, select + Add Playlist, enter a name and an HTTP/HTTPS M3U URL, then press START. Opening a new list downloads and caches it; Y refreshes the selected list. Existing lists can also be edited in data/sources.txt using Name|URL, one per line.
The bundled bin/pockettv-ui and bin/pockettv-bridge executables are static Linux ARMv7 builds for the target device. See README.txt for detailed behavior, settings, troubleshooting, and the complete release history.
Source code and builds
The source for every bundled PocketTV binary is included in this repository:
src/uicontains the native framebuffer and gamepad interface.src/bridgecontains the HTTPS/HLS playback bridge and catalog builder.testscontains the POSIX shell test suite.
The v3.1.1 binaries were built with Go 1.26.5 using CGO_ENABLED=0, GOOS=linux, GOARCH=arm, GOARM=7, and -trimpath.
Run the tests:
cd src/ui go test ./... cd ../bridge go test ./... cd ../.. sh tests/test_shell.sh
Rebuild the Linux ARMv7 binaries:
cd src/ui CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 \ go build -trimpath -o ../../bin/pockettv-ui . cd ../bridge CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 \ go build -trimpath -o ../../bin/pockettv-bridge .
Third-party software
Licensing notices for bundled and referenced components are listed in THIRD_PARTY_NOTICES.txt.
License
PocketTV is released under the MIT License.