关于在Hololens上使用微软的MixedReality-WebRTC实现音视频通话教程

一、开始前说一下,在制作这个Demo过程中面临了无数坑、碰壁,为了后来者更快上手,写这篇blog,中间可能会有别的问题,暂时没记录到,后面遇到再说,这篇文章主要讲怎么把mrwebrtc用在hololens上,我使用的是hololens2(unity开发),所以直接选择的ARM框架打包。

二、正式开始。

1.首先需要下载MixedReality-WebRTC的库文件,链接:https://github.com/microsoft/MixedReality-WebRTC

注意:下载时下载两个文件,一个库文件

com.microsoft.mixedreality.webrtc-2.0.1.tgz

一个示例文件

com.microsoft.mixedreality.webrtc.samples-2.0.1.tgz

然后需要下载示例中使用的nodedss服务器,链接:https://github.com/bengreenier/node-dss

 csdn下载地址

注意:我当时下完这个是懵的,不知道是干嘛的,我们需要先下载nodejs(https://nodejs.org/en/),安装完nodejs后,在我们的cmd中cd到我们保存nodedss服务器的位置

cmd
cmd定位到nodedss
磁盘位置
nodedss在磁盘的位置

然后在控制台输入

set DEBUG=dss*
npm install
npm start等到npm服务安装完成后就开始运行了,运行成功的标志是
运行成功
运行成功

至此,我们的服务器就完成了。现在进入unity阶段,在unity的packagemanager中添加package,选择使用本地添加,分别选择我们下载的MixedReality-WebRTC下的package.json和MixedReality-WebRTC samples下的package.json,加载进项目。之后可以看到项目中packages文件夹下有了MixedReality-WebRTCMixedReality-WebRTC Samples两个文件夹,打开samples下的VideoChatDemo场景,运行一下就可以看到服务器开始刷新消息,表示连接成功。

然后,我们想要把当前的项目打包到hololens,首先切换UWP平台,

Unity工程 Player Setting 需要注意的设置

 1.Other Settings :关闭Graphics Jobs选项,没有关闭的话,有些Unity版本导出来的项目,运行会报错

 2. Publishing Settings:在Capabilbilities里,检查确保打开了HoloLens2的相机还有麦克风支持,否在WebRTC插件在设备上运行时无法正确初始化

3. Supported Device Families:勾选Holographic(这部分解决方案是https://blog.csdn.net/lwsas1/article/details/108532642 这位网友提供的,感谢!)

,导入MRTK,添加MRTK进场景,在打包时要注意,不要使用unity的打包工具,使用MRTK的打包工具,打包成VS解决方案,打开打包后的VS解决方案,选择Release+ARM开始打包,基本就成功了。注意:要用MRTK的打包工具,使用unity打包工具会造成打包到hololens上后闪退。

MixedReality-WebRTC是一个用于在Unity实现实时通信的开源项目。根据引用\[1\],在Unity使用MixedReality-WebRTC需要在Unity的packagemanager中添加两个package,分别是MixedReality-WebRTCMixedReality-WebRTCSamples。添加完成后,可以在项目的packages文件夹下找到这两个文件夹。接下来,可以打开MixedReality-WebRTCSamples中的VideoChatDemo场景,并运行项目,这样就可以看到服务器开始刷新消息,表示连接成功。 根据引用\[2\],在MixedReality-WebRTC的PeerConnection.cs脚本中,可以通过创建TransceiverInitSettings类来设置一些属性。其中,可以通过设置StreamIDs属性来指定流的UUID字符串。例如,可以使用以下代码创建TransceiverInitSettings对象: ``` var settings = new TransceiverInitSettings { Name = $"mrsw#{index}", InitialDesiredDirection = wantsDir, StreamIDs = new List<string>() { "86181edf-1c7a-4f5d-ba0d-80021fcf7036" } }; tr = _nativePeer.AddTransceiver(mediaLine.MediaKind, settings); ``` 这样就可以在创建Transceiver时设置流的ID。 至于引用\[3\]中的内容,它是浏览器回应的Answer的一部分,包含了一些关于视频和音频的配置信息,如传输协议、媒体流ID等。 总结起来,MixedReality-WebRTC是一个用于在Unity实现实时通信的开源项目,可以通过添加package和设置TransceiverInitSettings来配置和使用它。 #### 引用[.reference_title] - *1* [关于在Hololens使用微软MixedReality-WebRTC实现音视频通话教程](https://blog.csdn.net/qq_42419143/article/details/108771003)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [HoloLens2开发笔记-实现HoloLens2与Web浏览器实时视频流通信(MixedReality-WebRTC)](https://blog.csdn.net/Apple_Coco/article/details/115434071)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 68
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都的放牛娃

如果对你有帮助,已开通打赏服务

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值