注:
最近学习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
# 下载vim
apt-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 multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
2. 执行命令更新
# 执行命令
apt-get update && apt-get upgrade
apt-get install -y sudo wget
# 下载的源码可能需要更改一下shell脚本文件,添加一些所需的文件,本本是在ubuntu下进行安装的,所以修改一下内容
vi owt-server-4.3.1/scripts/installUbuntuDeps.sh
# 修改以下内容,在apt-get中加入docbook2x,在jinstall_mediadeps()中添加install_fdkaac(添加此处是为了使用webrtc推流到流媒体服务器)
# 如下图
三. 安装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 && \
tar 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.1
wget http://{host}/owt-server-4.3.1.tar.gz
# owt-client-javascript-4.3.1
wget 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 install
cd 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-bak
cp ~/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