概述
OWT 全称Open WebRTC Toolkit,是Intel基于WebRTC的端到端音视频SDK,是一款高性能,可靠和可扩展的实时通信解决方案。OWT针对Intel®架构进行了优化,以充分利用Intel硬件加速技术进行视频编码/解码/缩放以及由OpenVINO™工具包提供支持的集成实时视频分析功能。OWT是根据Apache License 2.0发行的,是完全免费的。
OWT开源项目地址: github.com/open-webrtc… ,包含服务器端 OWT-Server 和各类客户端SDK。
由于最近我需要使用owt-server进行音视频服务器搭建,故在此记录一下搭建的过程以及其中遇到的问题,同时,由于owt在国内环境进行编译时很大概率无法安装必要依赖,故给出一个我自己编译好的docker文件,本镜像基于owt 5.0,各位开发者可自行取用,镜像较大,请拉取时确保网络通畅。
开头先给出我已经编译好的docker文件地址,方便有需要的人取用:
# docker地址
http://registry.cn-hangzhou.aliyuncs.com/wisefeng/owt-server
# 拉取镜像
## 代码位置: /root/owt-server/
## [镜像1](11G)已执行scripts/installDepsUnattended.sh步骤
docker pull registry.cn-hangzhou.aliyuncs.com/wisefeng/owt-server:installDepsUnattended
## [镜像2](12G)已执行scripts/build.js -t all --check步骤
docker pull registry.cn-hangzhou.aliyuncs.com/wisefeng/owt-server:build
## [镜像3]已执行./scripts/pack.js -t all步骤
docker pull registry.cn-hangzhou.aliyuncs.com/wisefeng/owt-server:v5.0
编译OWT
克隆项目
git clone https://github.com/open-webrtc-toolkit/owt-server.git
安装依赖
在编译OWT前,您必须要确保电脑中存在nodejs,如果没有nodejs,您可以执行以下代码安装:
# ubuntu/debian
sudo apt-get install nodejs
sudo apt-get install npm
# centos
rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-remi
curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
yum -y install nodejs
之后即可继续owt的安装:
cd owt-server
// 安装依赖 [自动安装]
scripts/installDepsUnattended.sh
// or [每个安装需要确认]
scripts/installDeps.sh
注意:该处安装依赖需要下载许多外网资源,如您的网络无法环境无法下载,则OWT无法安装成功,您可以使用docker继续您的开发,我编译好的docker地址已在上文给出。
编译
scripts/build.js -t all --check
编译 Owt JS Client demo [可选]
此步骤为可选步骤,如果运行该步,您将获得一个基于owt-js-sdk的网页demo,可随您的项目一起被打包进去,为您提供一个基础的网页demo,建议运行该步骤。
git clone https://github.com/open-webrtc-toolkit/owt-client-javascript.git
cd owt-client-javascript/scripts/
npm install && grunt
打包
./scripts/pack.js -t all -f -a -s ${~/owt/owt-client-javascript/dist/samples/conference/}
其中 ${~/owt/owt-client-javascript/dist/samples/conference/} 为您在编译 Owt JS Client demo的过程中编译的结果,请根据具体情况调整路径。
配置 owt-server
vim ./dist/webrtc_agent/agent.toml
# 修改
[webrtc]
network_interfaces = [{name = "eth2", replaced_ip_address = "192.168.1.100"}]
# name:网卡实际名称
# replaced_ip_address:服务器公网IP地址
vim ./dist/portal/portal.toml
# 修改
[portal]
ip_address = "192.168.1.100"
ssl = false
# ip_address:服务器公网IP地址
# ssl:是否开启ssl[true 或 false]
启动
cd owt-server/dist
./bin/init-all.sh
./bin/start-all.sh
至此owt编译启动完成,待服务器启动后,访问https://192.168.1.100:3004如下地址即可看到效果:
其他
WebRTC文档:
Q&A
- OWT启动后附带的demo没有画面怎么办?
由于owt demo自带ssl签名证书不被浏览器认可,故首次运行需要手动访问信令服务器进行证书验证,信令服务地址为:
https://${192.168.0.100}:8080/socket.io/?EIO=4&transport=polling&t=O0tvG90,其中${192.168.0.100}为您自己设置的IP地址,请根据实际情况修改。