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下
351

被折叠的 条评论
为什么被折叠?



