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/
相关推荐
JS-s1 天前
Week 1:多媒体处理链路总览
音视频
知南x1 天前
【STM32MP157 视频监控项目】(2) 移植 Nginx
stm32·nginx·音视频
却道天凉_好个秋2 天前
音视频学习(八十四):视频压缩:MPEG 1、MPEG 2和MPEG 4
学习·音视频
却道天凉_好个秋2 天前
音视频学习(八十三):视频压缩:MJPEG技术
学习·音视频·mjpeg·视频压缩
qianbo_insist2 天前
基于图像尺寸的相机内参拼接视频
数码相机·音视频·拼接
水中加点糖2 天前
RagFlow实现多模态搜索(文、图、视频)与(关键字/相似度)搜索原理(二)
python·ai·音视频·knn·ragflow·多模态搜索·相似度搜索
却道天凉_好个秋2 天前
音视频学习(八十二):mp4v
学习·音视频·mp4v
winfredzhang2 天前
从零构建:基于 Node.js 的全栈视频资料管理系统开发实录
css·node.js·html·音视频·js·收藏,搜索,缩略图
行业探路者2 天前
二维码标签是什么?主要有线上生成二维码和文件生成二维码功能吗?
学习·音视频·语音识别·二维码·设备巡检
Android系统攻城狮2 天前
Android16音频之获取Record状态AudioRecord.getState:用法实例(一百七十七)
音视频·android16·音频进阶