Linux环境下鸿蒙版本webrtc编译指南

鸿蒙目前仅支持在Linux环境下的编译,基于ubuntu 20.04制作了一个docker镜像,包含了OpenHarmony SDK和各种编译工具(depot_tools等),环境已经配置好,开发者只需自己下载webrtc代码之后就可以直接在镜像中编译。

本开源项目基于webrtc M126版本开发,先把基础代码clone到本地

#clone gitee仓库到本地
mkdir webrtc
cd webrtc
git clone git@gitee.com:dingtalkrepo/webrtc_open.git src

2、安装好docker之后下载镜像和运行容器


#下载镜像
docker pull crpi-41qxr0eop1b2krhe.cn-hangzhou.personal.cr.aliyuncs.com/jing-feng/ding-webrtc-ohos:v1
#运行容器,同时将自己本地的webrtc代码映射到容器
docker run -v <此处是自己本地webrtc代码目录的绝对路径>:/root/webrtc -d --privileged --name <此处是容器名> <此处是镜像名> tail -f /dev/null
#拷贝本机上的.ssh文件到容器中,用于在容器中同步仓库代码
docker cp ~/.ssh/id_rsa <容器名>:/root/.ssh/id_rsa
docker cp ~/.ssh/id_rsa.pub <容器名>:/root/.ssh/id_rsa.pub
#通过命令行登录容器
docker exec -i -t <容器名> bash

3 、在容器中编译webrtc

#在src同级目录下创建.gclient
cd /root/webrtc
touch .gclient
#在.gclient中输入如下内容
solutions = [
  {
    "name": "src",
    "url": "git@gitee.com:dingtalkrepo/webrtc_open.git",
    "deps_file": "DEPS",
    "managed": False,
    "custom_deps": {},
  },
]
#先切到鸿蒙分支再sync代码,sync会比较久~~
cd src
git checkout -t master
gclient sync

sync完成后同时会将0001-third_party-fix-for-ohos-build.patch这个补丁打到third_party仓库,0001-ffmpeg-compile-for-ohos.patch这个补丁打到third_party/ffmpeg仓库

#上述步骤执行完就可以愉快的编译代码了~~

cd src
gn gen out/ohos_webrtc --args='is_clang=true target_cpu="arm64" target_os="ohos" rtc_use_h264=true is_component_ffmpeg=true ffmpeg_branding="Chrome"'
ninja -C out/ohos_webrtc -v -j32 #编译产物在out/ohos_webrtc下
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