Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

qvcloud/QvPlayer

Repository files navigation

QvPlayer for tvOS

QvPlayer 是一款专为 Apple TV (tvOS) 设计的强大且灵活的视频播放器。它结合了原生系统播放器的高效性与 FFmpeg 的多功能性,确保支持广泛的视频格式,包括 MP4、MKV、AVI 以及 AV1 等现代编码格式。

✨ 主要功能

  • 双播放引擎:
    • 系统播放器 (AVPlayer): 最适合标准格式 (H.264, HEVC/H.265)。利用硬件解码实现最高的电池效率和性能。
    • KSPlayer (FFmpeg): 强大的备用引擎,支持几乎所有格式 (MKV, AVI, WMV, FLV) 以及系统本身不支持的编码 (如 AV1)。
  • Web 管理界面: 内置 Web 服务器,允许你直接通过电脑浏览器管理播放列表、上传文件以及配置播放器。
    • 播放队列管理: 轻松添加、移除或重新排序播放队列中的项目。
    • 远程控制: 直接从 Web 界面控制播放(播放、暂停、快进快退)。
  • 高度可定制化 (亮点):
    • 自定义播放参数: 支持配置硬件解码、快速打开、RTSP 传输协议(TCP/UDP)以及缓冲时长。
    • 自定义 User-Agent: 内置多种常用 UA(Chrome, Safari, iPhone 等),并支持完全自定义 UA 以绕过某些流媒体限制。
    • 代理支持: 支持配置 HTTP 代理,方便访问受限资源。
    • 自定义端口: Web 管理界面端口可自定义(默认:12345)。
  • 智能播放队列:
    • 支持 Pending/Playing/Played 状态追踪。
    • 支持 循环播放: 全局设置,支持整个队列或单视频的无限循环播放。
    • 自动跳过失效链接。
  • 后台测速系统: 自动检测直播流或视频链接的可用性及加载速度,并在 UI 中实时反馈。
  • M3U 播放列表支持: 支持导入和管理 M3U 格式的直播源。
  • 原生 tvOS UI: 使用 SwiftUI 设计,完美适配大屏幕操作体验,支持焦点引擎。
  • 多语言支持: 完全支持简体中文和英文。
  • 合规性: 包含完整的 隐私政策技术支持 页面。

🚀 快速开始

环境要求

  • Xcode 15.0 或更高版本
  • tvOS 16.0 或更高版本
  • Swift 5.9+

安装步骤

  1. 克隆仓库:

    git clone https://github.com/yourusername/QvPlayer.git
    cd QvPlayer
  2. 打开项目: 在 Xcode 中打开 QvPlayer.xcodeproj

  3. 解析依赖: 项目使用 Swift Package Manager (SPM)。Xcode 应该会自动获取所需的包:

  4. 构建并运行: 选择你的 Apple TV 模拟器或连接的设备,然后按 Cmd + R

📖 使用指南

导入视频与直播源

  1. Web 传输 (推荐):

    • 在 Apple TV 上打开 QvPlayer。
    • 记下设置或主屏幕上显示的 IP 地址 (例如 http://192.168.1.x:12345)。
    • 在电脑浏览器中打开该 URL。
    • 上传文件: 将视频文件拖放到网页中。
    • 添加链接: 在网页端输入视频流地址或上传 M3U 文件。
    • 配置播放器: 在 Web 端设置页面调整 UA、代理或播放参数。
  2. iTunes 文件共享:

    • 将 Apple TV 连接到 Mac。
    • 在 Finder 中导航到 Apple TV 的"文件"选项卡,将视频拖入 QvPlayer 文件夹。

播放队列管理

  • 添加至队列: 在主页长按视频或在 Web 端点击"添加到队列"。
  • 自动播放: 队列中的视频会按顺序自动播放。
  • 状态追踪: 播放器会自动记录哪些视频已播放,哪些正在等待。

测速系统

  • App 会在后台自动对列表中的视频源进行测速。
  • 测速结果会以颜色或标签形式显示在视频缩略图上,帮助你选择最流畅的源。

切换播放引擎

如果你遇到视频有声音但无画面(黑屏)的情况:

  1. 进入 App 内的 设置 (Settings)
  2. 播放引擎 (Player Engine)System 切换为 KSPlayer

🛠 技术栈

  • 语言: Swift 5.9+
  • UI 框架: SwiftUI
  • 架构: MVVM + Services
  • 核心组件:
    • MediaManager: 核心业务逻辑,处理播放队列和媒体库。
    • SpeedTestManager: 后台并发测速引擎。
    • CacheManager: 媒体元数据与缓存管理。
    • WebServer: 基于 GCDWebServer 的远程管理接口。
    • DatabaseManager: 基于 JSON/File 的轻量级持久化。

📸 截图展示

更多截图请查看 Screenshot/ 目录。

播放器 直播

📝 许可证

MIT License - 详见 LICENSE 文件。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /