Skip to content

iPhoneMirror v1.2.1

Choose a tag to compare

@RayrenSX RayrenSX released this 27 Jul 05:13

iPhoneMirror v1.2.1

正式版,适用于 Windows 10/11 x64。

本版重点

  • 新增 HDR 视频链路:支持 AVC/HEVC、NV12/P010、BT.601/709/2020、Display P3、PQ/HLG、HDR 转 SDR tone mapping,并可在开启 Windows HDR 的显示器上使用 FP16 scRGB 输出。
  • 新增多解码器策略:提供自动、硬件优先、软件兼容三种模式;Media Foundation 解码器初始化或运行失败时会自动回退,并按设备独立保存设置。
  • 完善多设备投屏:两台及以上设备可以同时拥有独立的采集、解码、音频、主预览和独立窗口会话;停止或切换一台设备不会中断其他设备。
  • 增强 iPad 与 USB-C 设备兼容性:动态识别 QuickTime configuration、interface、alternate setting 和 endpoint,支持重枚举后的序列号与物理端口匹配。
  • 视频软件投放现已与有线/无线镜像共用主预览、独立窗口、全屏、截图、统计信息和右键功能链路。

视频投放与窗口

  • 暂停、继续、拖动进度改为独立 Pause、Resume、Seek IPC 命令,不再通过重新加载 URL 模拟进度跳转。
  • 右上角按钮在视频投放期间显示“停止投屏”,并向接收端发送协议 Stop 请求。
  • 修复直播流和 HLS 已连接但不播放的问题,并加入受限重试与媒体后端恢复。
  • 修复播放状态横条残留、分辨率/帧率/音频统计缺失、设备选项卡无法切换以及播放结束时可能卡死的问题。
  • 视频投放独立窗口使用 Windows 原生标题栏和标准圆角;有线/无线镜像继续使用无标题栏设备外形,并保留“去除圆角”选项。
  • 独立窗口支持双击全屏,修复拖动窗口时严重掉帧、右键菜单不一致及窗口关闭/恢复竞态。

HDR 与解码

  • 支持 avc1avc3hvc1hev1 sample entry,以及 hvcC、VPS/SPS/PPS、NAL 长度、位深和色彩信息解析。
  • 每帧优先读取实际 Media Foundation sample 色彩/HDR 属性;流中参数集、位深或色彩配置变化时自动重建解码器。
  • 修复异步 MFT 的 NeedInput、HaveOutput、DrainComplete、sample 生命周期与 ShutdownObject 处理。
  • HDR 输出会随窗口所在显示器及 Windows Advanced Color 状态动态切换;普通 SDR 内容保持 BGRA8 低带宽路径。
  • 截图与 OBS BGRA 输出支持 P010 输入并正确转换为 SDR。

多设备与稳定性

  • 使用 USB serial 与物理端口 topology 共同确认设备身份,修复 QuickTime 重枚举期间串设备和左侧出现幽灵设备的问题。
  • 主预览 HWND 增加跨会话唯一所有权,重复挂接改为幂等刷新,修复 CreateSwapChainForHwnd 0x80070005
  • 改进 QuickTime shutdown、音频队列、应用关闭、后台设备错误和无线接收端生命周期,降低停止投屏或退出时卡死的风险。
  • 修复构建流程可能把旧版 native DLL 放入新 UI 产物的问题;普通构建、测试和正式发布现在使用同一份最新 native runtime。

日志与安全

  • 扩展应用、USB、协议、解码器、渲染器、视频投放、驱动操作和关闭流程的结构化日志,并加入日志轮转和隐私化设备标识。
  • 加固驱动负载哈希、Authenticode、结果文件、提权参数、退出码一致性、超时终止、重解析点及发布目录校验。
  • 发布包包含第三方许可、SHA-256 校验文件和 SPDX SBOM。

验证结果

  • Native Core protocol tests:通过
  • WirelessHost smoke test:通过
  • App logic tests:通过
  • Driver installer tests:通过
  • 两台 USB 真机同时投屏:通过;会话 1,2 均进入 Streaming,停止一台后另一台继续运行
  • QuickTime shutdown:两台设备均发送 2 个停止消息
  • 多设备稳定选择:8 次刷新保持 2 台设备且选择不漂移
  • 视频投放集成测试:主预览、独立窗口、原生标题栏、Windows 圆角、双击全屏和停止投屏均通过
  • 媒体控制测试:Pause、Seek、Resume IPC 均通过
  • 主预览 swapchain attachment failure:0
  • Release 构建:0 warning,0 error

使用说明

  1. 下载 iPhoneMirror-v1.2.1-win-x64.zip 并完整解压后运行 iPhoneMirror.exe
  2. 首次使用有线投屏时,可通过随包提供的 iPhoneMirror.Driver.exe 检查 Apple USB 环境及设备驱动。
  3. iPhoneMirror-v1.2.1-win-x64-latest.zip 与版本 ZIP 内容相同,便于固定下载地址。
  4. 可使用 SHA256SUMS.txt 校验下载完整性;iPhoneMirror-v1.2.1-win-x64-sbom.spdx.json 提供依赖清单。

已知限制

  • Apple USB、AirPlay 和视频投放依赖设备及系统协议行为,未来 iOS 或 Windows 更新可能需要相应适配。
  • HDR 实际输出取决于视频元数据、显卡驱动、显示器能力和 Windows HDR 设置;SDR 显示器会自动使用 tone mapping。
  • 当前未提供 Windows Authenticode 发布签名,首次运行时 Windows 可能显示安全提示。

许可证

iPhoneMirror 原创代码使用 GNU GPL-3.0-only。Apple 组件及第三方库遵循各自许可,详情见发布包中的 THIRD_PARTY_NOTICES.md 与 licenses 目录。