如何在鲲鹏Ubuntu服务器上的部署webrtc

举报
鲲鹏小玩家 发表于 2020/06/18 15:32:47 2020/06/18
【摘要】 1 介绍WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API由于目前webrtc暂时只能够支持x86的编译方式,不能够在鲲鹏服务器上编译(在鲲鹏服务器编译安装时候,会报:Only x86 architectures are currently supported),但可以在...

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的参数是正则表达式。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。