Docker环境安装OWT Server[Open WebRTC Toolkit]

news2024/10/3 2:26:03

Docker环境安装OWT Server[Open WebRTC Toolkit]


目录

  1. Docker环境安装OWT Server
  2. Docker自定义开发OWT Server

wiki(照着操作会有不注意的坑):An easy way to quickly evaluate OWT with Docker image

相关文章:

  1. Ubuntu环境安装OWT Server[Open WebRTC Toolkit]
  2. Docker环境安装OWT Server[Open WebRTC Toolkit]
  3. OWT Server整体架构分析 [Open WebRTC Toolkit]
  4. OWT Server信令分析 (上) [Open WebRTC Toolkit]
  5. OWT Server信令分析 (下) [Open WebRTC Toolkit]
  6. OWT Server进程结构和JS代码处理流程 [Open WebRTC Toolkit]
  7. OWT Server REST API

1. Docker环境下安装OWT Server

  1. 下面是5个基于5.0版本的OWT docker镜像,包括4个已经安装好的运行环境镜像和1个安装了依赖包的镜像。
OWT运行环境映像:
xeon-ubuntu1804-service-owt: OWT ubuntu 18.04 docker镜像,无硬件加速相关软件安装。
xeon-centos76-service-owt: OWT centos 7.6 docker镜像,不安装硬件加速相关软件。
xeone3-ubuntu1804-service-owt:自带硬件加速相关软件的OWT ubuntu 18.04 docker镜像。
xeone3-centos76-service-owt: OWT centos 7.6 docker镜像,安装硬件加速相关软件。
自带OWT源代码的OWT构建环境:
xeon-ubuntu1804-service-dev: OWT ubuntu 18.04 docker镜像,安装了构建OWT包所需的依赖项,包括OWT 5.0源代码。
  1. 示例:使用xeon-ubuntu1804-service-owt镜像来介绍如何快速安装OWT服务器。

1. Pull OWT docker image

  1. 使用以下命令下载OWT docker镜像:
docker pull openvisualcloud/xeon-ubuntu1804-service-owt

2. Run OWT Docker image

  1. 使用主机网络运行OWT docker镜像:
docker run -itd --name=owt --net=host openvisualcloud/xeon-ubuntu1804-service-owt bash
docker exec -it owt bash

cd /home
启动:./launch.sh
停止:./owt/bin/stop-all.sh      
  1. 注意:如果使用本地环境,直接启动即可,但如果是使用云服务器,需要配置公网ip,不然页面无法显示:
    1. 编辑 webrtc_agent/agent.toml:修改 [webrtc] 部分的 network_interfaces,添加 {name = “eth0”, replaced_ip_address = “公网ip”},需要把 name 设置为网卡实际名称(ifconfig可查看,一般为eth0,注意,不是docker那个网卡名称),replaced_ip_address 设置为服务器公网 IP 地址。
    2. 编辑 portal/portal.toml:修改 [portal] 部分里的 ip_address 为服务器公网 IP 地址。
  2. 启动后打开:https://serverip:3004?”Forward =true 来验证是否成功。
  3. 打开页面后需要手动允许OWT使用自签名证书。
    1. 系统如果是windows可以直接忽视继续访问,mac会报错:您的连接不是私密连接。
    2. mac报错解决办法:在界面直接键入"thisisunsafe",就会跳转到访问页面。
  4. 如果一切正常,就可以在页面中显式本地流,并在页面下方显式订阅的远程转发流。
  5. OWT示例网页将从internet下载jquery-3.2.1.min.js和socket.io.js文件,如果网络无法成功下载这两个文件,将在Chrome控制台打印以下错误:
index.js:52 Uncaught (in promise) ReferenceError: $ is not defined
    at createResolutionButtons (index.js:52)
    at subscribeAndRenderVideo (index.js:100)
    at index.js:194
createResolutionButtons @ index.js:52
subscribeAndRenderVideo @ index.js:100
(anonymous) @ index.js:194
Promise.then (async)
(anonymous) @ index.js:143
req.onreadystatechange @ rest-sample.js:12
XMLHttpRequest.send (async)
send @ rest-sample.js:19
createToken @ rest-sample.js:79
window.onload @ index.js:141
load (async)
runSocketIOSample @ index.js:134
(anonymous) @ (index):53
index.js:176 Uncaught (in promise) ReferenceError: $ is not defined
    at index.js:176
  1. 如果发生此错误(其他错误也可以试下执行下面操作,我遇到的就是其他错误然后通过如下步骤解决的),需要手动下载js文件并替换到docker镜像(docker路径需要事先创建:mkdir -p extras/basic_example/public/)
