IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> WebRTC Android 编译运行及踩坑记录 -> 正文阅读

[移动开发]WebRTC Android 编译运行及踩坑记录

拉取源码

WebRTC是谷歌开源的一个用于实施音视频的框架,也可以看作是一种协议。我们可以根据需要下载android、ios、web版本。
1.安装工具depot

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git;

进入bashrc设置环境变量
首先进入home目录下,然后vim ~/.bashrc

export WEBRTC_DEPOT_TOOLS=/home/mmc/zcj/depot_tools
export PATH=$PATH:$WEBRTC_DEPOT_TOOLS

保存退出后,source ~/.bashrc
2. 下载源码

fetch --nohooks webrtc_android
gclient sync

最后的同步操作gclient sync一定要做,非常重要
3.切换分支
当源码下载好之后,一般位于master分支,我们不再这个分支上编译操作,切换到git上的4183(也就是m85版本)分支上,可以使用下面代码自定义一个m85分支,把4183上拉过来。当然也可以直接checkout到4183.

git checkout -b m85 branch-heads/4183
gclient sync
# 切换到 master 分支
$ git checkout master
$ git pull origin master
$ gclient sync
# 切换回你自己的分支(有冲突的话自己解决)
$ git checkout my-branch
$ git merge master

编译

1.安装编译依赖库

./build/install-build-deps.sh
./build/install-build-deps-android.sh

在这一步我遇到比较大的问题如下,主要原因就是现在安装的库的依赖库和系统中其他库的依赖库是同一个,但是两者需要的依赖库版本不一致。参考链接: The following packages have unmet dependencies.
在这里插入图片描述解决方法: 使用aptitude来管理这种dll地狱问题,aptitude在删除一个包时,会同时删除本身所依赖的包:

sudo apt-get install aptitude
sudo aptitude install libwayland-egl1-mesa

安装过程中,不接受未安装方案,接受降级方案。后面就可以根据情况选择了,我都是选择的y
在这里插入图片描述
2.编译arr包
这一部我并没有选择编译整个工程,可以根据实际需求决定。

./tools_webrtc/android/build_aar.py --arch arm64-v8a

编译的过程中会一直报错,开始一直魔改,后面定位问题是因为webrtc中py文件底层实现只支持python2,而我之前系统中做深度学习都是安装的python3.8,所以只需要创建一个新的虚拟环境,环境中配置python2,然后切换到这个环境中编译就没问题了.

运行

这一部其实没啥好说的,主要就是额外下载一个demo调用编译好的webrtc库,当然也可以使用官方给的demo。
第一步需要把自己编译好的arr包放在demo中对应的位置
第二步配置好相应的端口号,编译demo烧到安卓手机中
第三步打开single server demo
第四步,两台手机在同一个局域网下,进行测试

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:41:04  更:2022-03-12 17:41:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 19:16:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码