尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
iPhone 屏幕镜像到 Windows 电脑:30 分钟搭好免费开源的 AirPlay 2 接收端
iPhone 屏幕镜像到 Windows 电脑30 分钟搭好免费开源的 AirPlay 2 接收端【免费下载链接】airplay2-winAirplay2 for windows项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-winairplay2-win 是一个把苹果 AirPlay 2 协议搬到 Windows 的开源项目它让 iPhone、iPad 和 Mac 可以像投屏到电视那样无线投到你的 Windows 电脑。这篇文章会从为什么 Windows 收不到 AirPlay讲起带你从零编译、运行、排错再钻进源码看看它到底是怎么做到的。你是不是也遇到过这种情况晚上躺沙发上刷短视频想把画面投到客厅大屏上。家里没有 Apple TV只有一台装着 Windows 的电脑——然后你发现iPhone 的屏幕镜像列表里空荡荡的Windows 电脑根本不在里面。这不是你的错觉。AirPlay 一直是苹果自己生态的内部语言官方不开放接收端普通 Windows 电脑天生听不懂。想要 Windows 接收 AirPlay 信号过去要么买付费软件要么折腾一堆配置还未必成功。直到有人把这个翻译官用开源代码做了出来。它到底是什么一个完整的 AirPlay 2接收端airplay2-win 的定位很直接——让 Windows 变成一台 AirPlay 2 接收器也就是Apple TV 的替身。它移植了开源的 AirplayServer 和 mDNSResponder 两个项目把设备发现、安全配对、视频流、音频流这一整套链路都搬到了 Windows 平台上并且以 MIT 许可完全开源免费使用。打开它的源码目录你能看到一套相当完整的结构airplay2/AirPlay 2 核心协议栈配对、加密、RTP 流处理都在这里dnssd/mDNS 设备发现服务负责让电脑在局域网里被看见airplay2dll/把核心能力封装成 DLL暴露出简单易用的 C 接口airplay-dll-demo/一个开箱即用的演示程序用 SDL 渲染画面external/SDL、FFmpeg、plist 等第三方依赖库一句话概括协议栈负责听懂 AirPlayDLL 负责翻译成标准音视频demo 负责把画面画出来。从零到跑通克隆、编译、运行三步走先别急着敲命令把这一节看完再动手。整个过程需要一台 Windows 电脑和 Visual Studio 2019或更高版本。第一步拿源码。打开命令行执行git clone https://gitcode.com/gh_mirrors/ai/airplay2-win cd airplay2-win第二步编译。双击打开根目录下的airplay2-win.sln这是 Visual Studio 的解决方案文件。然后在 VS 里做三件事在解决方案资源管理器里右键airplay-dll-demo选择设为启动项目把顶部配置切到 Release建议平台选 x64按Ctrl B生成解决方案第一次编译会稍慢因为它要连带构建协议栈和第三方库耐心等几分钟。编译完成后生成的库文件和 DLL 会出现在AirPlayServer文件夹里。第三步运行。进到输出目录双击运行airplay-dll-demo.exe。会弹出一个黑色的 SDL 窗口同时控制台打印出这样一行Usage: [s] to start server [q] to stop [-] and [] to scale video size.按一下键盘上的s服务就启动了。注意窗口标题栏它会变成 AirPlay Demo - Started表示 AirPlay 服务已经在监听。让 iPhone 在 30 秒内找到你的电脑服务启动后回到 iPhone 上确认手机和 Windows 电脑连的是同一个 Wi-Fi从屏幕右上角下拉打开控制中心点击屏幕镜像在列表里找到一台名为FgAirplay[你的电脑名]的设备选中它稍等几秒手机画面就会出现在电脑窗口里。想停止投屏按q想放大缩小画面按或-。如果列表里找不到这台设备别慌后面有一节专门讲排查。一个类比讲清它的核心原理快递分拣系统投屏听起来很玄拆开看其实和快递分拣是一回事。iPhone 是发件方你的电脑是收件方中间经过好几个分拣环节mDNS 设备发现就像快递员在小区广播这里有家收件点让 iPhone 知道电脑的存在配对认证像快递取件码确认双方身份保证不是随便一台设备都能连RTP 视频流是装着 H.264 压缩画面的快递车一路小跑把数据送过来音频流则走另一条车道装的是 AAC 格式的压缩音频最后一步最关键——解码。电脑里的 FFmpeg 把 H.264 还原成一帧帧 YUV 画面FDK-AAC 解码器把 AAC 还原成 PCM 音频SDL 再把它们画到窗口、送到声卡整个链路里最容易被忽视却最核心的一环就是解码。在源码里你能看到这段真实存在的解码逻辑位于airplay2dll/FgAirplayChannel.cppm_pCodec avcodec_find_decoder(AV_CODEC_ID_H264); m_pCodecCtx avcodec_alloc_context3(m_pCodec); // ...配置解码器... ret avcodec_send_packet(this-m_pCodecCtx, packet); frameFinished avcodec_receive_frame(this-m_pCodecCtx, pFrame);而音频那边核心库的raop_buffer.c里调用了 FDK-AAC 解码器把 AAC 数据逐帧解成 PCM再交给 SDL 的音频回调播放。一图以蔽之协议负责听懂解码负责翻译SDL 负责展示三者缺一不可。连上了却没画面常见问题排查清单先说 README 里官方标注过的最常见坑可以被 iOS 设备发现但无法连接。确保 iOS 和 Windows 在同一个 Wi-Fi、同一个网段下跨网段时设备发现和连接都会失败如果 Windows 跑在虚拟机里务必把网卡设为桥接模式而不是 NAT 共享模式否则手机根本连不上虚拟机里的服务再看另外几个高频问题。问题一列表里根本找不到设备。多半是 mDNS 广播被挡了。检查 Windows 防火墙确认没有拦截 demo 程序再确认电脑的发现和网络共享相关服务是开启状态。有时重启一下网络适配器就能解决。问题二能连上但窗口黑屏。常见原因是缺少 Visual C 运行库或显卡驱动太旧。装一遍最新的运行库、更新驱动、以管理员身份运行程序一般都能解决。问题三音画不同步。先看网络。投屏对延迟敏感优先用 5GHz Wi-Fi关闭下载等占带宽的软件也可以试着按缩放画面减少 SDL 渲染的负担。想改造它源码已经给你留好了接口这个项目的另一个价值是DLL 层把底层细节藏了起来暴露的接口非常少二次开发门槛不高。看一下airplay2dll/include/Airplay2Head.h整个 DLL 的对外能力就三个函数void* fgServerStart(const char serverName[AIRPLAY_NAME_LEN], unsigned int raopPort, unsigned int airplayPort, IAirServerCallback* callback); void fgServerStop(void* handle); float fgServerScale(void* handle, float fRatio);启动服务时你可以传入自定义的设备名demo 里用的是FgAirplay[计算机名]、RAOP 端口默认 5001和 AirPlay 端口默认 7001再挂上一个回调对象。回调接口IAirServerCallback定义了这些事件设备连入、断开、输出音频帧、输出视频帧、播放视频链接等。这意味着什么如果你有自己的播放器或显示方案完全可以把 demo 里的 SDL 部分换成自己的代码把解码好的 YUV 画面SFgVideoFrame或 PCM 音频SFgAudioFrame接进你的程序里。投屏只是起点把它嵌进会议室大屏系统、游戏直播工具都是可以延伸的方向。下一步动手试一次回到最开始的那个场景——现在你手里有了一台会 AirPlay 的 Windows。接下来 30 分钟你可以按这个顺序走一遍克隆源码 → 用 VS2019 编译 → 运行 demo 按s→ 手机屏幕镜像选中FgAirplay[...]→ 看到画面后再试着按q停止、按缩放感受一下这个平价 Apple TV的表现。遇到问题也别慌项目 README 里就有官方排错说明社区也在持续迭代。把 AirPlay 2 协议实现真正跑在自己电脑上这个过程本身就很有意思——说不定下一个好用的 Windows 投屏工具就出自你的二次开发。【免费下载链接】airplay2-winAirplay2 for windows项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Codeforces 笔记

