OWT-client-android源码分析

一,本文目的

帮助理解OWT-client-android是如何使用webrtc 代码库的;

帮助理解OWT-client-android如何与OWT Server交互,接口协议的功能实现;

二,功能概述和模块关系

编译OWT android客户端,涉及https://github.com/open-webrtc-toolkit 的3个目录,刚开始容易让人不明白。

owt-deps-webrtc 是OWT项目用到的webrtc源码,目前版本是m88,主要增加支持了h265编码。

编译owt-client-native, 包含自动下载owt-deps-webrtc;

owt-client-native是OWT项目基于webrtc做的二次开发,主要实现了以下功能:

1,实现PeerConnectionChannel,主要封装了webrtc peerconnection

2, 在win和linux, 加入了msdk的外部编解码器,(调用intel GPU编解码器)

3,在win实现了videorendererd3d11, d3d11的render?

4, 实现了会议功能和呼叫,p2psdk/conference, sdk/p2p

5,实现了全部SDK模块的object C封装,sdk/base/objc, sdk/conference/objc, sdk/p2p/objc

编译owt-client-android,需要用到owt-client-native编译输出的so和jar文件;

oem@svr1804://home/oem/git/owt-client-android/dependencies/libwebrtc$ ll
total 8
drwxrwxr-x 2 oem oem 4096 4月  23 22:41 ./
drwxrwxr-x 3 oem oem 4096 4月  19 09:50 ../
lrwxrwxrwx 1 oem oem   49 4月  23 22:41 arm64-v8a -> /home/oem/git/native/src/out/dist/debug/arm64-v8a/
lrwxrwxrwx 1 oem oem   53 4月  23 22:41 libwebrtc.jar -> /home/oem/git/native/src/out/dist/debug/libwebrtc.jar

三,对象创建和初始化连接过程

src/sample/conference/src/main/java/owt/sample/conference/MainActivity.java
protected void onCreate(Bundle savedInstanceState) {

        initConferenceClient();

private void initConferenceClient() {
        conferenceClient = new ConferenceClient(configuration);
        conferenceClient.addObserver(this);

src/sdk/conference/src/main/java/owt/conference/ConferenceClient.java
 public ConferenceClient(ConferenceClientConfiguration configuration) {
  

Connect (join room)启动过程:

src/sample/conference/src/main/java/owt/sample/conference/MainActivity.java
private View.OnClickListener joinRoom = new View.OnClickListener() {
//向服务器获取令牌,例如 uri=https://192.168.1.106:3004/createToken/, 提供username,room参数
        String uri = serverUrl + "/createToken/";
        String token = HttpUtils.request(uri, "POST", joinBody.toString(), true);

        conferenceClient.join(token, new ActionCallback<ConferenceInfo>() {

//创建SignalingChannel实例,保存token, 调用connect(
src/sdk/conference/src/main/java/owt/conference/ConferenceClient.java
    public synchronized void join(String token, ActionCallback<Con
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值