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

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 地址。
    3. docker安装vim命令:
      1. apt-get update命令对源进行更新
      2. apt-get install vim命令安装vim
  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源码开发自己的特性

1. 将源码打包镜像

  1. 打包镜像需要科学上网,在路径~/.docker/config.json配置docker代理,配置方法:
{
    "proxies":{
        "default":{
            "httpProxy":"http://ip:port",
            "httpsProxy":"http://ip:port"
        }
    }
}
  1. docker打包镜像,进入到owt server docker目录下:
docker build -t owt:build .

2. 使用现有镜像并在镜像中修改了代码

  1. 可以按照以下步骤进行开发:
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所示下载。

你可能感兴趣的:(WebRTC,流媒体服务器,docker,webrtc,容器)