MixedReality-WebRTC
作者:追风剑情 发布于:2022-10-18 11:03 分类:Unity3d
获取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应用程序,包括如何呈现本地和远程视频。
API 参考
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解决方案) 位于存储库根目录包含多个项目:
-
native C/C++ library mrwebrtc,可以编译:
- for Windows Desktop with the mrwebrtc-win32 project
- for UWP with the mrwebrtc-uwp project
- A C/C++ library unit tests project mrwebrtc-win32-tests
- The C# library project Microsoft.MixedReality.WebRTC
- A C# unit tests project Microsoft.MixedReality.WebRTC.Tests
- 一个 UWP C# 示例应用程序项目 Microsoft.MixedReality.WebRTC.TestAppUWP。基于WPF和XAML的一个简单的视频聊天应用程序演示音频/视频/数据通信。
注意-目前由于CI限制,一些项目降级为VS 2017,因为 master 和 release/1.0 分支所基于的Google M71里程碑不支持VS 2019,并且Azure DevOps CI代理不支持同一代理上的多个Visual Studio版本。最终将恢复为VS 2019(见#14)。
构建 MixedReality-WebRTC
请参阅用户手册中的 Building from sources 部分。
Hololens 2 的特殊注意事项
- Mixed Reality Capture(MRC)有一些固有的限制:
- MRC最多只能工作1080p(请参阅 Mixed reality capture for developers 文档 ),但HoloLens 2上网络摄像头的默认分辨率为2272 x 1278(请参阅 Locatable Camera 文档)。为了访问不同的分辨率,需要使用不同的视频配置文件(video profile),如视频录制(VideoRecording)或视频会议(VideoConferencing)。如果 WebcamSrouce.FormatMode=Automatic (default),这将在Unity集成层(参见此处)中自动处理。但如果直接使用C#库,则必须手动处理。
-
MRC需要特殊权限才能记录屏幕内容:
- 对于共享应用程序(2D slates),这对应于 screenDuplication 受限功能(restricted capability),第三方应用程序无法获得该功能。简而言之,MRC不适用于共享应用程序。这是操作系统限制。
- 对于独占模式应用程序(全屏),没有特定的UWP功能,但录制的内容仅限于应用程序自己的内容。
- 确保使用 PreferredVideoCodec=“H264” 以利用设备上的硬件编码器;使用例如VP8或VP9编解码器的软件编码非常占用CPU,强烈建议不要使用。
已知问题
当前版本是包含已知问题的公共预览:
- 默认情况下,WebRTC UWP实现以独占模式访问系统上的视频捕获设备(video capture)。如果另一个应用程序正在使用该设备,这将在启用视频捕获时导致错误。
- WebRTC m71/WebRTC UWP SDK 不支持 ARM64内部版本(ARM64 build)
- WebRTC m71/WebRTC UWP SDK 不支持 H.265
- 由于WebRTC UWP SDK在ARM上缺少对SIMD加速YUV转换的支持(#157),HoloLens 2表现出一些较小的性能损失。
- H.264硬件视频编码(仅限UWP)显示出一些质量下降(blockiness)。详情见#74和#153。
- H.264目前在桌面上根本不可用(甚至在软件中)。只有VP8和VP9可用(软件编码/解码)。
- C++ library Microsoft.MixedReality.WebRTC.Native 的 NuGet packages(v1.x)包含来自Google存储库的一些WebRTC头文件,这些头文件不随任何NuGet软件包一起提供,而是需要克隆此存储库及其依赖项(请参阅#123)。
另外,WebRTC核心实现的调试配置在大多数设备上都会出现一些性能问题,包括一些高端PC。使用WebRTC核心实现的发布配置通常可以防止这种情况,在不调试时强烈建议使用此配置。
Microsoft开源行为准则
该项目采用了微软开源行为准则(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中找到。
Unity安装MixedReality-WebRTC
【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)
标签: Unity3d
日历
最新文章
随机文章
热门文章
分类
存档
- 2024年11月(3)
- 2024年10月(5)
- 2024年9月(3)
- 2024年8月(3)
- 2024年7月(11)
- 2024年6月(3)
- 2024年5月(9)
- 2024年4月(10)
- 2024年3月(11)
- 2024年2月(24)
- 2024年1月(12)
- 2023年12月(3)
- 2023年11月(9)
- 2023年10月(7)
- 2023年9月(2)
- 2023年8月(7)
- 2023年7月(9)
- 2023年6月(6)
- 2023年5月(7)
- 2023年4月(11)
- 2023年3月(6)
- 2023年2月(11)
- 2023年1月(8)
- 2022年12月(2)
- 2022年11月(4)
- 2022年10月(10)
- 2022年9月(2)
- 2022年8月(13)
- 2022年7月(7)
- 2022年6月(11)
- 2022年5月(18)
- 2022年4月(29)
- 2022年3月(5)
- 2022年2月(6)
- 2022年1月(8)
- 2021年12月(5)
- 2021年11月(3)
- 2021年10月(4)
- 2021年9月(9)
- 2021年8月(14)
- 2021年7月(8)
- 2021年6月(5)
- 2021年5月(2)
- 2021年4月(3)
- 2021年3月(7)
- 2021年2月(2)
- 2021年1月(8)
- 2020年12月(7)
- 2020年11月(2)
- 2020年10月(6)
- 2020年9月(9)
- 2020年8月(10)
- 2020年7月(9)
- 2020年6月(18)
- 2020年5月(4)
- 2020年4月(25)
- 2020年3月(38)
- 2020年1月(21)
- 2019年12月(13)
- 2019年11月(29)
- 2019年10月(44)
- 2019年9月(17)
- 2019年8月(18)
- 2019年7月(25)
- 2019年6月(25)
- 2019年5月(17)
- 2019年4月(10)
- 2019年3月(36)
- 2019年2月(35)
- 2019年1月(28)
- 2018年12月(30)
- 2018年11月(22)
- 2018年10月(4)
- 2018年9月(7)
- 2018年8月(13)
- 2018年7月(13)
- 2018年6月(6)
- 2018年5月(5)
- 2018年4月(13)
- 2018年3月(5)
- 2018年2月(3)
- 2018年1月(8)
- 2017年12月(35)
- 2017年11月(17)
- 2017年10月(16)
- 2017年9月(17)
- 2017年8月(20)
- 2017年7月(34)
- 2017年6月(17)
- 2017年5月(15)
- 2017年4月(32)
- 2017年3月(8)
- 2017年2月(2)
- 2017年1月(5)
- 2016年12月(14)
- 2016年11月(26)
- 2016年10月(12)
- 2016年9月(25)
- 2016年8月(32)
- 2016年7月(14)
- 2016年6月(21)
- 2016年5月(17)
- 2016年4月(13)
- 2016年3月(8)
- 2016年2月(8)
- 2016年1月(18)
- 2015年12月(13)
- 2015年11月(15)
- 2015年10月(12)
- 2015年9月(18)
- 2015年8月(21)
- 2015年7月(35)
- 2015年6月(13)
- 2015年5月(9)
- 2015年4月(4)
- 2015年3月(5)
- 2015年2月(4)
- 2015年1月(13)
- 2014年12月(7)
- 2014年11月(5)
- 2014年10月(4)
- 2014年9月(8)
- 2014年8月(16)
- 2014年7月(26)
- 2014年6月(22)
- 2014年5月(28)
- 2014年4月(15)
友情链接
- Unity官网
- Unity圣典
- Unity在线手册
- Unity中文手册(圣典)
- Unity官方中文论坛
- Unity游戏蛮牛用户文档
- Unity下载存档
- Unity引擎源码下载
- Unity服务
- Unity Ads
- wiki.unity3d
- Visual Studio Code官网
- SenseAR开发文档
- MSDN
- C# 参考
- C# 编程指南
- .NET Framework类库
- .NET 文档
- .NET 开发
- WPF官方文档
- uLua
- xLua
- SharpZipLib
- Protobuf-net
- Protobuf.js
- OpenSSL
- OPEN CASCADE
- JSON
- MessagePack
- C在线工具
- 游戏蛮牛
- GreenVPN
- 聚合数据
- 热云
- 融云
- 腾讯云
- 腾讯开放平台
- 腾讯游戏服务
- 腾讯游戏开发者平台
- 腾讯课堂
- 微信开放平台
- 腾讯实时音视频
- 腾讯即时通信IM
- 微信公众平台技术文档
- 白鹭引擎官网
- 白鹭引擎开放平台
- 白鹭引擎开发文档
- FairyGUI编辑器
- PureMVC-TypeScript
- 讯飞开放平台
- 亲加通讯云
- Cygwin
- Mono开发者联盟
- Scut游戏服务器引擎
- KBEngine游戏服务器引擎
- Photon游戏服务器引擎
- 码云
- SharpSvn
- 腾讯bugly
- 4399原创平台
- 开源中国
- Firebase
- Firebase-Admob-Unity
- google-services-unity
- Firebase SDK for Unity
- Google-Firebase-SDK
- AppsFlyer SDK
- android-repository
- CQASO
- Facebook开发者平台
- gradle下载
- GradleBuildTool下载
- Android Developers
- Google中国开发者
- AndroidDevTools
- Android社区
- Android开发工具
- Google Play Games Services
- Google商店
- Google APIs for Android
- 金钱豹VPN
- TouchSense SDK
- MakeHuman
- Online RSA Key Converter
- Windows UWP应用
- Visual Studio For Unity
- Open CASCADE Technology
- 慕课网
- 阿里云服务器ECS
- 在线免费文字转语音系统
- AI Studio
- 网云穿
- 百度网盘开放平台
- 迅捷画图
- 菜鸟工具
- [CSDN] 程序员研修院
- 华为人脸识别
- 百度AR导航导览SDK
- 海康威视官网
- 海康开放平台
- 海康SDK下载
- git download
交流QQ群
-
Flash游戏设计: 86184192
Unity游戏设计: 171855449
游戏设计订阅号