一、升级概述
下面从两个方面介绍升级步骤以及注意事项:
二、仅 API 升级
注意:适用范围:使用TXLivePusher和TXLivePlayerAPI 的客户。
直播 SDK 从 8.4 版本开始增加了一套新的 APIV2TXLivePusher和V2TXLivePlayer用来替代TXLivePusher和TXLivePlayer ,主要优化点有以下几个方面:
·去掉了 V1 一些冗余接口,例如TXLivePushConfig#setAutoAdjustBitrate等。
·简化了 V1 一些复杂的使用方式,例如TXLivePushConfig类。
·新增了一些实用的接口,例如V2TXLivePremierObserver#onLicenceLoaded用来告知用户 Licence 设置的结果以及失败原因。
·新增了一些特性,例如支持 RTC 协议 URL 推流,支持 快直播播放 等。
为了方便开发者升级 API,请参考 V1 升级 V2 API 对比说明。
注意:TXLivePusher和TXLivePlayer会在未来合适的时候废弃,请尽快升级。
三、推流协议升级
注意:适用范围
对延迟以及弱网表现有更高追求的客户。
直播 SDK V1 API 只能使用 RTMP 协议推流,V2 API 新增了 RTC 协议的推流能力。RTC 协议基于 TRTC SDK ,在延迟以及弱网下有极佳的表现,详见 RTC 推流优势。
针对不同的业务状态升级策略会有些不同。
四、如果你的业务不存在连麦场景
如果当前你的 App 只使用了 RTMP 协议推流,即没有连麦业务,升级到 RTC 协议推流是最简单的。
| 类型 | 注意事项 |
| 推流端 | 必要前提:你需要升级使用 V2TXLivePusher 推 RTC 流。RTC 推流与 RTMP 推流仅在两个 API 使用上有参数差异,其他的 API 调用方式没有任何区别。构造 V2TXLivePusher 对象时传入 RTC 协议参数:V2TXLiveDef.V2TXLiveMode.TXLiveMode_RTC,具体请参见 摄像头推流 # 初始化 V2TXLivePusher 组件。启动推流时传入 RTC 协议 URL,请参见 摄像头推流 – 启动和结束推流。 |
| 播放端 | 在观众端你有三种方式可以播放,CDN 最便宜但延迟最大,RTC 最贵但延迟最小,快直播是延迟和费用之间的平衡。三种协议 API 除了播放的 URL 不同,调用方式是一致的。播放 CDN 流:推荐你升级使用 V2TXLivePlayer 播放。当前使用 TXLivePlayer 仍然是可以播放的。播放 RTC 流:必须升级使用 V2TXLivePlayer 播放。RTC 拉流的 URL 请参见 自主拼装 RTC 连麦/PK URL。播放快直播流:必须升级使用 V2TXLivePlayer 播放,具体请参见 快直播拉流。 |
五、如果你的业务即将接入连麦业务
如果当前你的 App 只使用了 RTMP 协议推流,即将接入连麦业务,此时你需要使用 RTC 实现连麦能力。
那么接入连麦后你的业务可能存在两种状态:
·不推荐:连麦时使用 RTC 协议,非连麦使用 RTMP 协议。不推荐两种协议并存的方式,因为主播在连麦状态和非连麦状态之间切换时都需要重新推流,这会造成 CDN 观众在观看时会有中断的体验。
·推荐:连麦和非连麦都使用 RTC 协议。推荐这种方式,主播在连麦和非连麦状态之间切换,CDN 观众观看时无感知。
接入时需要注意:
| 类型 | 注意事项 |
| 推流端 | 必要前提:你需要升级使用 V2TXLivePusher 推 RTC 流。RTC 推流与 RTMP 推流仅在两个 API 使用上有参数差异,其他的 API 调用方式没有任何区别。构造 V2TXLivePusher 对象时传入 RTC 协议参数:V2TXLiveDef.V2TXLiveMode.TXLiveMode_RTC,具体请参见 摄像头推流 # 初始化 V2TXLivePusher 组件。启动推流时传入 RTC 协议 URL,请参见 摄像头推流 – 启动和结束推流。实现连麦的具体步骤请参见 观众连麦。 |
| 播放端 | 连麦的观众或者主播需要用 RTC 协议播放,非连麦的观众可以观看 CDN 流或者快直播流。三种协议 API 除了传入的 URL 不同,调用方式是一致的。1. 必要前提:你需要升级使用 V2TXLivePlayer 来拉流播放。2. 播放 RTC 流:连麦的双方必须播放 RTC 流,具体的 API 使用请参见 观众连麦。3. 播放 CDN 流:具体 API 使用请参见 标准直播拉流。4. 播放快直播流:具体 API 使用请参见 快直播拉流。 |
六、如果你的业务已有连麦业务
如果当前你的 App 已经存在连麦业务,需要升级到 RTC 连麦,你可以通过以下步骤进行。
1. 先实现:
·实现新连麦:使用 RTC 实现连麦能力(具体方案请参见 即将接入连麦业务)。
·增加云控:增加云控来获取当前应该使用哪一种连麦方式。
2. 再并存:
·逐步升级含有新连麦方式的 App 版本。
·因为新老版本可能会有不通的地方,所以此时不能放开新连麦方式。
3. 最终上线:
·版本全覆盖时通过云控全部切换为新连麦方案。
·下线老连麦方式。