Skip to content

Web端插件P2P无效问题排查步骤

  • 同时打开2个以上处于同一局域网的网页播放同一个视频
  • 直播流建议按照P2P优化指南进行配置
  • 视频播放后打开网页调试窗口查看debug信息
  • 如果有红色的报错信息一般是代码逻辑问题,请根据提示修改
  • 如果显示类似 "CDNBye 0.X.X is deprecated, please update to latest version(0.X.X已停止支援,请更新至最新版本)" 说明版本已过期,请升级至最新版
  • 如果显示其它信息,请根据提示操作,有以下五种可能:
    • 域名没有绑定,注意SwarmCloud后台是根据HTTP请求的Origin字段来获取域名的(如果使用iFrame该域名可能和网站域名不一致),请在后台绑定正确的域名
    • 流量已经用完,请登入管理面板并切换到对应域名查看流量使用情况
    • 在管理面板的 P2P配置 中关闭了P2P服务,重新开启即可
    • 在管理面板的 P2P配置 中激活比率调小了,重新调至100即可
    • 域名被加入黑名单,登入管理面板点击 网站管理 即可确认
  • 如果没有显示任何异常,请确保m3u8路径不会动态变化,否则请构造一个相同的ChannelId
  • 如果以上步骤还不能解决问题,请联系技术客服

客户端SDK P2P无效问题排查步骤

  • 请先确保在真机上调试
  • 同时打开2个处于同一局域网的设备
  • 直播流建议按照P2P优化指南进行配置

iOS

  • 在管理面板搜索关键字"P2P warning",根据对应的警告信息进行配置
  • 如果仍然无法排查问题,请先将日志打印功能打开并保存为文件,示例代码如下:
swift
let config = P2pConfig(
    trackerZone: .Europe,       // Set HongKong or USA if you changed zone
    debug: true
)
P2pEngine.setup(token: YOUR_TOKEN, config: config)
objective-c
P2pConfig* config = [P2pConfig defaultConfiguration];
config.trackerZone = TrackerZoneEurope;     // Set HongKong or USA if you changed zone
config.debug = YES;
[P2pEngine setupWithToken:YOUR_TOKEN config:config];
  • 将日志文件发送给SwarmCloud技术人员

Android

  • 在Logcat搜索关键字"P2P warning",根据对应的警告信息进行配置
  • 如果仍然无法排查问题,请先将日志级别调整为Debug并保存为文件,示例代码如下:
kotlin
val config = P2pConfig.Builder().logEnabled(true).logLevel(LogLevel.DEBUG).logPersistent(true).build()
P2pEngine.init(this, YOUR_TOKEN, config)
java
P2pConfig config = new P2pConfig.Builder().logEnabled(true).logLevel(LogLevel.DEBUG).logPersistent(true).build();
P2pEngine.init(this, YOUR_TOKEN, config);
  • 在外部存储(Environment.getExternalStorageDirectory() -> /Android/data/)中找到logger/logs_0.csv,如果找不到请尝试查看路径"/storage/emulated/0",然后将保存完整日志的csv文件发送给SwarmCloud技术人员

如何获取安卓应用签名

可以使用 keytool 来获取APP的应用签名

bash
keytool -v -list -keystore path/to/my-signing-key.keystore

在输出的证书指纹中(MD5, SHA1, SHA256),SHA1对应的字符串即需要的应用签名。

安卓项目报错 "2 files found with path 'lib/arm64-v8a/libc++_shared.so' from inputs: ..." 如何解决

在build.gradle(app)中添加如下配置:

android {
    packagingOptions {
        pickFirst 'lib/x86/libc++_shared.so'
        pickFirst 'lib/x86_64/libc++_shared.so'
        pickFirst 'lib/armeabi-v7a/libc++_shared.so'
        pickFirst 'lib/arm64-v8a/libc++_shared.so'
    }
    ...
}

粤ICP备18075581号