MoonTVPlus 的 Windows 桌面客户端,基于 PySide6 和 mpv 构建。客户端通过 MoonTVPlus 服务端 API 获取影视数据、播放记录和用户信息,并提供桌面端的视频播放、直播、音乐及资源搜索体验。
本项目是客户端,不包含 MoonTVPlus 服务端。使用前请准备可访问的 MoonTVPlus 服务端地址和账号。
- 账号与服务端:服务端 URL、用户名密码登录,凭证本地保存,支持 Token 自动刷新。
- 内容浏览:首页、聚合搜索、资源搜索、电影、剧集、动漫、综艺和影库。
- 视频播放:基于 mpv 的多源播放、选集、进度保存与恢复、全屏、音量和播放进度控制。
- 弹幕与字幕:弹幕显示、搜索、屏蔽规则、缓存管理;支持内封字幕和加载本地
ASS、SRT、VTT、SUB字幕。 - 画质增强:内置 Anime4K shader,提供快速、平衡、高质量和极致等超分档位。
- 直播与音乐:电视直播源和频道播放;音乐搜索、播放、歌词及桌面歌词窗口。
- 资源与下载:网盘资源搜索、分享有效性检测、支持多种网盘的本地解析播放,以及下载管理和磁力/Torrent 相关能力。
- 桌面体验:Fluent 风格界面、播放通知、收藏/播放记录、自动更新和单实例运行。
当前项目以 Windows 为主要目标平台,仓库已包含 libmpv-2.dll。建议使用:
- Windows 10 或更高版本
- Python 3
- 可访问 MoonTVPlus 服务端的网络环境
Linux/macOS 可能需要自行安装对应的 mpv 动态库,当前仓库未提供跨平台启动脚本和发行包。
项目提供基于 Nuitka 的单文件打包脚本。先安装 Nuitka 以及本机可用的 C/C++ 编译环境,然后执行:
python -m pip install nuitka
python build_nuitka.py生成文件位于:
nuitka_build/MoonTVPlus.exe
打包脚本会包含 assets/、qml/、shaders/、各 Python 模块和 libmpv-2.dll。首次运行单文件程序时可能需要解压运行时文件,因此启动时间会略长。
moontvpcclient/
├── main.py # 应用入口和主窗口
├── screens/ # 首页、搜索、影视、直播、音乐、登录等页面
├── components/ # 播放器、弹幕、下载、详情等 UI 组件
├── services/ # API、播放、下载、网盘、音乐、更新等服务
├── models/ # API 和业务数据模型
├── utils/ # 设置、缓存、数据库、代理等通用工具
├── qml/ # QML 弹幕界面
├── shaders/ # Anime4K 和视频处理 shader
├── assets/ # 图标及其他静态资源
├── tests/ # 单元测试和播放器相关 smoke test
├── requirements.txt # Python 依赖
├── run.cmd # Windows 启动脚本
├── build_nuitka.py # Nuitka 打包脚本
└── version.py # 版本信息
安装测试工具后,可运行:
python -m pip install pytest
python -m pytest- 播放内容、直播源、网盘解析和部分数据源依赖第三方服务,其可用性不由客户端保证。
- 网盘播放可能需要在客户端设置中提供对应平台的账号、Cookie 或其他授权信息,请注意凭证安全。
- 请遵守所在地法律法规及相关服务的使用条款,仅播放和下载你有权访问的内容。
- MoonTVPlus:https://github.com/mtvpls/MoonTVPlus