Codeforces 笔记

第一天:开始我的算法竞赛之旅今天是我开始算法竞赛训练的第一天。我的目标很简单:坚持做题,并且一点一点提高自己的能力。从今天开始,我会给每道题 20 分钟 的时间。在这 20 分钟里,我不会看题解,也不会看提…

📅 2026/10/7 5:23:00
iperf3 Windows版实战指南:如何测出真实网速并定位网络卡顿

iperf3 Windows版实战指南:如何测出真实网速并定位网络卡顿

iperf3 Windows版实战指南:如何测出真实网速并定位网络卡顿 【免费下载链接】iperf3-win-builds iperf3 binaries for Windows. Benchmark your network limits. 项目地址: https://gitcode.com/gh_mirrors/ip/iperf3-win-builds 家里宽带跑不满、视频会议总是…

📅 2026/9/8 9:45:28
模块1 PCB制板-项目2 焊接电路板-任务2 贴片元器件(SMD)焊接

模块1 PCB制板-项目2 焊接电路板-任务2 贴片元器件(SMD)焊接

任务2 贴片元器件(SMD)焊接一、任务描述本任务旨在让学习者掌握在PCB板上焊接贴片式元器件的基本方法与操作技能,重点以USB TYPE-C-6P贴片母座为例。通过本任务的学习,能够独立完成贴片元件的定位、焊接、检查与测试,为…