wget https://raw.githubusercontent.com/qwu16/jsfiles/master/jquery-3.2.1.min.js
wget https://raw.githubusercontent.com/qwu16/jsfiles/master/socket.io.js
wget https://raw.githubusercontent.com/qwu16/jsfiles/master/index.html
docker cp index.html owt:/home/owt/extras/basic_example/public/
docker cp socket.io.js owt:/home/owt/extras/basic_example/public/scripts/
docker cp jquery-3.2.1.min.js owt:/home/owt/extras/basic_example/public/scripts/
  1. 然后刷新即可。
  2. 效果图:
    在这里插入图片描述

2. Docker自定义开发OWT Server

  1. 如果需要基于OWT源码开发自己的特性,可以按照以下步骤进行开发:
docker pull openvisualcloud/xeon-ubuntu1804-service-dev
docker run -itd --net=host --name=owtbuild openvisualcloud/xeon-ubuntu1804-service-dev bash
docker exec -it owtbuild bash
cd /home/owt-server
####Modify your code
./scripts/build.js -t mcu -r -c
./scripts/pack.js -f -i -p ../owt-client-javascript/dist/samples/conference/
cd dist
./bin/init-all.sh
./bin/start-all.sh
  1. 然后就可以打开chrome测试修改的功能。
    1. 注:确保js文件可以按1.2所示下载。

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

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

相关文章

Emlog评论区显示用户操作系统与浏览器信息教程

近期有不少初入Emlog的站长来咨询Emlog程序的评论区域如何实现获取到评价用户的操作系统和浏览器信息,其实要实现该功能也很简单,而且网上也有不少类是的插件。今天,冬镜就和大家聊聊不用插件来实现获取评论用户操作系统与浏览器信息。改造前…

软件测试 -- 进阶 3 软件测试设计

我并没有什么方法,只是对于一件事情很长时间很热心地去考虑罢了。-- 牛顿 1. 设计是什么? 设计是有目标、有计划的创造和创作活动,按特定需求制定解决方案。设计指把头脑中的设想/想法通过合理的规划、周密的计划、有效的方式表达出来的过程…

【C#】生成WebAPI实现简单调用本地数据库

需求:通过C#生成WebAPI,供微信小程序调用以访问本地数据库(微信小程序部分下次再说,今天先记录一下C#生成WebAPI相关的坑与注意点)。 数据库:SQL Server Web服务器:IIS 编程语言:C# IDE:VS20…

微信|零到一打造一款与微信互通的自动聊天机器人应用

本文干货充足篇幅较长,建议收藏后阅读避免迷路。文末可获取【自动聊天机器人源码和Demo】。 本教程教大家使用即构 ZIM SDK 创建一个能与微信端互动消息的自动聊天机器人应用。ZIM SDK可广泛应用于娱乐社交、电商购物、在线教育、互动直播等多种场景下即时通讯功能实…

R语言中的函数18:readxl::read_excel(), read_xls(),read_xlsx()

文章目录read_excel(), read_xls()和read_xlsx()函数介绍实例实例1利用read_xls读取文件实例2指定读取数据的范围range实例3读取有缺失值的数据实例4read_xls和read_xlsx需要对应的文件类型实例5read_excel的使用read_excel(), read_xls()和read_xlsx()函数介绍 read_excel(),…

设计模式----单例模式

设计模式之单例模式 文章目录设计模式之单例模式一. 简介1. 什么是单例模式?2. 单例模式的应用场景?3. 单例模式的类型?二. 单例模式的几种写法1. 饿汉式2. 懒汉式3. 懒汉式(线程安全性能优化)4. 使用volatile防止指令…

【ARM】Bootloader的调试

Bootloader 为啥要做一个bootloader,因为最近客户调试MCU中,中断向量表和代码不设置一个区域内,在0x0的地址放置中断向量表,并在0x18000000的地址放置代码,发现会有一点问题,想测试一下在0x18000000的地址…

