获取Hololens摄像机画面数据流
HoloLensCameraStream for Unity
Hololens远程视频通话与AR标注
MixedReality WebRTC 是一个库集合,用于帮助混合现实应用程序开发人员将点对点实时音频和视频通信集成到其应用程序中,并改善其协作体验。
● 支持与远程端进行多轨实时音频/视频/数据通信
● 提供抽象的信令接口,以方便实现
● 通过公开的C++与C# API来集成到现有的应用程序中
● 为快速原型制作和集成提供一组Unity3D组件
● 包括对Microsoft HoloLens(x86)和Microsoft HoloLons 2(ARM)的支持
● 允许轻松使用混合现实捕获(MRC)以流式传输方式,实现多设备体验
MixedReality WebRTC是混合现实共享团队开发和维护的存储库集合的一部分。
NuGet(C++,C#)和UPM(Unity)包可用于稳定版本(release/*分支)。有关详细信息,请参阅GitHub上的发布页面或下载文档页面。
[GitHub] 下载 MixedReality-WebRTC releases
[GitHub] 下载 com.microsoft.mixedreality.webrtc-2.0.2.tgz
[GitHub] 下载 com.microsoft.mixedreality.webrtc.samples-2.0.2.tgz
[Azure] 下载 MixedReality-Unity-Packages
[Azure] 下载 com.microsoft.mixedreality.webrtc-2.0.2.tgz
[Azure] 下载 com.microsoft.mixedreality.webrtc.samples-2.0.2.tgz
release/2.0分支 包含API的最新稳定版本,NuGet和UPM包就是从该API发布的。
主分支包含最新发展。我们已经注意保持这个分支处于一个相当干净的状态(分支可以构建,测试通过)。但是,与最新版本相比,主分支包含破坏API的更改,因此与NuGet/UPM包不兼容,应改为从源代码构建(请参阅从源代码生成文档)。
官方文档
Getting started
https://microsoft.github.io/MixedReality-WebRTC/
MixedReality-WebRTC documentation (v2.0)
《用户手册》包含项目各种库的概述,以及如何使用它们的一些教程。
● Hello,Unity world!教程通过构建一个简单的音频和视频聊天客户端来介绍Unity集成。
● C#教程介绍了.NET Standard 2.0 C#API,它可以在Unity之外使用
○ Hello,C# world!(桌面)演示如何在.NET Core 3.0中构建一个简单的控制台应用程序,该应用程序作为Windows桌面(Win32)应用程序运行。
○ Hello,C# world!(UWP)展示了如何使用基于WPF(XAML)的UI构建GUI应用程序,包括如何呈现本地和远程视频。
C#库和Unity集成有一个API参考。
● C# library API reference
● Unity integration reference
总体架构如下:
库介绍 | ||
库 | 语言 | 描述 |
mrwebrtc | C/C++ | 本机C/C++库为Google的底层WebRTC实现提供了一个低级接口。与Google实现(PeerConnection)公开的API相比,当前的接口得到了简化,从而消除了设置和配置的负担。它还尝试使用UWP包装器防止常见的线程错误。这个库公开的是纯C API,可以轻松集成到任何C/C++应用程序中。 |
Microsoft.MixedReality.WebRTC | C# 7.3 | C#.Net Standard 2.0库提供了对与本机C库相同的API的访问,使用熟悉的C#概念公开,如 async / await 和 Task。 |
Microsoft.MixedReality.WebRTC.Unity | C# 7.3 | Unity3D集成-一组几乎不需要设置的Unity MonoBehaviour组件,用于实现快速原型制作并简化与现有应用程序的集成。 |
Microsoft.MixedReality.WebRTC.Unity.Examples | C# 7.3 | Unity3D示例显示了典型的使用场景,如点对点视频聊天应用程序。 |
MixedReality WebRTC目前可用于Windows 10 Desktop和UWP,有或没有Unity,以及Android(仅Unity)。
注意-在以下以及本存储库中的其他地方,术语“Win32”被用作“Windows桌面”的同义词,即桌面应用程序开发的历史Windows API,与“Windows UWP”API相对。但是,此项目不正式支持早于Windows 10且带有Windows SDK 17134(2018年4月更新,1803)的Microsoft Windows版本。特别是,不支持旧版本的Windows(Windows 7、Windows 8等)。
此存储库遵循 Pitchfork Layout,试图标准化其层次结构:
bin/ # Binary outputs (generated) build/ # Intermediate build artifacts (generated) docs/ # Documentation sources + manual/ # User manual sources examples/ # Examples of use and sample apps external/ # Third-party external dependencies (git submodules) libs/ # Source code for the individual libraries tests/ # Source code for feature tests tools/ # Utility scripts + build/ # Build scripts for the various platforms + android/ # Android Studio project to build libmrwebrtc.so + libwebrtc/ # Android build scripts for Google's WebRTC library + mrwebrtc/ # Windows build tools to build mrwebrtc.dll + ci/ # CI Azure pipelines
Microsoft.MixedReality.WebRTC.sln (Visual Studio 2019解决方案) 位于存储库根目录包含多个项目:
注意-目前由于CI限制,一些项目降级为VS 2017,因为 master 和 release/1.0 分支所基于的Google M71里程碑不支持VS 2019,并且Azure DevOps CI代理不支持同一代理上的多个Visual Studio版本。最终将恢复为VS 2019(见#14)。
请参阅用户手册中的 Building from sources 部分。
当前版本是包含已知问题的公共预览:
另外,WebRTC核心实现的调试配置在大多数设备上都会出现一些性能问题,包括一些高端PC。使用WebRTC核心实现的发布配置通常可以防止这种情况,在不调试时强烈建议使用此配置。
该项目采用了微软开源行为准则(Microsoft Open Source Code of Conduct)。有关更多信息,请参阅行为准则常见问题(Code of Conduct FAQ)解答或联系opencode@microsoft.com有任何其他问题或评论。
MixedReality-WebRTC基于Google提供的WebRTC实现。与此实现相关的安全问题和错误应报告给谷歌。
与MixedReality-WebRTC本身或WebRTC UWP SDK相关的安全问题和错误应通过电子邮件私下报告给Microsoft安全响应中心(MSRC)secure@microsoft.com。您应该在24小时内收到回复。如果由于某些原因您没有收到,请通过电子邮件跟进,以确保我们收到您的原始消息。更多信息,包括MSRC PGP密钥,可在Security TechCenter中找到。
【Window】->【Package Manager】->点击“+”号->选择Add package from tarball...->找到下载好的*.tgz包
找到下载好的 tgz 包
安装完成后,可在 In Project 选项下查看
测试 (PC与笔记本联合测试)
更多参考资料
WebRTC中文官网
[GitHub] WebRTC-UWP
[Nuget] WebRTC-UWP
ORTC Lib
WebRTC-universal-samples
ChatterBox-Sample
[Unity插件] 3D WebView
[GitHub]
UnityRenderStreaming
[Unity插件]
Holo Video Chat
[GitHub] WebRTC流媒体服务器(coturn)