Windows AirPlay 2 接收器完整指南:5分钟把iPhone画面投到电脑 Windows AirPlay 2 接收器完整指南5分钟把iPhone画面投到电脑【免费下载链接】airplay2-winAirplay2 for windows项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-winairplay2-win 是一个面向 Windows 的 AirPlay 2 接收器开源实现让 Windows 电脑能出现在 iPhone、iPad 和 Mac 的控制中心里接收屏幕镜像视频与音频流。协议栈用 C/C 实现FFmpeg、SDL 等依赖均已提供预编译库。一个真实场景不靠线缆把 iPhone 画面送上大屏开会时你想展示的内容在 iPhone 里而会议室那台 Windows 大屏没有 Apple 转接线。商业投屏软件普遍收费或按年订阅不少还只支持较老的 AirPlay 1屏幕镜像要么不支持要么收费更高。airplay2-win 做的事情很直接在 Windows 上跑一个接收进程让 iOS 设备的屏幕镜像列表里出现这台电脑选中后视频和音频都落到电脑上。音频是 AAC 编码用 FDK-AAC 本地解码镜像视频是 H.264这两者正是 AirPlay 的标准格式。先看格局它和同类方案的差距在哪维度airplay2-win常见商业投屏软件一般开源方案shairplay 类屏幕镜像完整 H.264 镜像链路支持但闭源、按功能定价多数只做音频音频链路FDK-AAC 解码本地完成依赖系统解码器AAC 支持不一发现方式进程内集成 mDNSResponder依赖系统 Bonjour 服务依赖平台 API配对认证RSA 签名 AES 密钥交换含 AirPlay 2 配对不公开多数停在 AirPlay 1交付形态源码 可执行程序 可集成 DLL安装包纯源码需自行拼装授权开源免费付费/订阅免费 5分钟跑起来环境准备 三步构建环境要求Windows 10/11安装 Visual Studio 2019 或更高版本勾选使用 C 的桌面开发工作负载iOS 设备与电脑处于同一局域网然后做这三件事克隆代码git clone https://gitcode.com/gh_mirrors/ai/airplay2-win cd airplay2-win用 Visual Studio 打开airplay2-win.sln把airplay-dll-demo设为启动项目按 CtrlB 生成整个解决方案。第三方依赖FFmpeg、SDL 1.2、libplist在external/目录下已提供 x86 和 x64 两套预编译库不需要再装。在输出目录AirPlayServer 文件夹里找到airplay-dll-demo.exe运行看到 Startup complete 即就绪打开 iOS 控制中心点屏幕镜像应该能选到电脑名。两个默认端口记一下音频流RAOP5000视频流AirPlay7000被占用时在启动参数里改。airplay2-win/下还有一个独立的控制台程序main.c它只把收到的音视频帧打印出来适合做协议层的快速验证。底层如何工作一帧画面的完整旅程整条链路可以拆成五步每一步对应仓库里一个明确的位置被发现dnssd/目录是 mDNSResponder 的 Windows 移植负责在局域网广播_airplay._tcp和_raop._tcp服务iOS 设备靠它找到电脑。配对换钥AirPlay 2 设备先走配对认证。RSA 签名逻辑在airplay2/lib/rsakey.c配对流程在airplay2/lib/pairing.cFairPlay 相关代码在airplay2/lib/playfair/。音频通道airplay2/lib/raop.c完成 RTSP 握手AES-CTR 解密后的 AAC 流交给airplay2/lib/fdk-aac/解码成 PCM再交给上层回调。视频通道airplay2/lib/airplay.c处理 AirPlay 流屏幕镜像的 H.264 数据经raop_rtp.c从 RTP 包中还原。渲染输出主程序在airplay2-win/屏幕捕获与窗口逻辑封装在airplay2-win/VideoSource/airplay-dll-demo/示例则用 SDL 直接画帧。一句话概括接收投屏 发现 配对 音视频两路独立流 渲染前两步是协议工作后两步是平台工作各模块边界清楚。️ 避坑手册按现象排查现象一iOS 设备搜不到电脑可能原因Windows 防火墙拦截两台设备不在同一网段路由器屏蔽了组播。处理防火墙放行该程序公网/私网都允许确认同网段虚拟机务必用桥接网络而不是 NAT。现象二能被发现但连不上可能原因不在同一 Wi-Fi/网段虚拟机用了共享网络官方 FAQ 里最常见的就是这条。处理两台设备接同一个 Wi-Fi 并确认同网段 IP重启接收程序后重连。现象三连上了但没画面或没声音可能原因FFmpeg 运行库位数不匹配external/ffmpeg/lib/下 x86 与 x64 并存Windows 默认播放设备选错。处理核对程序位数放对应架构的库检查系统默认音频输出设备。现象四画面卡顿、延迟高可能原因2.4G Wi-Fi 干扰镜像分辨率过高局域网带宽被下载任务占满。处理切 5GHz Wi-Fi 或换有线在 iOS 侧降低镜像分辨率暂停大流量传输再试。 二次开发入口嵌入自己软件的三步想接进自己的程序不需要碰 C 核心链接 DLL 即可void* h fgServerStart(MyPC, 5000, 7000, myCallback); // ... 通过 myCallback 接收音视频帧 fgServerStop(h);myCallback实现IAirServerCallback定义在airplay2dll/include/Airplay2Head.h核心方法connected/disconnected设备连上、断开outputAudio/outputVideo解码后的 PCM 与 H.264 帧数据videoPlay视频播放控制请求log协议日志回传想改哪里去哪里加自定义认证airplay2/lib/pairing.c调流参数与解码airplay2/lib/raop_rtp.c及airplay2/include/stream.h的流定义改画面渲染airplay2-win/VideoSource/VideoSource.cpp核心库另有 CMake 构建配置airplay2/lib/CMakeLists.txt非 Windows 环境也可以单独编译写在最后项目下一步大概率围绕更顺滑的视频渲染和更广的设备兼容展开方向不神秘。把代码克隆下来、编译一遍、用自己的 iPhone 投一次屏是理解它最快的方式。动手之前先看一遍上面的避坑手册能省掉一两个小时。【免费下载链接】airplay2-winAirplay2 for windows项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

