升级概述
为了更好地满足客户的接入需求,直播 SDK 在 API 以及支持的协议上做了重要的升级。API 2.0 相比与 API 1.0 在设计上更简洁也更实用,同时也增加了更多的能力,例如 RTC 的推流以及新的连麦方案。相对于原来的 RTMP 推流,RTC 推流具有更低地延迟,弱网下也有更好表现,全球覆盖使您出海业务更方便。另外 API 2.0 也增加了快直播播放,快直播(Live Event Broadcasting,LEB)是标准直播在超低延迟播放场景下的延伸,能够为观众提供毫秒级的极致直播观看体验。
下面从两个方面介绍升级步骤以及注意事项:
仅 API 升级
注意
适用范围:使用
TXLivePusher
和TXLivePlayer
API 的客户。直播 SDK 从 8.4 版本开始增加了一套新的 API
V2TXLivePusher
和V2TXLivePlayer
用来替代TXLivePusher
和TXLivePlayer
,主要优化点有以下几个方面:去掉了 V1 一些冗余接口,例如
TXLivePushConfig#setAutoAdjustBitrate
等。简化了 V1 一些复杂的使用方式,例如
TXLivePushConfig
类。新增了一些实用的接口,例如
V2TXLivePremierObserver#onLicenceLoaded
用来告知用户 Licence 设置的结果以及失败原因。注意
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. 最终上线:
版本全覆盖时通过云控全部切换为新连麦方案。
下线老连麦方式。