声网 直播SDK小结

声网AndroidSDK支持两种场景:

  • 音视频通话

  • 音视频直播

    如标题所示,本文主要阐述直播相关知识


1. 直播场景描述
声网直播场景针对 CDN 推流场景设计,主要涉及两种模式切换

  • 单主播模式
    主播可以采用Agora SDK 或者第三方推流工具(比如ijkplayer)推流到 CDN。观众通过 CDN 播放器拉取主播视频流观看直播。
  • 双主播 PK 模式
    两个主播退出 CDN 推流并同时加入同一个声网频道,各自在声网服务端设置双主播的合图(setLiveTranscoding),并通过声网提供的推流接口(addPublishStreamUrl)将合图后的流推送到原先的 CDN 地址。各自的 CDN 观众看到两个主播开始 PK。由于两个 PK 主播各自的 CDN 推流地址未发生改变,CDN 观众端不需要切换 CDN 拉流地址。只要任意一个主播离开声网 PK 频道,另一主播也退出 PK 模式返回普通模式

2. 直播PK原理图
在这里插入图片描述

3. 声网直播关键参数
在这里插入图片描述这个包大小要慎重考虑一下

4. 声网直播发版说明:

版本号发版时间改动点
1.122017年7月25日增加加密模式
1.132017年9月04日关注上下麦回调,关闭语音播放,软编视频属性可控等
1.142017年10月20日提供基础变声,直播秒开优化,Android适配
2.02017年12月06日增加摄像头控制:缩放等,支持服务端踢人,Android模拟器
2.1.02018年3月07日17位主播同时直播连麦,允许自定义视频源,
2.2.02018年5月04日大量主播连麦抖屏问题优化等
2.2.32018年7月05日注意动态秘钥机制
2.3.02018年8月31日大版本,改进稳定性
2.3.12018年10月12日视频编码适配
2.3.22019年1月16日抗丢包,兼容性等
2.3.32019年1月24日P9华为兼容等
2.4.02019年4月01日新增美颜、变声和混响、缩短了远端视频出图时间等

5. 运行DEMO Agora-Online-PK-Android

下载解压后 Agora-Online-PK-Android

  1. 关注调整下gradle和gradle tools的版本号
  2. 然后复制.jar和.so到指定文件夹,见 这篇文章
  3. 切记要正确配置一下
 sourceSets {
        main {
            jniLibs.srcDirs = ['src/main/jniLibs']
//            jniLibs.srcDirs = ['../../../libs']
        }
    }
  1. 还有测试时,输入相同的PK频道房间名字即可

  2. 示例程序功能

  • 开始直播:在首页输入直播频道名,点击“开始直播”按钮,进入直播房间,开始直播和 CDN 推流;
  • 发起PK:在房间内点击“PK”按钮,并输入“PK房间名”进入PK(需要两个主播同时输入相同的“PK房间名”以进入同一房间);
  • 退出PK:点击“退出PK”按钮,退出PK模式,返回单主播模式;
  • 退出房间:点击右上角“离开”按钮,离开直播房间;
  • 拷贝拉流地址:在直播中可点击“拷贝”按钮,拷贝拉流地址,使用 CDN 播放器(如 VLC),也可参考我以前一篇文章:直播测试拉流播放器和地址

6. 集成注意点

  1. 单主播模式与 PK 模式切换时一定要先停止原先的推流,再重新开始推流,否则会推流失败
  2. 观众一般需要感知主播模式的改变来更新UI,一般是通过信令通知观众(或者项目中其他消息IM机制)
  3. 由于信令和 CDN 视频流存在时间差(CDN 推流一般存在数秒的延迟),为了更好的用户体验,可以在切换模式时做一个延时动画,让用户忽略这个时间差。也可以通过 CDN 播放器的特有回调(如视频尺寸改变)来感知主播状态的变化
  4. 加入频道正式应用中一般采用Token模式(我集成时就使用了简单Channel Name的方式登录,结果找了半天bug)
 private void joinChannel() {
    // 这个null需传入Token
    mRtcEngine.joinChannel(null, "demoChannel1", "Extra Optional Data", 0); // if you do not specify the uid, Agora will assign one.
}

7. 参考

  1. 声网CSDN账号
  2. 直播API 参考链接
  3. 这么多连麦方案,到底哪种适合你?
  4. 互动直播介绍
  5. PK 连麦
  6. Agora-Online-PK-Android 声网PK Github地址
  7. 到处都在说直播连麦技术,它们真的能连吗? 介绍了,CDN概念,短板,直播原理等
  8. 声网
  9. 直播 SEI 相关问题
  10. MediaPlayer+TextureView实现小视频居中(不拉伸)播放
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初心一点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值