快速入门STM32单片机,江科协教程中4个实验现象接近的实验总结。

快速入门STM32单片机,江科协教程中4个实验现象接近的实验总结。

由于我要快速推进学习进程所以没有按照视频的自然顺序去学习。比如我先学的6-8 编码器接口测速 ,接线图如下,而且我发现我的A6和A7引脚不太好用,所以改为A8和A9引脚了。你看了这个接线图和5-2编码器计数的接线图几乎一模一样。所以如果按照先…

2026/8/24 22:28:40
​WRC 2026:具微科技从高动态表演到工业落地,展示“可进化的工业生产力”

​WRC 2026:具微科技从高动态表演到工业落地,展示“可进化的工业生产力”

8月19日至23日,2026世界机器人大会(WRC2026)在北京举办。在大会“具身花园”科技艺术展上,特种具身智能龙头企业具微科技的机器狗“好奇者S01”以一段“轮上炫舞”吸引了不少现场目光。秀场之外,具微科技的主战场一直在…

2026/8/24 22:28:40
QtPromise:用Promise模式优雅解决C++ Qt异步编程难题

QtPromise:用Promise模式优雅解决C++ Qt异步编程难题

1. 项目概述:当Qt遇上Promise在C和Qt的世界里,异步编程一直是个绕不开的话题。无论是处理网络请求、文件I/O,还是执行耗时的计算任务,我们总得和信号槽、回调函数、QFuture这些机制打交道。用久了你会发现,虽然信号槽是…

2026/8/24 22:28:40
VSCode + ESP-IDF 环境搭建与高效开发 ESP32 物联网项目

VSCode + ESP-IDF 环境搭建与高效开发 ESP32 物联网项目

1. 从零到一:为什么选择 VSCode ESP-IDF 这套组合?如果你正在玩 ESP32,或者正准备开始,那你大概率听说过 Arduino 和 PlatformIO。它们简单、易上手,社区资源丰富,对于快速验证想法、制作小项目来说&#…

2026/8/24 22:28:40
纯CSS实现大屏不规则边框:斜切角、圆角与多边形方案详解

纯CSS实现大屏不规则边框:斜切角、圆角与多边形方案详解

1. 项目概述:为什么大屏需要“无图”边框? 最近在做一个数据可视化大屏项目,客户指着设计稿上那些带有科技感切角、流光溢彩的不规则边框,提了一个很实际的要求:“这些效果能不能不用图片实现?我们后期可能…

2026/8/24 22:28:40
普通用户添加 sudo 权限

普通用户添加 sudo 权限

1. 添加新用户 我们在Linux系统中经常需要根据不同的需求创建对应的新用户, 但是新用户作为一个普通用户, 权限是非常有限的, 默认不能够使用管理员权限执行某些管理员才能执行的命令, 给大家演示一下操作步骤:# 添加新用户 sanji [rootVM-8-14-centos ~]# adduser sanji# 给新…

2026/8/24 22:23:40