X2TikTracker 是一款支持基于 P2P 技术的视频加速工具。它集成了 WebRTC 和 HLS 等技术,旨在降低视频点播或直播的带宽消耗,提升播放体验。X2TikTracker 的核心理念是利用终端设备之间的上传能力,实现带宽共享,从而降低对传统 CDN 的依赖。
1、下载demo
2、配置开发着信息
KeyCenter.swift
在上述文件中找到AppId
static let AppId: String = <#YOUR APPID#>
3、修改Bundle Identifier,确保跟创建应用的时候填写的值一致,否则将使用不了加速服务
4、跑通后,还需在另外一台机器上跑通示例查看P2P加速效果
5、也可以
X2TikTrackerKit
类提供了一系列方法,用于初始化、播放、分享、释放资源以及管理 token。
- (instancetype)initWithDelegate:(id<X2TikTrackerDelegate>)delegate appId:(NSString *)appId;
- 参数:
delegate
: 回调事件的代理对象。appId
: 应用的唯一标识符。
- 返回: 返回初始化状态码。
- (int)release:(BOOL)sync;
- 参数:
sync
: 是否同步释放资源。
- 返回: 返回释放状态码。
- (int)startPlay:(NSString *)strUrl share:(BOOL)bShare;
- 参数:
strUrl
: 播放的 URL,目前仅支持HLS(m3u8)和MPEG-DASH(mpd)。bShare
: 是否分享播放内容。
- 返回: 返回播放状态码。
- (int)stopPlay;
- 返回: 返回停止状态码。
- (NSString *)getExPlayUrl;
- 返回: 返回扩展播放的 URL 字符串。
- (int)setConfig:(X2TikKitConfig *)x2Config;
- 参数:
x2Config
: X2TikTConfig 配置对象。
- 返回: 返回设置状态码。
- (int)startShare;
- 返回: 返回分享状态码。
- (int)stopShare;
- 返回: 返回停止分享状态码。
- (int)renewToken:(NSString *)strToken;
- 参数:
strToken
: 续期的token 字符串。
- 返回: 返回续期状态码。
- (int)setParameters:(NSString *)strParam;
- 参数:
strParam
: 参数字符串。
- 返回: 返回设置状态码。
X2TikTrackerDelegate
协议定义了一系列可选的方法,用于接收与分享、数据统计、对等连接和 token 续期相关的回调。
- (void)onShareResult:(X2TKTCode)nCode;
- 参数:
nCode
: 分享结果的状态码。
- (void)onLoadDataStats:(X2TikDataStats *)jsStats;
- 参数:
jsStats
: 统计信息。
- (void)onPeerOn:(NSString *)strPeerUId peerData:(NSString *)strPeerUData;
- 参数:
strPeerUId
: 对等用户的唯一 ID。strPeerUData
: 对等用户的数据。
- (void)onPeerOff:(NSString *)strPeerUId peerData:(NSString *)strPeerUData;
- 参数:
strPeerUId
: 对等用户的唯一 ID。strPeerUData
: 对等用户的数据。
- (void)onRenewTokenResult:(NSString *)token errorCode:(X2RenewTokenErrCode)errorCode;
- 参数:
token
: 续期后的token。errorCode
: 续期操作的错误码。
- (void)onTokenWillExpired;
- (void)onTokenExpired;