windows下volumetric video conference环境搭建

news/2024/9/21 22:58:24

最近在做volumetric video的rtc,在此记录下相关内容方便之后复习。所采用的end to end平台来自于mmsys'24的 Scalable MDC-Based Volumetric Video Delivery for Real-Time One-to-Many WebRTC Conferencing. 源码地址:https://github.com/MatthiasDeFre/webrtc-pc-streaming 论文相关内容不在此处再加赘述,本文只关注部署部分。

根据作者所述 Currently only Windows is supported as a full end-to-end architecture due to the lacking virtual reality support from Unity for Linux-based operating systems. 所以稳妥起见,还是将该系统部署在win11上。整体部署结构分为安装git,拉取代码,安装依赖,编译运行四大部分。

由于之前并没有在win上使用过git,所以需要现在win系统上安装git,直接在git官网下载安装即可https://git-scm.com/downloads,选择windows版本。事实上在后续使用中git submodule init [submodule的文件夹的相对路径] 和git submodule update [submodule的文件夹的相对路径]一直连不上,所以最终还是下载压缩包解压缩。(https://cloud.tencent.com/developer/article/2136829,一些git submodule相关基础)

拉取代码正如之前所说,进入每个子项目(webrtc-pc-client等)下载压缩包解压缩到主文件夹webrtc-pc-streaming内。按照github上的structure组织文件。

接下来到了安装依赖的环节。对于这一部分我们需要安装vcpkg和golang 1.21+(我下载了当前的最新版本1.22.3,因为当时下载没注意到版本要求,还好没出问题)。vcpkg用于下载一些需要的库,比如draco用于数据压缩,realsense(depth camera,录像)的驱动等。vcpkg下载参考https://blog.csdn.net/qq_42688495/article/details/125333589。(记得设置添加到环境变量) 对于golang下载,下载网站https://go.dev/learn/,直接下载即可,会自动添加到环境变量。如果没有的话可以手动配置。除此之外,在运行时会利用go语言下载安装pion(一款利用go语言开发webrtc的系统,提供一系列api)等库,所以需要设置下载源,不然会一直连接失败,go env -w GOPROXY=https://goproxy.cn在power shell下执行可直接换源(https://blog.csdn.net/qq_43750358/article/details/131226959)

由于今天刚接触go语言还不是很熟悉,所以对于go.mod等不是很敏感,没有对这些进行单独操作,后面关注到的时候已经编译完且能在本地回环上通信了,猜测可能关系不大,贴一个相关帖子有时间去看一看https://blog.csdn.net/weixin_41519463/article/details/103501485

之后我们进入webrtc-pc-server,这里的server指视频源发送方,在该文件夹下直接利用power shell 运行go build。生成goweb.exe,之后在webrtc-pc-client下执行同样操作。

运行时我们先启动server端的goweb.exe .\goweb.exe -d C:\Users\Administrator\Desktop\content_madfr\content_madfr后面的文件地址为存放frame的地址,这一操作可以让我们避免使用depth camera,直接利用项目作者提供的frame即可https://drive.google.com/file/d/1yYDy3GVNkUxuNm5Qfs_-1BTZ6MbLrm7Y/view?usp=sharing,上面是作者提供的下载地址,在webrtc-pc-server的readme中可以找到。之后启动client端的goweb.exe文件,两端开始通信。以下是运行截图
server端
client端

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/31580.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

mysql+node.js前后端交互(简单实现注册登录功能)

目录 sql文件 user.js 注册部分 登录部分 对应的表操作 usersql.jsresult.js 用户提交的信息会进行格式化

Linux错误:-bash: Su: command not found

问题:使用 su 命令出错:-bash: Su: command not found解决: 先查看/etc/sudoers.d 文件是否存在find /etc/sudoers.d说明系统已经安装了 sudo,只不过没有配置环境。解决一:使用vi 或 vim 以下命令打开/etc/sudoers文件。vim /etc/sudoers esc --> :wq 保存退出。

【django学习-23】分页功能

前言:当列表界面数据量大的时候,我们一般就要用到分页功能。 下面是已经封装好的组件,使用方法1.分页组件""" 自定义的分页组件,以后如果想要使用这个分页组件,你需要做如下几件事:在视图函数中:def pretty_list(request):# 1.根据自己的情况去筛选自己的…

常见的排序算法——归并排序(三)

本文记述了归并排序的 3 项改进和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 本文实现了《算法(第4版)》书中提到的 3 项改进,对小规模子数组使用插入排序。减少在小规模数组中的递归调用能改进整个算法。 测试数组是否已经有序。任意有序的子…

团队作业4.7——Scrum Day 7(2024.5.13)

Scrum冲刺博客集合Scrum冲刺博客 链接第1篇Scrum冲刺博客 https://www.cnblogs.com/Shangrila12581/p/18181060第2篇Scrum冲刺博客 https://www.cnblogs.com/Shangrila12581/p/18181084第3篇Scrum冲刺博客 https://www.cnblogs.com/Shangrila12581/p/18182774第4篇Scrum冲刺博客…

u-boot网络移植

使用的板子为正点原子的开发板,移植官方当前最新的u-boot修改网口配置信息 主要修改设备树的信息,设备树位于:arch/arm/dts/imx6ul-14x14-evk.dtsi 硬件电路图修改fec2信息 未修改前的信息如下:修改网口1器件的ID信息,网口1使用的ID是0&fec2 {pinctrl-names = "d…

C#循环体特点

C#循环体特点 while 先判断条件,后执行循环体每次执行,均需先验证条件,比如读取每一行数据前检查是否有数据 do...while 先执行1次循环体,再判断条件,第一次执行无需验证条件,比如输入密码,若错误则重新输入 for 与循环次数有关的元素都放在(::)里面,已知循环次数,…

【Azure Contianer Apps】在云上使用容器应用时收集日志遇见延迟问题

问题描述 把应用部署到Azure Container Apps(容器应用),可以在Container App Environemnt级别设置诊断日志,把日志收集到Event Hub / Log Analystic Workspace / Storage Account中。 虽然,这样能把日志导出到目标源中。但在检查日志时候,发现延迟很大,通常要等待7-10分钟…