• 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镜像,安装硬件加速相关软件。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    自带OWT源代码的OWT构建环境:
    xeon-ubuntu1804-service-dev: OWT ubuntu 18.04 docker镜像,安装了构建OWT包所需的依赖项,包括OWT 5.0源代码。
    
    • 1
    • 2
    1. 示例:使用xeon-ubuntu1804-service-owt镜像来介绍如何快速安装OWT服务器。

    1. Pull OWT docker image

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

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    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
    • 3
    • 4
    • 5
    • 6
    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    1. docker打包镜像,进入到owt server docker目录下:
    docker build -t owt:build .
    
    • 1

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    1. 然后就可以打开chrome测试修改的功能。
      1. 注:确保js文件可以按1.2所示下载。
  • 相关阅读:
    AntV可视化图表G2-柱状图
    5. 凸集和凸函数
    Swift 周报 第十七期
    C语言-入门-宏定义(十七)
    selenium对接代理与seleniumwire访问开发者工具NetWork
    算法:(三)字符串
    spring---第五篇
    【无标题】
    智能运维应用之道,告别企业数字化转型危机
    Spring-依赖注入补充
  • 原文地址:https://blog.csdn.net/weixin_41910694/article/details/127867289