如何在鲲鹏Ubuntu服务器上的部署webrtc
1 介绍
WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API
由于目前webrtc暂时只能够支持x86的编译方式,不能够在鲲鹏服务器上编译(在鲲鹏服务器编译安装时候,会报:Only x86 architectures are currently supported),但可以在x86平台交叉编译方式支持arm64的程序。本文通过x86交叉编译成arm程序,然后在鲲鹏上部署。
2 安装准备
1、 环境准备
华为云购买一台鲲鹏服务器,一台x86服务器,x86服务器用于交叉编译,鲲鹏服务器用于运行验证。
项目 |
规格 |
版本 |
下载地址 |
鲲鹏 |
kc1.xlarge.2 | 2vCPUs | 4GB |
Ubuntu 18.04 |
在公共镜像中已提供。 |
X86 |
s3.large.2 | 2vCPUs | 4GB |
Ubuntu 18.04 |
在公共镜像中已提供。 |
2、 交叉编译环境准备
在x86上执行:
apt-get install gcc-arm-linux-gnueabihf
3 源码编译成arm程序
本步骤在x86环境上运行
1) 安装依赖工具
获取webrtc源代码需要使用Chromium depot tools。
cd /usr/local/src
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=$PATH:/usr/local/src/depot_tools
2) 下载源码
mkdir webrtc-checkout
cd webrtc-checkout
fetch --nohooks webrtc
gclient sync
cd src
./build/install-build-deps.sh
3) arm64的编译环境
build/linux/sysroot_scripts/install-sysroot.py --arch=arm64
4) gn生成编译目录
生成arm64,鲲鹏文件
gn gen out/Debug-device-arm64 --args='target_os="linux" target_cpu="arm64"'
生成x86文件:
gn gen out/Debug-device-x86 --args='target_os="linux" target_cpu="x86"'
5) ninja编译
ninja -C out/Debug-device-arm64
在out/Debug-device-arm64下,生成的文件在64位arm程序打包,scp到鲲鹏服务器。
4 运行和验证
将x86环境编译生成的webrtc程序scp到鲲鹏服务器进行验证。
WebRTC最简单的use case,比如现在知道可执行文件peerconnection_unittest中有个test suite:
TEST_F(RtpSenderReceiverTest,
AudioSenderMustCallGetParametersBeforeSetParametersBeforeNegotiation);
想测试它的话可以用:
./peerconnection_unittests --gtest_filter='RtpSenderReceiverTest.AudioSender*'
注意gtest_filter的参数是正则表达式。
- 点赞
- 收藏
- 关注作者
评论(0)