这个小项目是公司要求的,开发大佬找到的资源,让小弟搭建一下子。第一次体验VR视频效果,感觉很好。

下面将搭建过程简单写出来,有需求的可以参考下。

一.乌班图平台搭建

按照centos7的习惯搞了一下乌班图,之前没怎么用过

.安装虚拟机
这个过程不必描述了,网上一大堆
.修改root密码,能够切换到最大权限操作.以下都在root用户操作
sudu passwd root
.配置网络
vim /etc/network/interfaces auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
address 10.0.0.133
netmask 255.255.255.0
gateway 10.0.0.2
此处有一个/etc/init.d/network-manager需要注意,这个东西我一般是直接关闭的。 .更换阿里云源
阿里云源地址:https://opsx.alibaba.com/mirror
先备份后修改/etc/apt/sources.list的配置。删除原来的内容,后复制进去
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
.安装vim软件,配置ssh服务
apt install vim -y
apt install openssh-server -y
修改/etc/ssh/sshd_config
# PermitRootLogin prohibit-password
PermitRootLogin yes # 允许root登陆
service ssh restart
6.其他的简单操作不再叙述,修改主机名,防火墙啥乱七八糟的。至此可以实现远程连接就可以了

二.Kurento服务安装

.Kurento安装
官网地址:https://doc-kurento.readthedocs.io/en/6.10.0/
6.1 确保已安装GnuPG:
sudo apt-get update && sudo apt-get install --no-install-recommends --yes gnupg
6.2 定义系统中安装的Ubuntu版本。只运行其中一行:
# Run ONLY ONE of these lines:
DISTRO="xenial" # KMS for Ubuntu 16.04 (Xenial)
DISTRO="bionic" # KMS for Ubuntu 18.04 (Bionic)
.3将Kurento存储库添加到系统配置中。在上一步中使用的同一终端中运行这两个命令:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5AFA7A83
sudo tee "/etc/apt/sources.list.d/kurento.list" >/dev/null <<EOF
# Kurento Media Server - Release packages
deb [arch=amd64] http://ubuntu.openvidu.io/6.10.0 $DISTRO kms6
EOF
.4安装KMS
sudo apt-get update && sudo apt-get install --yes kurento-media-server
这里我遇到了一个问题,如下:解决办法,在乌班图图形界面打开重要更新,和推荐跟新,去掉问题源。
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
6.5 启动,关闭服务
sudo service kurento-media-server start
sudo service kurento-media-server stop
日志在此处:/var/log/kurento-media-server .STUN和TURN服务器
7.1 STUN服务器:
取消注释WebRtcEndpoint配置文件中的以下行/etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini:
这里有多个免费IP和Port可供选择:https://doc-kurento.readthedocs.io/en/6.10.0/user/installation.html#check-your-installation
stunServerAddress=<serverIp>
stunServerPort=<serverPort>
7.2 TURN服务器,免费TURN/STUN服务器
取消注释/etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini:
turnURL=user:password@66.228.45.110:

三.安装kurento-one2many-call+videojs-panorama

官网:https://doc-kurento.readthedocs.io/en/stable/tutorials/node/tutorial-helloworld.html
安装Node.js和Bower
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g bower
安装kurento-one2many-call
git clone https://github.com/Kurento/kurento-tutorial-node.git
cd kurento-tutorial-node/kurento-hello-world
git checkout 6.10.
npm install
npm start
kurento-one2many-call这个包我们是开发经过二次开发修改给我的,能够直接启动
安装videojs-panorama
官网:https://github.com/yanwsh/videojs-panorama
npm install --save videojs-panorama 在解压包下面启动服务:
npm start -- --ws_uri=ws://192.168.10.178:8888/kurento #这里是主机IP,端口号是kurento的端口号 npm报错
https://blog.csdn.net/peyogoat/article/details/71081914

4.整合nginx转发服务

此服务在浏览器必须带证书才能访问

以下是简单的配置,未经过优化。域名需要在网站上能够解析

server{
listen ;
server_name www.libra.wang; # 域名 return https://$host$request_uri;
} server {
listen ;
server_name www.libra.wang; #域名
ssl on;
ssl_certificate /etc/nginx/test.pem; #密钥路径
ssl_certificate_key /etc/nginx/test.key; #证书路径
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1. TLSv1.;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on; location / {
# root /var/www/html; # index文件路径
# index index.html index.htm;
proxy_redirect off;
proxy_connect_timeout 60s;
proxy_read_timeout 86400s;
proxy_send_timeout 60s;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://192.168.43.239:8443;
} error_page https://$host$request_uri;
}

5.win10配置理光 thera驱动

官网:https://topics.theta360.com/ct/faq/c_06_v/304_1/,直接下载安装这个摄像头驱动

win10连接理光 thera全景摄像机,t同时调节到直播模式

6.打开浏览器观看(务必使用firefox火狐浏览器)

此处开发修改了kurento-one2many-call的index.html页面为中文,去掉了其他多余的东西。

