1. 项目概述为什么我们需要一个极限投屏方案最近几年AR眼镜从科幻概念逐渐走进现实无论是消费级的观影娱乐还是企业级的远程协助都展现出了巨大的潜力。但几乎所有AR眼镜用户包括我自己在内都绕不开一个最基础也最头疼的问题内容从哪里来手机、电脑、游戏主机里的海量内容如何丝滑、稳定、低延迟地“飞”到眼前那块小小的镜片上这就是“投屏”要解决的核心痛点。市面上的通用投屏方案比如手机自带的无线投屏或者一些第三方App在面对AR眼镜这种对延迟和画质都极为苛刻的特殊场景时往往力不从心。卡顿、高延迟、画质压缩、连接不稳定……这些问题在普通电视上或许可以忍受但在紧贴眼球、追求沉浸感的AR眼镜上任何一点瑕疵都会被无限放大直接导致眩晕和糟糕的体验。因此这个“1小时搭建概念验证AR眼镜的极限投屏解决方案”项目其核心目标非常明确利用手头常见的硬件和开源软件快速构建一个在局域网内能为AR眼镜提供超低延迟、高画质无线投屏的临时性解决方案。它不是一个商业产品而是一个技术原型旨在验证“极限投屏”在技术上的可行性并为我们理解其中的关键技术挑战编码、传输、解码提供一个绝佳的实践窗口。无论你是极客玩家想折腾自己的设备还是开发者想为AR应用寻找内容输入方案这个快速搭建的过程都能给你带来直接的启发和可复现的路径。2. 核心思路与技术选型为什么是“局域网推流”要实现“极限”投屏我们必须先定义什么是“极限”。对于AR眼镜而言极限意味着三个核心指标低延迟50ms、高画质至少1080p 60fps、高稳定性不卡顿、不掉线。基于这个目标我们排除了几种常见但不合适的方案操作系统原生投屏协议如Miracast, AirPlay优点是兼容性好但延迟通常在100ms以上且画质压缩策略不透明无法满足AR眼镜对实时性的要求。云游戏串流方案如Moonlight, Steam Link这些方案为游戏串流做了大量优化延迟极低是重要的参考对象。但它们通常与特定的GPUNVIDIA或平台Steam绑定通用性稍差。商业AR眼镜厂商的私有协议效果最好但封闭无法用于自定义设备或通用内容投屏。因此我们的技术路径指向了“自定义的局域网视频推流”。其核心思路可以概括为在发送端如电脑捕获屏幕画面进行高效的硬件编码然后通过优化的网络协议打包发送到局域网内的接收端AR眼镜或其中继设备接收端进行高速解码并渲染显示。这个链条中的每一个环节都有多种技术选项我们的选型基于“快速验证”和“效果优先”的原则编码/解码CodecH.264或HEVC (H.265)。H.264兼容性最广几乎所有硬件都能编解码HEVC压缩效率更高同画质下码率更低但对硬件要求稍高。为了最大化兼容性和利用硬件加速我们首选H.264。捕获Capture在Windows上我们选用OBS Studio的虚拟摄像头插件或ffmpeg的gdigrab/dxgigrab组件。它们能高效捕获屏幕或特定窗口的画面。传输TransportRTMP协议成熟但延迟较高1-3秒。RTSP稍好。为了追求极限低延迟我们选择SRT (Secure Reliable Transport)或WebRTC的部分思想。但为了最快速搭建我们可以先用UDP传输裸的H.264 NALU流这能实现最低的协议开销延迟代价是需要自己处理丢包和乱序在稳定的局域网内问题不大。接收与渲染Playback在接收端可以是一台安卓手机、树莓派或直接是安卓系统的AR眼镜使用VLC media player或ffplay来接收网络流并解码播放。对于更深入的集成可以使用MediaCodecAPI进行硬解码。注意这个方案严重依赖硬件编解码。软件编码如x264的延迟和CPU占用在高端电脑上都无法满足“极限”要求。务必确保你的电脑和接收设备支持对应编码的硬件加速如Intel QSV, NVIDIA NVENC, AMD AMF或移动端的ARM Mali/Adreno GPU。2.1 工具清单与准备为了在1小时内完成我们需要提前准备好以下工具和环境。请确保你的网络环境是同一个局域网连接同一个路由器/交换机有线网络以太网的稳定性和延迟远优于Wi-Fi如果条件允许发送端尽量使用网线连接。发送端以Windows PC为例OBS Studio用于屏幕捕获和编码。我们将主要用它来配置和测试。OBS-NDI 插件这是一个宝藏工具。NDINetwork Device Interface是一种高性能的视频网络传输协议延迟可以做到极低局域网内可达几十毫秒。安装后OBS可以将画面以NDI流的形式输出到局域网。ffmpeg命令行视频处理神器。我们将用它作为备选或更底层的方案。一个高性能的无线路由器如果必须使用Wi-Fi请确保路由器支持5GHz频段且发送端和接收端尽量靠近路由器。Wi-Fi 6802.11ax能提供更好的多设备并发性能和抗干扰能力。接收端以安卓手机/AR眼镜安卓模式为例NDI HX Camera或NDI | HX Camera应用这是一个付费应用但它是目前将NDI流转换为安卓摄像头输入的最佳工具之一。安装后它就像一个虚拟摄像头可以接收局域网内的NDI视频流。AR眼镜配套的投屏App大多数AR眼镜都有自己的手机App可以将手机屏幕内容包括摄像头画面投送到眼镜中。我们将利用这一点让手机App去读取“NDI虚拟摄像头”的画面从而实现间接投屏。备选方案VLC for Android如果AR眼镜支持直接安装APK或通过DLNA等方式播放网络流VLC是一个强大的接收器。3. 实操搭建三步实现AR眼镜投屏下面我们以“OBS NDI 安卓手机 AR眼镜App”这条最快捷、效果也相当不错的路径为例进行详细拆解。3.1 第一步发送端配置OBS与NDI输出安装与基础设置在电脑上安装OBS Studio。从GitHub或NewTek官网下载并安装最新版的OBS-NDI插件。安装后重启OBS。打开OBS在“来源”面板点击“”添加“显示器捕获”或“窗口捕获”选择你想要投屏的屏幕或应用窗口。关键输出配置决定画质与延迟的核心点击OBS主界面右下角的“设置”。进入“输出”选项卡。将输出模式改为“高级”。“串流”标签页这里我们不使用传统的直播平台串流所以编码器选择可以稍后设置。重点是下面的“录像”标签页。“录像”标签页录像路径按需设置。录像格式选择mp4或mkv。mkv在意外中断时更能保留已录制内容。编码器这是重中之重务必选择你的显卡对应的硬件编码器。例如NVIDIA显卡选择NVIDIA NVENC H.264(或 HEVC)。Intel核显选择Intel Quick Sync H.264。AMD显卡选择AMD HW H.264。码率控制选择CBR恒定码率或VBR可变码率。对于投屏CBR能提供更稳定的延迟。VBR画质可能更好但延迟波动可能稍大。初次测试建议用CBR。比特率这是画质和网络负担的权衡。对于1080p 60fps建议设置在5000 - 10000 kbps之间。太低则画质损失大太高则网络压力大。可以从8000 kbps开始测试。关键帧间隔设置为2秒或0自动。更小的间隔如1秒有利于快速恢复但会略微增加码率。预设选择“质量”或“最大质量”。不要选“低延迟”那个预设是为直播对话设计的会牺牲大量画质来换取极致的低延迟不适合高动态的屏幕内容。配置保持默认或选择“high”。“视频”选项卡基础画布分辨率设置为你屏幕的原生分辨率如1920x1080。输出缩放分辨率设置为1280x720或1920x1080。考虑到AR眼镜的视场角和分辨率1080p通常足够且能减轻编码和传输压力。如果追求极限延迟可以尝试720p。常用帧率设置为60。屏幕内容尤其是游戏或快速滚动的网页高帧率至关重要。启用NDI输出在OBS主界面的菜单栏点击“工具” - “NDI 输出设置”。在弹出的窗口中勾选“主输出启用NDI”。你还可以给它起个名字比如“OBS-Desktop”。此时你的OBS画面就已经作为一个NDI源在局域网内广播了。3.2 第二步接收端手机配置NDI虚拟摄像头在安卓手机上安装NDI HX Camera应用。确保手机和电脑在同一个Wi-Fi网络下。打开NDI HX Camera应用。它应该会自动扫描局域网内的NDI源。在源列表中找到你电脑OBS设置的NDI源名称如“OBS-Desktop”点击选择。应用会开始连接并显示视频流。此时这个应用已经将自己模拟成了一个系统摄像头输出的画面就是来自你电脑的NDI流。3.3 第三步连接AR眼镜完成投屏打开你的AR眼镜并将其与手机通过蓝牙或Wi-Fi Direct等方式配对具体方式请参考你的眼镜说明书。打开AR眼镜配套的手机App例如如果是雷鸟、Rokid、XREAL等品牌都有对应的App。在该App中找到“投屏”或“屏幕镜像”功能。通常App会列出可以投屏的内容源其中就包括“摄像头”或“NDI HX Camera”如果App有相机权限并识别到了这个虚拟摄像头。选择这个虚拟摄像头作为投屏源。此时你的AR眼镜中应该就能看到来自电脑的实时屏幕画面了。至此一个基础的AR眼镜极限投屏通道就已经打通了。你可以尝试在电脑上播放视频、操作软件甚至玩游戏感受一下延迟和画质。4. 进阶优化与底层方案探索上面的方案利用了NDI这个现成的中间件搭建最快。但要追求真正的“极限”我们需要更深入地控制每一个环节。下面介绍两个进阶方向。4.1 方案二使用ffmpeg进行更低层的推流如果你对命令行不陌生并且希望有更灵活的控制比如调整编码参数、更换传输协议ffmpeg是更强大的工具。这个方案绕过了OBS和NDI延迟可能更低。发送端命令示例Windows PowerShell或CMDffmpeg -f gdigrab -framerate 60 -offset_x 0 -offset_y 0 -video_size 1920x1080 -i desktop -c:v h264_nvenc -preset p7 -tune ll -b:v 8M -f rtp rtp://手机IP地址:5004参数拆解-f gdigrab: 使用GDI抓取屏幕对于Windows。如果游戏用了全屏独占模式可以尝试-f dshow或第三方工具如screen-capture-recorder的虚拟摄像头配合。-framerate 60: 抓取帧率。-video_size 1920x1080: 抓取区域大小。-c:v h264_nvenc: 使用NVIDIA GPU硬件编码H.264。如果是Intel显卡用h264_qsvAMD用h264_amf。-preset p7 -tune ll: NVIDIA NVENC的预设和调优参数p7是“低延迟-高质量”ll是“低延迟”优化。-b:v 8M: 视频码率8 Mbps。-f rtp rtp://...: 指定输出格式为RTP并通过UDP发送到指定IP和端口。接收端手机使用VLC在手机VLC的“网络流”中输入rtp://:5004注意格式即可播放。这个方案的延迟可以做到非常低理论上可低于100ms但需要你手动处理IP地址、端口并且RTP/RTSP流的兼容性有时会有点问题。4.2 关键参数调优心得无论用哪种方案以下几个参数的调整对最终体验影响巨大需要根据你的实际网络环境和设备性能进行微调编码器预设Preset在OBS的NVENC或ffmpeg中p7低延迟高质量是一个很好的起点。不要使用p1最快或p2它们会严重牺牲画质。码率Bitrate与分辨率这是画质和延迟的博弈。高码率不一定等于低延迟。过高的码率会导致网络传输队列拥堵反而增加延迟。一个实用的方法是先固定一个分辨率如720p逐步提高码率直到画质可接受且延迟稳定然后再尝试提高分辨率重复此过程找到平衡点。关键帧间隔Keyframe Interval在网络状况良好的局域网内可以适当增大关键帧间隔如4秒以减少关键帧I帧这个大包对瞬时码率和延迟的冲击。但如果网络有波动较小的间隔如2秒能更快恢复。Wi-Fi频道与干扰如果使用Wi-Fi用手机App如Wi-Fi分析仪检查一下哪个5GHz频道最干净将路由器固定在该频道。避免微波炉、无线电话等设备的干扰。5. 常见问题排查与效果评估在实际搭建和测试中你几乎一定会遇到下面这些问题。这里是我的排查清单和实战经验。5.1 连接与延迟问题问题现象可能原因排查步骤与解决方案手机NDI App找不到电脑源1. 防火墙阻止2. 不在同一网段3. NDI服务未启动1. 在电脑防火墙中允许OBS和NDI相关程序通过。2. 确认电脑和手机IP前三位相同如192.168.1.x。3. 重启OBS或检查Windows服务中“NDI® Access Manager”是否运行。画面卡顿、跳跃1. 网络带宽不足/波动2. 编码性能不足3. 解码性能不足1.优先检查Wi-Fi让手机靠近路由器用网线连电脑降低码率如从8M降到5M。2. 观察OBS或任务管理器看GPU编码器是否满载。尝试降低分辨率或帧率。3. 在手机NDI App设置中尝试切换解码模式如有或关闭手机其他后台应用。延迟感觉很高200ms1. 编码队列过长2. 使用了高延迟的传输协议如RTMP3. 接收端缓冲过大1. 在OBS“高级”设置的“视频”中将“色彩格式”设为NV12“YUV色彩空间”设为601“YUV色彩范围”设为Partial这些设置兼容性最好处理更快。2. 确保使用NDI或RTP/UDP这类低延迟协议。3. 在VLC或NDI App中寻找“缓存”、“延迟”或“实时模式”设置将其调到最低。画面模糊、有色块码率过低逐步提高OBS输出码率。注意文字区域的清晰度对码率非常敏感可能需要比播放视频更高的码率。5.2 画质与兼容性问题AR眼镜App无法识别NDI虚拟摄像头有些AR眼镜App对摄像头的调用比较特殊。可以尝试在手机系统设置中将NDI HX Camera设为默认相机应用然后再打开AR眼镜App看是否能调用。另一个备用方案是使用“SCRCPY”这类工具将手机屏幕此时显示NDI画面反向投射到AR眼镜但这会增加一层延迟。色彩不对过曝、发灰这是色彩空间和范围不匹配的典型问题。务必确保发送端OBS和接收端理论上NDI会自动处理的色彩设置一致。在OBS高级设置中按照上述推荐设置NV12, 601, Partial能解决大部分问题。只有画面没有声音NDI默认传输视频。传输音频需要额外设置。在OBS中添加“音频输入捕获”源并在NDI输出设置中勾选包含音频。在手机端NDI HX Camera通常也能接收并输出音频。如果不行可以考虑使用蓝牙耳机直接连接电脑这是延迟最低的音频方案。5.3 如何定量评估延迟感觉“有点延迟”是不够的。一个简单的定量测试方法在电脑上打开一个在线毫秒计时器网页搜索“millisecond timer”。用手机相机拍摄AR眼镜中看到的计时器画面和电脑屏幕上的计时器画面需要另一部手机。对比两张照片上的时间差这个差值就是端到端的总延迟。一个优秀的方案应该能将这个延迟控制在80ms到150ms之间。低于50ms是专业级水准普通Wi-Fi环境很难稳定达到。6. 方案局限性与未来扩展方向经过以上搭建和优化我们确实能在1小时内得到一个可用的、延迟相对较低的AR眼镜投屏方案。但它作为一个“概念验证”有其明显的局限性非系统级集成需要手动启动OBS、手机App等多个软件无法做到像原生投屏一样一键开启。依赖中间设备目前方案需要手机作为中继增加了复杂度和潜在的不稳定点。理想状态是AR眼镜直接接收网络流。功耗与发热持续的高性能编码和解码对电脑和手机的电池都是考验设备发热会很明显。绝对延迟的瓶颈在Wi-Fi环境下物理层的传输延迟、协议栈的处理延迟依然是难以逾越的障碍。要追求极致的20ms延迟可能需要用到Wi-Fi Direct、毫米波无线投屏甚至有线连接等更专业的技术。这个项目的价值在于它像一张“地图”清晰地标出了通往“极限投屏”道路上的关键路标硬件编码、低延迟协议、局域网优化。基于这个原型开发者可以进一步探索为AR眼镜开发一个直接接收NDI或RTP流的原生应用去掉手机中继。尝试使用SRT协议它在UDP基础上增加了前向纠错和重传机制能在稍有丢包的网络中表现更好。研究WebRTC它内置了极强的NAT穿透能力未来可能实现跨局域网的超低延迟投屏。等待Wi-Fi 7和更先进的视频编码标准如AV1普及它们将从底层物理层和应用层同时降低延迟、提升效率。折腾这个过程最大的收获不是最终那一点屏幕画面而是彻底理解了“无线投屏”这四个字背后复杂的技术栈和精妙的平衡艺术。每一次参数的调整都是对画质、延迟、稳定性这个“不可能三角”的一次全新认知。当你终于能在AR眼镜里流畅地玩上一局电脑游戏或者毫无卡顿地演示一份PPT时你就会觉得这几个小时的折腾值了。
1小时搭建AR眼镜极限投屏方案:基于NDI与硬件编码的低延迟推流实践
1. 项目概述为什么我们需要一个极限投屏方案最近几年AR眼镜从科幻概念逐渐走进现实无论是消费级的观影娱乐还是企业级的远程协助都展现出了巨大的潜力。但几乎所有AR眼镜用户包括我自己在内都绕不开一个最基础也最头疼的问题内容从哪里来手机、电脑、游戏主机里的海量内容如何丝滑、稳定、低延迟地“飞”到眼前那块小小的镜片上这就是“投屏”要解决的核心痛点。市面上的通用投屏方案比如手机自带的无线投屏或者一些第三方App在面对AR眼镜这种对延迟和画质都极为苛刻的特殊场景时往往力不从心。卡顿、高延迟、画质压缩、连接不稳定……这些问题在普通电视上或许可以忍受但在紧贴眼球、追求沉浸感的AR眼镜上任何一点瑕疵都会被无限放大直接导致眩晕和糟糕的体验。因此这个“1小时搭建概念验证AR眼镜的极限投屏解决方案”项目其核心目标非常明确利用手头常见的硬件和开源软件快速构建一个在局域网内能为AR眼镜提供超低延迟、高画质无线投屏的临时性解决方案。它不是一个商业产品而是一个技术原型旨在验证“极限投屏”在技术上的可行性并为我们理解其中的关键技术挑战编码、传输、解码提供一个绝佳的实践窗口。无论你是极客玩家想折腾自己的设备还是开发者想为AR应用寻找内容输入方案这个快速搭建的过程都能给你带来直接的启发和可复现的路径。2. 核心思路与技术选型为什么是“局域网推流”要实现“极限”投屏我们必须先定义什么是“极限”。对于AR眼镜而言极限意味着三个核心指标低延迟50ms、高画质至少1080p 60fps、高稳定性不卡顿、不掉线。基于这个目标我们排除了几种常见但不合适的方案操作系统原生投屏协议如Miracast, AirPlay优点是兼容性好但延迟通常在100ms以上且画质压缩策略不透明无法满足AR眼镜对实时性的要求。云游戏串流方案如Moonlight, Steam Link这些方案为游戏串流做了大量优化延迟极低是重要的参考对象。但它们通常与特定的GPUNVIDIA或平台Steam绑定通用性稍差。商业AR眼镜厂商的私有协议效果最好但封闭无法用于自定义设备或通用内容投屏。因此我们的技术路径指向了“自定义的局域网视频推流”。其核心思路可以概括为在发送端如电脑捕获屏幕画面进行高效的硬件编码然后通过优化的网络协议打包发送到局域网内的接收端AR眼镜或其中继设备接收端进行高速解码并渲染显示。这个链条中的每一个环节都有多种技术选项我们的选型基于“快速验证”和“效果优先”的原则编码/解码CodecH.264或HEVC (H.265)。H.264兼容性最广几乎所有硬件都能编解码HEVC压缩效率更高同画质下码率更低但对硬件要求稍高。为了最大化兼容性和利用硬件加速我们首选H.264。捕获Capture在Windows上我们选用OBS Studio的虚拟摄像头插件或ffmpeg的gdigrab/dxgigrab组件。它们能高效捕获屏幕或特定窗口的画面。传输TransportRTMP协议成熟但延迟较高1-3秒。RTSP稍好。为了追求极限低延迟我们选择SRT (Secure Reliable Transport)或WebRTC的部分思想。但为了最快速搭建我们可以先用UDP传输裸的H.264 NALU流这能实现最低的协议开销延迟代价是需要自己处理丢包和乱序在稳定的局域网内问题不大。接收与渲染Playback在接收端可以是一台安卓手机、树莓派或直接是安卓系统的AR眼镜使用VLC media player或ffplay来接收网络流并解码播放。对于更深入的集成可以使用MediaCodecAPI进行硬解码。注意这个方案严重依赖硬件编解码。软件编码如x264的延迟和CPU占用在高端电脑上都无法满足“极限”要求。务必确保你的电脑和接收设备支持对应编码的硬件加速如Intel QSV, NVIDIA NVENC, AMD AMF或移动端的ARM Mali/Adreno GPU。2.1 工具清单与准备为了在1小时内完成我们需要提前准备好以下工具和环境。请确保你的网络环境是同一个局域网连接同一个路由器/交换机有线网络以太网的稳定性和延迟远优于Wi-Fi如果条件允许发送端尽量使用网线连接。发送端以Windows PC为例OBS Studio用于屏幕捕获和编码。我们将主要用它来配置和测试。OBS-NDI 插件这是一个宝藏工具。NDINetwork Device Interface是一种高性能的视频网络传输协议延迟可以做到极低局域网内可达几十毫秒。安装后OBS可以将画面以NDI流的形式输出到局域网。ffmpeg命令行视频处理神器。我们将用它作为备选或更底层的方案。一个高性能的无线路由器如果必须使用Wi-Fi请确保路由器支持5GHz频段且发送端和接收端尽量靠近路由器。Wi-Fi 6802.11ax能提供更好的多设备并发性能和抗干扰能力。接收端以安卓手机/AR眼镜安卓模式为例NDI HX Camera或NDI | HX Camera应用这是一个付费应用但它是目前将NDI流转换为安卓摄像头输入的最佳工具之一。安装后它就像一个虚拟摄像头可以接收局域网内的NDI视频流。AR眼镜配套的投屏App大多数AR眼镜都有自己的手机App可以将手机屏幕内容包括摄像头画面投送到眼镜中。我们将利用这一点让手机App去读取“NDI虚拟摄像头”的画面从而实现间接投屏。备选方案VLC for Android如果AR眼镜支持直接安装APK或通过DLNA等方式播放网络流VLC是一个强大的接收器。3. 实操搭建三步实现AR眼镜投屏下面我们以“OBS NDI 安卓手机 AR眼镜App”这条最快捷、效果也相当不错的路径为例进行详细拆解。3.1 第一步发送端配置OBS与NDI输出安装与基础设置在电脑上安装OBS Studio。从GitHub或NewTek官网下载并安装最新版的OBS-NDI插件。安装后重启OBS。打开OBS在“来源”面板点击“”添加“显示器捕获”或“窗口捕获”选择你想要投屏的屏幕或应用窗口。关键输出配置决定画质与延迟的核心点击OBS主界面右下角的“设置”。进入“输出”选项卡。将输出模式改为“高级”。“串流”标签页这里我们不使用传统的直播平台串流所以编码器选择可以稍后设置。重点是下面的“录像”标签页。“录像”标签页录像路径按需设置。录像格式选择mp4或mkv。mkv在意外中断时更能保留已录制内容。编码器这是重中之重务必选择你的显卡对应的硬件编码器。例如NVIDIA显卡选择NVIDIA NVENC H.264(或 HEVC)。Intel核显选择Intel Quick Sync H.264。AMD显卡选择AMD HW H.264。码率控制选择CBR恒定码率或VBR可变码率。对于投屏CBR能提供更稳定的延迟。VBR画质可能更好但延迟波动可能稍大。初次测试建议用CBR。比特率这是画质和网络负担的权衡。对于1080p 60fps建议设置在5000 - 10000 kbps之间。太低则画质损失大太高则网络压力大。可以从8000 kbps开始测试。关键帧间隔设置为2秒或0自动。更小的间隔如1秒有利于快速恢复但会略微增加码率。预设选择“质量”或“最大质量”。不要选“低延迟”那个预设是为直播对话设计的会牺牲大量画质来换取极致的低延迟不适合高动态的屏幕内容。配置保持默认或选择“high”。“视频”选项卡基础画布分辨率设置为你屏幕的原生分辨率如1920x1080。输出缩放分辨率设置为1280x720或1920x1080。考虑到AR眼镜的视场角和分辨率1080p通常足够且能减轻编码和传输压力。如果追求极限延迟可以尝试720p。常用帧率设置为60。屏幕内容尤其是游戏或快速滚动的网页高帧率至关重要。启用NDI输出在OBS主界面的菜单栏点击“工具” - “NDI 输出设置”。在弹出的窗口中勾选“主输出启用NDI”。你还可以给它起个名字比如“OBS-Desktop”。此时你的OBS画面就已经作为一个NDI源在局域网内广播了。3.2 第二步接收端手机配置NDI虚拟摄像头在安卓手机上安装NDI HX Camera应用。确保手机和电脑在同一个Wi-Fi网络下。打开NDI HX Camera应用。它应该会自动扫描局域网内的NDI源。在源列表中找到你电脑OBS设置的NDI源名称如“OBS-Desktop”点击选择。应用会开始连接并显示视频流。此时这个应用已经将自己模拟成了一个系统摄像头输出的画面就是来自你电脑的NDI流。3.3 第三步连接AR眼镜完成投屏打开你的AR眼镜并将其与手机通过蓝牙或Wi-Fi Direct等方式配对具体方式请参考你的眼镜说明书。打开AR眼镜配套的手机App例如如果是雷鸟、Rokid、XREAL等品牌都有对应的App。在该App中找到“投屏”或“屏幕镜像”功能。通常App会列出可以投屏的内容源其中就包括“摄像头”或“NDI HX Camera”如果App有相机权限并识别到了这个虚拟摄像头。选择这个虚拟摄像头作为投屏源。此时你的AR眼镜中应该就能看到来自电脑的实时屏幕画面了。至此一个基础的AR眼镜极限投屏通道就已经打通了。你可以尝试在电脑上播放视频、操作软件甚至玩游戏感受一下延迟和画质。4. 进阶优化与底层方案探索上面的方案利用了NDI这个现成的中间件搭建最快。但要追求真正的“极限”我们需要更深入地控制每一个环节。下面介绍两个进阶方向。4.1 方案二使用ffmpeg进行更低层的推流如果你对命令行不陌生并且希望有更灵活的控制比如调整编码参数、更换传输协议ffmpeg是更强大的工具。这个方案绕过了OBS和NDI延迟可能更低。发送端命令示例Windows PowerShell或CMDffmpeg -f gdigrab -framerate 60 -offset_x 0 -offset_y 0 -video_size 1920x1080 -i desktop -c:v h264_nvenc -preset p7 -tune ll -b:v 8M -f rtp rtp://手机IP地址:5004参数拆解-f gdigrab: 使用GDI抓取屏幕对于Windows。如果游戏用了全屏独占模式可以尝试-f dshow或第三方工具如screen-capture-recorder的虚拟摄像头配合。-framerate 60: 抓取帧率。-video_size 1920x1080: 抓取区域大小。-c:v h264_nvenc: 使用NVIDIA GPU硬件编码H.264。如果是Intel显卡用h264_qsvAMD用h264_amf。-preset p7 -tune ll: NVIDIA NVENC的预设和调优参数p7是“低延迟-高质量”ll是“低延迟”优化。-b:v 8M: 视频码率8 Mbps。-f rtp rtp://...: 指定输出格式为RTP并通过UDP发送到指定IP和端口。接收端手机使用VLC在手机VLC的“网络流”中输入rtp://:5004注意格式即可播放。这个方案的延迟可以做到非常低理论上可低于100ms但需要你手动处理IP地址、端口并且RTP/RTSP流的兼容性有时会有点问题。4.2 关键参数调优心得无论用哪种方案以下几个参数的调整对最终体验影响巨大需要根据你的实际网络环境和设备性能进行微调编码器预设Preset在OBS的NVENC或ffmpeg中p7低延迟高质量是一个很好的起点。不要使用p1最快或p2它们会严重牺牲画质。码率Bitrate与分辨率这是画质和延迟的博弈。高码率不一定等于低延迟。过高的码率会导致网络传输队列拥堵反而增加延迟。一个实用的方法是先固定一个分辨率如720p逐步提高码率直到画质可接受且延迟稳定然后再尝试提高分辨率重复此过程找到平衡点。关键帧间隔Keyframe Interval在网络状况良好的局域网内可以适当增大关键帧间隔如4秒以减少关键帧I帧这个大包对瞬时码率和延迟的冲击。但如果网络有波动较小的间隔如2秒能更快恢复。Wi-Fi频道与干扰如果使用Wi-Fi用手机App如Wi-Fi分析仪检查一下哪个5GHz频道最干净将路由器固定在该频道。避免微波炉、无线电话等设备的干扰。5. 常见问题排查与效果评估在实际搭建和测试中你几乎一定会遇到下面这些问题。这里是我的排查清单和实战经验。5.1 连接与延迟问题问题现象可能原因排查步骤与解决方案手机NDI App找不到电脑源1. 防火墙阻止2. 不在同一网段3. NDI服务未启动1. 在电脑防火墙中允许OBS和NDI相关程序通过。2. 确认电脑和手机IP前三位相同如192.168.1.x。3. 重启OBS或检查Windows服务中“NDI® Access Manager”是否运行。画面卡顿、跳跃1. 网络带宽不足/波动2. 编码性能不足3. 解码性能不足1.优先检查Wi-Fi让手机靠近路由器用网线连电脑降低码率如从8M降到5M。2. 观察OBS或任务管理器看GPU编码器是否满载。尝试降低分辨率或帧率。3. 在手机NDI App设置中尝试切换解码模式如有或关闭手机其他后台应用。延迟感觉很高200ms1. 编码队列过长2. 使用了高延迟的传输协议如RTMP3. 接收端缓冲过大1. 在OBS“高级”设置的“视频”中将“色彩格式”设为NV12“YUV色彩空间”设为601“YUV色彩范围”设为Partial这些设置兼容性最好处理更快。2. 确保使用NDI或RTP/UDP这类低延迟协议。3. 在VLC或NDI App中寻找“缓存”、“延迟”或“实时模式”设置将其调到最低。画面模糊、有色块码率过低逐步提高OBS输出码率。注意文字区域的清晰度对码率非常敏感可能需要比播放视频更高的码率。5.2 画质与兼容性问题AR眼镜App无法识别NDI虚拟摄像头有些AR眼镜App对摄像头的调用比较特殊。可以尝试在手机系统设置中将NDI HX Camera设为默认相机应用然后再打开AR眼镜App看是否能调用。另一个备用方案是使用“SCRCPY”这类工具将手机屏幕此时显示NDI画面反向投射到AR眼镜但这会增加一层延迟。色彩不对过曝、发灰这是色彩空间和范围不匹配的典型问题。务必确保发送端OBS和接收端理论上NDI会自动处理的色彩设置一致。在OBS高级设置中按照上述推荐设置NV12, 601, Partial能解决大部分问题。只有画面没有声音NDI默认传输视频。传输音频需要额外设置。在OBS中添加“音频输入捕获”源并在NDI输出设置中勾选包含音频。在手机端NDI HX Camera通常也能接收并输出音频。如果不行可以考虑使用蓝牙耳机直接连接电脑这是延迟最低的音频方案。5.3 如何定量评估延迟感觉“有点延迟”是不够的。一个简单的定量测试方法在电脑上打开一个在线毫秒计时器网页搜索“millisecond timer”。用手机相机拍摄AR眼镜中看到的计时器画面和电脑屏幕上的计时器画面需要另一部手机。对比两张照片上的时间差这个差值就是端到端的总延迟。一个优秀的方案应该能将这个延迟控制在80ms到150ms之间。低于50ms是专业级水准普通Wi-Fi环境很难稳定达到。6. 方案局限性与未来扩展方向经过以上搭建和优化我们确实能在1小时内得到一个可用的、延迟相对较低的AR眼镜投屏方案。但它作为一个“概念验证”有其明显的局限性非系统级集成需要手动启动OBS、手机App等多个软件无法做到像原生投屏一样一键开启。依赖中间设备目前方案需要手机作为中继增加了复杂度和潜在的不稳定点。理想状态是AR眼镜直接接收网络流。功耗与发热持续的高性能编码和解码对电脑和手机的电池都是考验设备发热会很明显。绝对延迟的瓶颈在Wi-Fi环境下物理层的传输延迟、协议栈的处理延迟依然是难以逾越的障碍。要追求极致的20ms延迟可能需要用到Wi-Fi Direct、毫米波无线投屏甚至有线连接等更专业的技术。这个项目的价值在于它像一张“地图”清晰地标出了通往“极限投屏”道路上的关键路标硬件编码、低延迟协议、局域网优化。基于这个原型开发者可以进一步探索为AR眼镜开发一个直接接收NDI或RTP流的原生应用去掉手机中继。尝试使用SRT协议它在UDP基础上增加了前向纠错和重传机制能在稍有丢包的网络中表现更好。研究WebRTC它内置了极强的NAT穿透能力未来可能实现跨局域网的超低延迟投屏。等待Wi-Fi 7和更先进的视频编码标准如AV1普及它们将从底层物理层和应用层同时降低延迟、提升效率。折腾这个过程最大的收获不是最终那一点屏幕画面而是彻底理解了“无线投屏”这四个字背后复杂的技术栈和精妙的平衡艺术。每一次参数的调整都是对画质、延迟、稳定性这个“不可能三角”的一次全新认知。当你终于能在AR眼镜里流畅地玩上一局电脑游戏或者毫无卡顿地演示一份PPT时你就会觉得这几个小时的折腾值了。