Hololens2远程音视频通话与AR远程空间标注,基于OpenXR+MRTK3+WebRTC实现

Hololens2远程音视频通话与AR远程空间标注

使用Unity2021.3.21版本开发,基于OpenXR+MRTK3.0+WebRTC实现。

(1)通过视频获取视频帧的矩阵的方法可以参考:https://learn.microsoft.com/zh-cn/windows/mixed-reality/develop/advanced-concepts/locatable-camera-overview

复制代码
 通过MediaCapture类可以进行MR视频捕捉,当然也可以通过微软的第三方插件进行捕捉视频。通过改视频获取到视频帧对应的矩阵即可。

(2)视频坐标到空间坐标,根据(1)里面的视频帧对应的矩阵就可以了将视频上面的坐标转换到空间Hololens空间中

下面展示一些 内联代码片

复制代码
                /// <summary>
    /// 将屏幕上的坐标转换到世界坐标(将视频上的坐标转换成0到1的坐标,坐标原点为视频左下角,即为相对MR捕捉相机的屏幕坐标)
    /// </summary>
    /// <param name="x">(0~1)</param>
    /// <param name="y">(0~1)</param>
    /// <returns></returns>
    public Vector3 ScreenPointToWorldPoint(float x, float y)
    {

        Vector4 clipPos = Vector4.zero;

        clipPos.x = 2 * x  - 1;
        clipPos.y = 2 * y- 1;
        clipPos.z = -0;


        Vector3 cameraPosinv =cam.projectionMatrix.inverse.MultiplyPoint(clipPos);
      

        return cam.cameraToWorldMatrix.MultiplyPoint(cameraPosinv);
    }

## 

(3)附上一些学习视频:

复制代码
视频一:https://www.bilibili.com/cheese/play/ss16358
视频二:https://www.bilibili.com/video/BV12J4m1j7XS/
相关推荐
Fisher3Star8 小时前
mediasoup Transport详解与代码实现
webrtc
Prannt19 小时前
星朗智能语音——语音合成——上传文件配音
ai·音视频·语音识别
byte轻骑兵19 小时前
【AVRCP】规范精讲[7]: 打通AVCTP互操作底层,吃透事务标签与分片规则
人工智能·音视频·avrcp·音视频控制
EasyGBS20 小时前
国标GB28181视频平台EasyGBS即将重磅新增WHIP推流功能!低延迟直播体验再升级
音视频
Fisher3Star21 小时前
mediasoup中Node.js与Worker进程通信机制
网络·webrtc
jiejiejiejie_1 天前
Flutter for OpenHarmony 萌系实战合集:地图功能 + 音频播放一站式指南
flutter·音视频
想你依然心痛1 天前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与Face AR的“心流空间“——PC端沉浸式心理疗愈与正念冥想平台
华为·ar·harmonyos·悬浮导航·沉浸光感
jbk33111 天前
10分钟翻译一条视频,实现语音、字幕翻译后与画面同步对齐,视频翻译助手使用教程
人工智能·音视频·剪辑软件·剪映自动化软件
想你依然心痛1 天前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与AR双引擎的“量子实验室“——PC端沉浸式科学实验与虚拟仿真平台
华为·ar·harmonyos·悬浮导航·沉浸光感
带娃的IT创业者1 天前
DaVinci Resolve – Photo:当视频调色之王,跨界“修图”,意味着什么?
图像处理·音视频·工作流·davinci resolve·后期制作·视频调色·色彩管理