直播共享摄像头选择 RICOH THETA V FullHD 或者下面那个4K都可以。点击直播

在VR眼睛里面打开相同的网页,点击观看,即可享受VR直播。

乌班图平台kurento +kurento-one2many-call+videojs-panorama+RICOH THETA实现VR直播的更多相关文章

  1. VMware workstation 虚拟机中安装乌班图及其兼容性问题

    之前我在虚拟机中安装乌班图,是先安装好虚拟机,然后将预先下载好的乌班图镜像文件导入安装,这样安装起来还是有些繁琐的,中间要设置好多东西.今天领导给我拷了个虚拟机,还有乌班图的安装文件,是这样的. 对于 ...

  2. linux(乌班图)修改apt下载源

    有时候会出现乌班图系统刚安装,无法使用apt下载安装软件工具,此时需要修改apt下载源. 1.进入/etc/apt/目录下  2.备份sources.list文件(如果不在root用户下,需在前面加s ...

  3. linux 乌班图 安装pycharm

    1.通过vmware安装ubuntu系统2.安装完成后,登录ubuntu,通过普通用户 s14登录,密码redhat3.下载pycharm到ubuntu系统中 -可以通过python -m http. ...

  4. 使用u盘重装双系统中的乌班图

    之前的乌班图被我玩坏了,故而想重装一个.由于之前的双系统是同学帮我装的,我便到网上找各种资料,鼓弄了一天,终于完事了.把过程记录一下. window10 64bit ubuntu 14.04 desk ...

  5. 杂项(乌班图、flex的使用实例)

    查看乌班图当前系统版本:lsb_release -a 转载于博客园:flex的使用实例

  6. CentOS、乌班图设置固定静态IP

    CentOS.乌班图设置固定静态IP 一.centOS 1.编辑 ifcfg-eth0 文件 # vim /etc/sysconfig/network-scripts/ifcfg-eth0 2,在文件 ...

  7. 乌班图下fluent开启并行报错的解决方法

    参考链接: CFD-online原帖:http://www.cfd-online.com/Forums/fluent/149668-fluent-16-0-0-ubuntu-12-04-a.html ...

  8. 乌班图18.04 LTS 版LAMP环境配置记录

    -- 2018.06.07 -- liujunhang lamp 环境包括:Apache服务器.php.Mysql数据库,linux服务器架构在虚拟机中.Tip:在进行环境配置之前最好进行镜像存储.1 ...

  9. 乌班图16 配置nginx

    阿里云 乌班图16 安装ngnix sudo apt install nginx nginx 启动 重启 关闭 sudo service nginx start restart stop status ...

随机推荐

  1. textCNN原理

    一.TextCnn的结构 1. 嵌入层(embedding layer) textcnn使用预先训练好的词向量作embedding layer.对于数据集里的所有词,因为每个词都可以表征成一个向量,因 ...

  2. 使Python走向Effective系列目录

    Effective以一词,并不单单局限于执行速度层面的高效率,同时有着令代码易于阅读.易于测试且易于维护等意思,此外,它还蕴藏着易于扩展.易于修改和易于多人协作等更为高阶的理念.如果能够通过一些具体的 ...

  3. 一封来自恶魔的挑战邀请函,那些你见过或者没见过的C语言指针都在这里了

    前言 相信大多数的同学都是第一门能接触到语言是C/C++,其中的指针也是比较让人头疼的部分了,因为光是指针都能专门出一本叫<C和指针>的书籍,足见指针的强大.但如果不慎误用指针,这些指针很 ...

  4. showdoc 文档管理系统

    ==========================showdoc 简介==========================在线文档管理系统很多, 比如阿里的语雀.腾讯的 TAPD 平台也包括文档管理 ...

  5. mongodb增加新字段报错解决方法

    今天想在项目的一个集合里增加一个新字段 db.article.update({},{$set:{status:0}},{multi:true}) multi : 可选,mongodb 默认是false ...

  6. Debian Security Advisory DSA-4419-1 twig security update

    Package        : twigCVE ID         : CVE-2019-9942 Fabien Potencier discovered that twig, a templat ...

  7. 开启IIS的WebGarden、WebFarm和StateServer之旅

    前言 公司系统虽然配置有1台NLB后拖4台App Server最后搭一台强劲无比的DB Server,但每天下午4点左右总被投诉系统慢,报表下载不了等问题.究其原因,原来NLB采用锁定sessionI ...

  8. C# Dictionary 泛型

    Dictionary<string, string>是一个泛型,什么是泛型? 使用泛型下面是用泛型来重写上面的栈,用一个通用的数据类型T来作为一个占位符,等待在实例化时用一个实际的类型来代 ...

  9. 读spring源码(一)-ClassPathXmlApplicationContext-初始化

    工作来几乎所有的项目都用到了spring,却一直没有系统的读下源码,从头开始系统的读下吧,分章也不那么明确,读到哪里记到哪里,仅仅作为个笔记吧. 先看ClassPathXmlApplicationCo ...

  10. Revit二次开发封装族的替代方法

    使用草图平面: