How pcoof/ppplayer works
PPPlayer 是基于 pywebview 的桌面视频聚合播放器。主流程是:用户在主界面选择或搜索 CMS 源,Flask 通过探测器选择适配器并取得分类、列表和详情;用户随后播放媒体,播放器经本地代理获取 HLS/媒体内容,并由 M3U8 过滤器去除广告、改写地址。配置、收藏与历史由后端持久化。README 还描述了主题、窗口控制和应用内更新;部分对应实现未完整采样,因此仅保留文档明确的连接。
Components 19
Connections 30
- 用户 → 桌面启动器: 启动应用
- 桌面启动器 → Flask API: 启动服务
- 桌面启动器 → 主界面: 创建窗口
- 桌面启动器 → 播放页面: 创建播放窗
- 用户 → 主界面: 浏览搜索
- 主界面 → Flask API: 请求数据
- Flask API → 主界面: 返回结果
- 播放页面 → 媒体代理: 请求媒体
- 主界面 → 媒体代理: 提交播放地址
- Flask API → CMS 探测器: 探测类型
- CMS 探测器 → 苹果适配器: 选择适配器
- CMS 探测器 → 飞飞适配器: 选择适配器
- CMS 探测器 → 海洋适配器: 选择适配器
- 苹果适配器 → CMS HTTP 客户端: 发送请求
- 飞飞适配器 → CMS HTTP 客户端: 发送请求
- 海洋适配器 → CMS HTTP 客户端: 发送请求
- CMS HTTP 客户端 → CMS 源站: 读取 CMS
- 苹果适配器 → Flask API: 返回数据
- 飞飞适配器 → Flask API: 返回数据
- 海洋适配器 → Flask API: 返回数据
- 媒体代理 → M3U8 过滤器: 过滤播放列表
- 媒体代理 → 媒体嗅探器: 解析媒体页
- 媒体代理 → 媒体 CDN: 转发媒体
- 主界面 → Flask API: 读写配置
- Flask API → 本地配置数据: 保存状态
- Flask API → 应用更新器: 查询更新
- 应用更新器 → GitHub Releases: 检查下载
- 应用更新器 → 桌面启动器: 重启应用
- 窗口控制 → 桌面启动器: 控制窗口
- 主界面 → 窗口控制: 转发操作