Openwit

实现Android WebRTC支持H265

· openwit

谷歌的WebRTC,默认不支持H265,好在网上有开源的实现,但是想要传输层支持H265需要重新编译生成libjingle_peerconnection_so.so。本篇主要记录一下编译过程。项目github地址:https://github.com/open-webrtc-toolkit/owt-client-native 自己通过虚拟机安装Ubuntu18.04并翻墙,无论如何都无法编译成功,无奈,购买了1个月香港云主机,编译成功! 假设当前路径为/home/zhanggf

1. 下载代码

git clone https://github.com/open-webrtc-toolkit/owt-client-native.git

下载完成后,将目录重命名为 src

mv owt-client-native src

2. 下载 depot_tools

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

下载完成后,设置 PATH

export PATH=$PATH:/home/zhanggf/depot_tools

3. 创建.gclient

vi .gclient

将以下内容复制到文件中并保存:

solutions = [
  {
     "managed": False,
     "name": "src",
     "url": "https://github.com/open-webrtc-toolkit/owt-client-native.git",
     "custom_deps": {},
     "deps_file": "DEPS",
     "safesync_url": "",
  },
]
target_os = ["android"]

4.gclient sync

进入src目录,执行gclient sync。

cd src
gclient sync

后面就是漫长的等待,视网速情况,需要1-n个小时吧。

5. 编译

进入/src/scripts 目录,执行python build_android.py开始编译。

cd /src/scripts
python build_android.py

全部编译完成大概1小时左右吧。

6.out

最终生成的目标文件在src/out路径下,包括libwebrtc.jar和对应版本的libjingle_peerconnection_so.so。替换当前项目中的相关文件,恭喜,你的WebRTC项目已经支持H265硬编码了。

最后,编译成果放在了github,有需要的自取。github链接