📅 2026/9/9 20:10:32
MORE NEWS

更多资讯

📰

Spring Boot微信小程序新生儿疫苗预约系统设计与实现

作为一名在社区医疗信息化领域折腾过好几个项目的开发者,我太清楚新生儿疫苗预约这件事的痛点了。早年间社区接种点还在用"现场排队人工登记"的老模式,家长抱着满月婴儿在走廊里挤成一团,工作人员一边安抚哭闹的孩子一边手写登记表…

📰

Milvus向量数据库实战:架构演进、索引调优与避坑指南

简介:这是一份关于向量数据库 Milvus 的技术分享PDF,源自Zilliz技术合伙人栾小凡的公开演讲,适合正在选型向量检索方案的后端工程师、算法工程师与数据平台开发者。内容从“80%以上数据是非结构化数据”这一背景切入,讲清Embeddin…

📰

非接触式路面状况传感器:从选型到运维的实战指南

第一次接触非接触式路面状况传感器,是在一条山区二级公路的冬季除雪保畅现场。养护站的老师傅指着路侧门架上一个形似监控摄像头的黑色盒子说:“这玩意儿比人眼准,路面是潮是冰,它一眼就能分辨。”当时我只觉得新鲜,直…

📰

pstack-claude 实战:Claude Code 安装配置与工具链封装指南

1. 从 pstack-claude 这个名字说起:它到底想解决什么问题第一次看到pstack-claude这个项目名,很多人会愣一下——pstack 是什么?和 Claude 又是什么关系?我最初的反应也是这样。拆开来看,pstack通常指的是一套围绕进程…

📰

pstack与Claude无关:Linux进程调试工具与AI编程工具链辨析

我理解您的要求,但需要坦诚说明:标题“pstack-claude”在当前公开技术生态中无明确、可信、可验证的对应项目或工具。经全面核查以下维度:主流代码平台(GitHub、GitLab、Codeberg):未检索到名称为pstack-cl…

📰

基于离线数据的Android老黄历应用:农历转换、自绘View与性能优化

天天老黄历2.5这个项目,我从去年底开始断断续续维护到现在。它是一款基于Android原生开发的离线老黄历应用,核心场景就三个:查农历、看宜忌、盯节气。做它的原因很直接,家里长辈每天都要翻黄历,市面上同类App广告弹窗满…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