Linux C/C++异常处理方法

简介 C/C属于较为接近底层的语言,不像Java等“高级”语言,所有异常都能catch住(例如常见的core dumped)异常: int first_func() {int* error_integer nullptr;return *error_integer; } 对于异常,首要任…

传统 Web 框架部署与迁移

与其说 Serverless 架构是一个新的概念,不如说它是一种全新的思路,一种新的编程范式。 但是原生的 Serverless 开发框架却非常少。以 Web 框架为例,目前主流的 Web 框架“均不支持 Serverless 模式部署”,因此我们一方面要尝试接…

跳槽or裸辞?2022年真不建议···

2022年是个“难过”的一年。 疫情、经济寒冬、房价跳水、基金股票一片红。其实这些都是连锁反应。 企业不好过,也会引发一系列裁人潮,其实最近挺多小伙伴反映过,今年过的如牛马,一人干活量顶仨。想辞职躺平,又没有绝…

BurpSuit官方实验室之信息泄露

BurpSuit官方实验室之信息泄露 这是BurpSuit官方的实验室靶场,以下将记录个人信息泄露共5个Lab的通关过程 Web Security Academy: Free Online Training from PortSwigger lab1: Information disclosure in error messages 错误消息中的信息泄露 在…

从金鸡百花电影节,看“鼓浪屿元宇宙”的元力、魅力与想象力

文|智能相对论 作者|青月 元宇宙的走红,始于2021年3月10日Roblox在美上市,这个和现实世界相平行又相交叉的虚拟世界开始引起市场的注意,并迅速风靡全球。 虽然2022年,关于元宇宙的探索已经进入了一个相对务实的阶段&#xff0c…

【毕业设计】机器视觉停车位识别检测系统 - python 深度学习

文章目录1 简介2 检测效果3 实现方式3.1 整体思路3.2 检测空车位3.3 车辆识别4 最后1 简介 🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对毕设…

【面试题】「2023」JavaScript 最新高频 前端面试题 指南 (必看)

前言 大家好,本次总结了关于JavaScript的上百道高频面试考点,感谢大家的留言点赞收藏 💗 如果文中有不对、疑惑或者错字的地方,欢迎在评论区留言指正🌻 更多题库 地址:前端面试题库 基础篇 1. 将数组的…

【微前端开发环境下,加载远程子应用的实战。】

一开始我们的本地开发运行的环境,如果没有启动子应用的话。对应的页面是白屏的。 问题: 当有关联资源需要跳转时无法跳转,需要额外打开一个浏览器tab页到环境上面执行操作。当bug类型为纯ui-server端的内容时,需要手动启动bug相关…

【数据库原理及应用】——事务并发控制和恢复技术(学习笔记)

📖 前言:事务是数据库操作的基本逻辑单元,事务处理技术主要包括数据库并发控制技术和恢复技术。本章首先介绍了事务的基本概念和四个特性,然后讨论事务并发操作可能引起数据库的不一致性,继而引入数据库的并发控制技术…

Compare线刷包与卡刷包

Android系统分为卡刷包和线刷包 小米11线刷包 从该版本的boot.img中抽取出的内容如下图 小米11卡刷包 从该版本的boot.img中可以提取的内容是 也就是说,想要做配置文件抽取需要用线刷包。经过测试,目前高版本的卡刷包通过解压都无法获取到boot.img…

图像分割 - 阈值处理 - 固定阈值法

目录 1. 介绍 2. 固定阈值处理 1. 介绍 图像分割就是将图像分成不同的区域,每个区域满足相似的条件。通常,都是将图像分为两个区域:前景区域和背景区域。 前景就是人们感兴趣的位置,例如一副Lena图像,我们只对这副图…

Redis-Mysql八股总结

Redis 说一下 Redis以及Redis 使用场景 答:Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。 Redis 设置过期时间的命令 # 设置 key 在…

上网行为监控都能审计到哪些内容?

现在很多企业都部署了上网行为监控系统,那么,它可以审计到哪些内容呢?目前市面上有不同种类的上网行为监控系统,其功能都是大同小异的,这里我们以墨门云为例,了解一下装了这个软件之后管理者可以审计到哪些…