注:
最近学习webrtc相关的内容,需要搭建服务,根据自己安装过程,编写了此文档;项目是在docker中安装配置运行,使用ubuntu:18.04版本的系统;仅供参考
文章借鉴:
https://blog.piasy.com/2019/04/14/OWT-Server-Quick-Start/https://zhuanlan.zhihu.com/p/72810939
一. 下载docker,请自行去官网找寻并安装
1. 本项目使用的是ubuntu:18.04,请使用此版本的ubuntu镜像
2. 因为此处已经将相关依赖以及项目下载到本地了--可用来替换
此处不提供相关下载地址,下述的下载地址仅供参考,可以自己下载,后续如有需要再提供下载地址,谢谢
二. 更换镜像源
1. 更换为阿里云的镜像源
# 更新apt-get update # 下载vimapt-get install -y vim# 先备份对应的源信息mv /etc/apt/sources.list /etc/apt/sources.list.bak# 打开文件vi /etc/apt/sources.list# 将以下的信息填入deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
2. 执行命令更新
# 执行命令apt-get update && apt-get upgradeapt-get install -y sudo wget# 下载的源码可能需要更改一下shell脚本文件,添加一些所需的文件,本本是在ubuntu下进行安装的,所以修改一下内容vi owt-server-4.3.1/scripts/installUbuntuDeps.sh# 修改以下内容,在apt-get中加入docbook2x,在jinstall_mediadeps()中添加install_fdkaac(添加此处是为了使用webrtc推流到流媒体服务器)# 如下图
![8face95dfb36ebc745a9565ee54287d9.png](https://i-blog.csdnimg.cn/blog_migrate/80917af584a6ede16030da1cac35893c.jpeg)
三. 安装owt的依赖环境--部分环境
1. 安装node---使用node8.15.0
# 安装node并设置变量cd ~ && wget http://{host}/node-v8.15.0-linux-x64.tar.gz && mkdir -p /usr/local/lib/nodejs && ar xf node-v8.15.0-linux-x64.tar.gz -C /usr/local/lib/nodejs && echo 'export PATH=/usr/local/lib/nodejs/node-v8.15.0-linux-x64/bin:$PATH' >> ~/.bashrc && source ~/.bashrc
2. 下载owt-server以及owt-client-javascript文件--本项目使用4.3.1版本的
# owt-server-4.3.1wget http://{host}/owt-server-4.3.1.tar.gz# owt-client-javascript-4.3.1wget http://{host}/owt-client-javascript-4.3.1.tar.gz
四. 编辑安装owt-server(如果不需要demo,可以编辑后直接打包)
1. 解压owt-server文件,进入文件内运行依赖安装,进行项目编译
# 解压owt-server文件tar -zxvf owt-server-4.3.1.tar.gz# 进入owt-server文件夹cd owt-server-4.3.1# 执行依赖安装命令./scripts/installDepsUnattended.sh# 执行npm安装相关内容npm install -g --loglevel error node-gyp@6.1.0 grunt-cli underscore jsdoc# 编译--如果可以硬件加速的,需要安装环境并将mcu替换成all./scripts/build.js -t mcu --check# 如果不需要demo执行下步骤,,推荐此处步骤不执行# ./scripts/pack.js -t all --install-module
2. 解压owt-client-javascript文件,进入文件运行依赖安装,进行项目编译
# 解压owt-client-javascript文件tar -zxvf owt-client-javascript-4.3.1.tar.gz# 进入owt-client-javascript文件夹--客户端目录可以给更多的权限cd owt-client-javascript-4.3.1/scripts# 执行依赖安装命令sudo -s && npm installcd scripts && grunt#### 如果出现权限问题,请执行--此处可能会有报错相关信息,可以删除此项目重新解压执行# rm -rf ../node_modules && sudo -s && npm install && grunt
3. 打包编译--如果打包时卡住很长时间可以终端打包操作,删掉dist目录重新打包
# 进入到owt-server的目录下./scripts/pack.js -t all --install-module -s ~/owt-client-javascript-4.3.1/dist/samples/conference/# 注意,如果打包成功,会在当前文件夹下生成dist文件夹,文件夹内容有相关文件,一定要有bin文件夹,此文件夹用来执行命令,如果没有,则打包失败
4. 修改对应的文件信息
# 编辑 webrtc_agent/agent.toml,修改 [webrtc] 部分的 network_interfaces,添加 {name = "eth2", replaced_ip_address = "192.0.2.2"}(需要把 name 设置为网卡实际名称,replaced_ip_address 设置为服务器公网 IP 地址), maxport, minport;注意配置文件里 max 在前,min 在后,别配反了# 打开对应文件,修改相关信息vi ~/owt-server-4.3.1/dist/webrtc_agent/agent.toml#编辑 portal/portal.toml:修改 [portal] 部分里的 ip_address 为服务器公网 IP 地址,ssl 按需设置为 true 或 false# 打开对应文件,修改相关信息vi ~/owt-server-4.3.1/dist/portal/portal.toml
5. 运行项目查看效果
# 进入到owt-server下的dist目录中cd ~/owt-server-4.3.1/dist# 执行命令./bin/init-all.sh && ./bin/start-all.sh# 服务停止命令./bin/stop-all.sh
可以直接拉取docker镜像,执行命令
# 本镜像已经上传到https://hub.docker.com/,可以直接进行镜像拉取运行docker pull haiyoushui/owt-full:v1# 运行docker run -itd -p 3004:3004 -p 3300:3300 -p 8080:8080 -p 60000-60050:60000-60050/udp owt# 进入容器运行命令cd ~/owt-server-4.3.1/dist./bin/init-all.sh && ./bin/start-all.sh
其他内容交代
# 初始化安装的时候可能没有aac相关的内容,所以如果需要使用webrtc推流到流媒体服务器,可能需要安装aac等相关依赖,如果上述过程中已经执行过安装,请忽略# 直接进入已经编译好的服务内cd ~/owt-server-4.3.1/dist/audio_agent# 执行安装命令,可能需要起飞,也可以重新编写次shell脚本./compile_ffmpeg_with_libfdkaac.sh# 需要将安装文件重新copy一份到lib下面,替换原有内容cp -r ~/owt-server-4.3.1/dist/audio_agent/lib ~/owt-server-4.3.1/dist/audio_agent/lib-bakcp ~/owt-server-4.3.1/dist/audio_agent/ffmpeg_libfdkaac_lib/* ~/owt-server-4.3.1/dist/audio_agent/lib/# 重启一下服务即可使用推流# 注: 可以在调试中开启debug,如推流接口服务器可以修改info为debug,其他服务接口类似# vi ~/owt-server-4.3.1/dist/management_api/log4js_configuration.json# tail -f owt-server-4.3.1/dist/logs/management-api.stdout
文章地址
# 本人原文网址http://blog.liawen.top