Skip to content

Web端外掛程式P2P無效問題排查步驟

  • 同時開啟2個以上處於同一區域網路的網頁播放同一部影片
  • 直播串流建議依照P2P最佳化指南進行設定
  • 影片播放後開啟網頁除錯視窗查看debug資訊
  • 如果出現紅色的錯誤訊息,通常是程式邏輯問題,請根據提示修改
  • 如果顯示其他資訊,請根據提示操作,有以下五種可能:
    • 網域未綁定,請注意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技術人員

如何取得Android應用程式簽章

可以使用 keytool 來取得APP的應用程式簽章

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

在輸出的憑證指紋中(MD5, SHA1, SHA256),SHA1對應的字串即所需的應用程式簽章。

Android專案出現錯誤 "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号