腾讯云X-P2P接入说明_音视频解决方案_同尘科技

X-P2P 2年前 (2023-08-31) 浏览 181

腾讯云 X-P2P 解决方案,可帮助用户直接使用经过大规模验证的直播、点播、文件分发服务,通过经商用验证的 P2P 服务大幅节省带宽成本,提供更优质的用户体验。开发者可通过 SDK 中简洁的接口快速同自有应用集成,实现 Android 设备上的 P2P 加速功能。传统 CDN 加速服务中,客户端向 CDN 发送 HTTP 请求获取数据。在腾讯云 X-P2P 服务中,SDK 可以视为下载代理模块,客户端应用将 HTTP 请求发送至 SDK,SDK 从 CDN 或其他 P2P 节点获取数据,并将数据返回至上层应用。SDK 通过互相分享数据降低 CDN 流量,并通过 CDN 的参与,确保了下载的可靠性。

SDK 名称 XP2P Android 端 SDK
版本号 V1.3.5
SDK 介绍 为直播、点播、下载等场景的内容分发网络提供P2P点到点对等网络内容共享加速
开发者 腾讯云计算(北京)有限责任公司
个人信息处理规则 XP2P SDK 隐私保护协议
下载 SDK 单击下载 Android SDK压缩包

说明 SDK 支持多实例,即支持同时开启多个不同资源的直播 P2P。

支持的架构

当前 Android SDK 支持如下 ABI 架构:armeabi-v7aarm64-v8ax86x86_64

添加依赖

通过 bintray 获取最新的 gradle 组件包:

implementation 'com.tencent.qcloud:xnet:release-lastest'

混淆配置

由于 native 层代码需要反射调回 java,需要确保 SDK 内的代码都不被混淆,请在 proguard 中添加以下配置:

-keep public class com.tencent.qcloud.** {    *;}

接入步骤

步骤1:初始化

在 App 启动时初始化 XP2PModule,并随后初始化 P2P SDK。

// 初始化appId等关键客户信息final String APP_ID = "$your_app_id";final String APP_KEY = "$your_app_key";final String APP_SECRET = "$your_app_secret";
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
// 返回值ok可用于统计p2p成功与失败 // 无论成功与失败,都可以使用XNet.proxyOf与XNet.proxyOf // 失败时,XNet.proxyOf是"" // 成功时,XNet.proxyOf是127.0.0.1:16080/${domain} bool ok = XNet.create(this, APP_ID, APP_KEY, APP_SECRET);
//开启调试日志(发布可关闭) XNet.enableDebug();}

步骤2:接入直播 Live

直播播放控制 P2P(start/stop),操作如下:1. 启动直播 P2P:

// 例如:http://domain/path/to/resource.flv?params=xxx// 变成:http://{XNet.proxyOf(domain)}/path/to/resource.flv?params=xxx// 要改的仅仅是在://后插入XNET.proxyOf    String codecID = "_h265";    String streamID = url.substring(url.lastIndexOf(("/") + 1));    streamID = streamID.substring(0, streamID.indexOf("."));
String xResID = streamID + codecID; String param = "?xresid=" + xResID; //该参数标识P2P资源
String p2pURl = url.replace("http://", XNet.proxyOf("live.p2p.com")); p2pURl += param;
// 通过获取的url, 播放器直接执行请求 mediaPlayer.setDataSource(context, Uri.parse(p2pUrl), headers); mediaPlayer.prepareAsync();
// 相关资源随着http请求关闭直接释放,无需再做任何处理 //注意:该http请求可能会返回302

2. 由于后台监听限制的问题,resume 的情况下需要调用 resume 接口。

 // 返回值ok代表着是否恢复成功 bool ok = XNet.resume();



对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?