Docker环境安装OWT Server[Open WebRTC Toolkit]
目录
- Docker环境安装OWT Server
- Docker自定义开发OWT Server
wiki(照着操作会有不注意的坑):An easy way to quickly evaluate OWT with Docker image
相关文章:
- Ubuntu环境安装OWT Server[Open WebRTC Toolkit]
- Docker环境安装OWT Server[Open WebRTC Toolkit]
- OWT Server整体架构分析 [Open WebRTC Toolkit]
- OWT Server信令分析 (上) [Open WebRTC Toolkit]
- OWT Server信令分析 (下) [Open WebRTC Toolkit]
- OWT Server进程结构和JS代码处理流程 [Open WebRTC Toolkit]
- OWT Server REST API
1. Docker环境下安装OWT Server
- 下面是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源代码。
- 示例:使用xeon-ubuntu1804-service-owt镜像来介绍如何快速安装OWT服务器。
1. Pull OWT docker image
- 使用以下命令下载OWT docker镜像:
docker pull openvisualcloud/xeon-ubuntu1804-service-owt
2. Run OWT Docker image
- 使用主机网络运行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
- 注意:如果使用本地环境,直接启动即可,但如果是使用云服务器,需要配置公网ip,不然页面无法显示:
- 编辑
webrtc_agent/agent.toml
:修改 [webrtc] 部分的 network_interfaces,添加 {name = “eth0”, replaced_ip_address = “公网ip”},需要把 name 设置为网卡实际名称(ifconfig可查看,一般为eth0,注意,不是docker那个网卡名称),replaced_ip_address 设置为服务器公网 IP 地址。 - 编辑
portal/portal.toml
:修改 [portal] 部分里的 ip_address 为服务器公网 IP 地址。
- 编辑
- 启动后打开:
https://serverip:3004?”Forward =true
来验证是否成功。 - 打开页面后需要手动允许OWT使用自签名证书。
- 系统如果是windows可以直接忽视继续访问,mac会报错:您的连接不是私密连接。
- mac报错解决办法:在界面直接键入"
thisisunsafe
",就会跳转到访问页面。
- 如果一切正常,就可以在页面中显式本地流,并在页面下方显式订阅的远程转发流。
- 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
- 如果发生此错误(
其他错误也可以试下执行下面操作,我遇到的就是其他错误然后通过如下步骤解决的
),需要手动下载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/
- 然后刷新即可。
- 效果图:
2. Docker自定义开发OWT Server
- 如果需要基于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
- 然后就可以打开chrome测试修改的功能。
- 注:确保js文件可以按1.2所示下载。