Trouble Shooting
Troubleshooting steps of Web SDK
- Open two or more webpages on the same LAN to play the same video
- It is recommended to configure live streaming according to the P2P optimization guide
- Open the webpage debugging window to view the debug information
- There is usually a warning message, fix it as prompted
- If no abnormality is displayed, please ensure that the m3u8 path does not change dynamically,or you may need to format a common channelId for people watching same content.
- If the above steps do not solve the problem, please contact technical customer service
Troubleshooting steps of mobile SDK
- Please make sure to debug on the real device
- Open 2 devices on the same LAN
iOS
- Search for the keyword "P2P warning" in the xcode console and fix it according to the warning message
- If you still can't troubleshoot the problem, please turn on the log printing function first, as shown below:
- swift
- objective-c
let config = P2pConfig(
trackerZone: .Europe, // Set HongKong or USA if you changed zone
debug: true
)
P2pEngine.setup(token: YOUR_TOKEN, config: config)
P2pConfig* config = [P2pConfig defaultConfiguration];
config.trackerZone = TrackerZoneEurope; // Set HongKong or USA if you changed zone
config.debug = YES;
[P2pEngine setupWithToken:YOUR_TOKEN config:config];
Android
- Search for the keyword "P2P warning" in the Logcat and fix it according to the warning message
- If you still can't troubleshoot the problem, please set the log level to Debug and save to file, as shown below:
- kotlin
- java
val config = P2pConfig.Builder().logEnabled(true).logLevel(LogLevel.DEBUG).logPersistent(true).build()
P2pEngine.init(this, YOUR_TOKEN, config)
P2pConfig config = new P2pConfig.Builder().logEnabled(true).logLevel(LogLevel.DEBUG).logPersistent(true).build();
P2pEngine.init(this, YOUR_TOKEN, config);
Then you can find the log file in external storage (Environment.getExternalStorageDirectory() -> /Android/data/ , usually on the path "/storage/emulated/0") with file path like logger/logs_0.csv, please send it to SwarmCloud technicians
How to get Android APP Signature
Use keytool to get your certificate signature:
keytool -v -list -keystore path/to/my-signing-key.keystore
You will get the certificate fingerprint (MD5, SHA1, SHA256), the SHA1 value is what you need.
How to solve "2 files found with path 'lib/arm64-v8a/libc++_shared.so' from inputs: ..." in android project?
You need to add in your build.gradle(app) this:
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'
}
...
}