sumingyd

GuangYu is a cross-platform IPTV player and channel toolbox for Windows, macOS, Linux, and Android, built on MPV and PySide6 and covering scanning, cleanup, subscriptions, and playback.

50.0.6.9
Published at
16h ago
247
Stars
562
Download
Synced at
6m ago

Latest release

50.0.6.9Nov 13, 2026, 01:19 AM
Downloads slow? Switch the source anytime above

README

Project Overview

When you need to turn hundreds of raw live-stream entries into a usable channel list and keep them playing reliably, GuangYu provides one workflow from scanning and cleanup to viewing. The desktop build uses Python 3.8+ and PySide6 6.4+, with MPV as the playback engine and FFprobe for stream probing; the Android build pairs a Kotlin Compose shell with a Python 3.11 backend embedded through Chaquopy. The interface is bilingual and uses a liquid-glass visual style.

Item Value
Platform Windows / macOS / Linux / Android 9+
Language Python + Kotlin
Playback engine MPV + FFprobe
UI framework PySide6 6.4+
Version 50.0.6.1

Scanning and viewing live in one window, so channel cleanup no longer needs a second tool.

Key Features

  • MPV engine: FCC fast channel switching, hardware decoding, five HDR modes, WCG wide color, and minterpolate motion compensation
  • Catch-up: five catchup types named default, append, shift, flussonic, and xtream, with time-variable substitution and timezone offsets
  • EPG matching: parses both XMLTV and JSON guides, matching by tvg-id then tvg-name then channel name
  • Logo system: more than 400 built-in matching rules with online loading, async downloads, local caching, and High-DPI support
  • Channel scanning: scans IP ranges such as 239.3.1.[1-100]:8000, with configurable timeout and thread count plus batch validation
  • Subtitle aggregation: queries OpenSubtitles, SubHD, and SubtitleCat together, with IMDB-based Chinese search
  • Audio tools: a 10-band equalizer, seven 3D visualization styles, and A/V sync monitoring with a waveform
  • Multi-screen preview: 4-screen and 9-screen layouts alongside bookmarks, resume playback, and clip export

Interface and Controls

  • Three-column layout: EPG panel on the left, playback area in the center, channel list on the right, and transport controls at the bottom
  • Panel toggles: E for the guide, L for the channel list, M for the control panel, and Y to hide or restore all floating panels
  • Common shortcuts: Ctrl+O opens a playlist, Ctrl+S saves, F11 goes full screen, Up/Down changes channels, and the wheel adjusts volume
  • List interaction: double-click a channel on the right to play, and the search box filters name, URL, and group in real time (Ctrl+F)
  • Theme switching: 3 color modes by 7 visual styles produce 21 combinations that apply instantly

Target Audience

  • Users running self-hosted IPTV sources who need batch channel cleanup
  • Advanced users managing many subscriptions and EPG URLs
  • People who want the same viewing experience on TV and desktop
  • Operators who export channel lists for delivery

Quick Start

Desktop

  1. Install dependencies with pip install -r requirements.txt
  2. Put MPV and FFmpeg into mpv/ and ffmpeg/ at the project root, using libmpv-2.dll and ffprobe.exe on Windows
  3. Start the app with python main.py
  4. Open an .m3u, .m3u8, or .txt list with Ctrl+O, or drag the file into the window
  5. Add playlist and EPG URLs under Tools → Subscription Settings; click to enable and double-click to edit

Android

  1. Enter the android/ directory and run ./gradlew.bat assembleRelease
  2. Add -PtargetAbi=arm64-v8a for a single ABI, or choose armeabi-v7a, x86_64, or x86
  3. Install over the old build with adb install -g app/build/outputs/apk/release/app-release.apk; subscriptions and settings are preserved
  4. All data is stored under /sdcard/ISEP/ and survives APK updates

Core Advantages

  • Scan-to-play loop: scanning, batch validation, cleanup, and playback share one channel dataset, and results export directly to M3U / TXT / Excel
  • Tunable playback: hardware decoding, HDR, upscaling, and interpolation are toggled in the UI instead of config files
  • One backend, two clients: the Android build reuses the desktop Python backend, keeping subscriptions, EPG, and playback behavior aligned
  • Local-first data: channels, favorites, resume points, and bookmarks are written to local files without a cloud account

System Requirements

Item Requirement
OS Windows 10/11, macOS 10.15+, Linux x86_64/ARM64, Android 9.0 (API 28) or later
Python 3.8+ on desktop, 3.11 embedded on Android
UI framework PySide6 6.4+
Memory 2 GB or more
External dependencies MPV and FFmpeg; install libmpv-dev on Linux or run brew install mpv ffmpeg on macOS

Notes

  • Bring your own binaries: the desktop mpv/ and ffmpeg/ folders are not tracked, and playback or stream probing fails without libmpv and ffprobe
  • Android data directory: configuration is written to /sdcard/ISEP/config.ini, falling back to the app external directory and then internal storage when that path is unavailable
  • Built-in web server: server_main.py listens on 127.0.0.1:8080 by default, and --port changes it
  • Android ABI split: without -PtargetAbi the build contains only arm64-v8a and armeabi-v7a, so x86 targets must be requested explicitly

Release history

Sort