How do I solve the problem that QQ Browser on some Android devices fail to pull and ingest streams?

Some Android devices, such as Huawei P20 and vivo iQOO, may fail to start the X5 kernel after you install QQ Browser and open the browser for the first time. As a result, the WebRTC compatibility issue occurs and streams cannot be pulled and ingested. The following error message is reported: Failed to execute 'setRemoteDescription' on 'RTCPeerConnection. If you encounter this problem, perform the following steps to make sure that the X5 kernel is initialized:
  1. Connect to a WI-FI network.
  2. Refresh the page and wait about 30 seconds.
  3. Restart the browser and visit the page again. The problem is solved.

Why do some browsers not support Web RTS SDK?

A browser does not support Web RTS SDK due to one of the following reasons:
  • The browser does not implement WebRTC-related API operations, or implement the API operations in a flawed manner. For example, Microsoft Internet Explorer and UC Browser.
  • The browser supports WebRTC-related API operations. However, the browser supports VP8 encoding but does not support H.264 encoding. For example, the built-in browser of some Android devices.

Why does Safari on iOS report the error message "Failed to set remote answer sdp"?

Problem description: The following error message is displayed.
Failed to set remote answer sdp: The order of m-lines in answer doesn't match order in offer.

Analysis: You integrated other WebRTC SDKs, which causes webrtc-adapter conflicts. To prevent the issue, RTS SDK excludes the adapter from V2.2.4. You can use RTS SDK V2.2.4 or later with other WebRTC-related SDKs.

  • You can use JavaScript to directly integrate RTS SDK V2.2.4 or later.
  • If you want to use npm to integrate RTS SDK, compile the following code:
    import { AliRTS } from 'aliyun-rts-sdk/dist/aliyun-rts-sdk-without-adapter.js';
    In the TypeScript project, you must declare the module to obtain type support.
    // Create file typings.d.ts in the root directory of the project.
    declare module 'aliyun-rts-sdk/dist/aliyun-rts-sdk-without-adapter.js' {
      import {AliRTS} from 'aliyun-rts-sdk';
      export {AliRTS}
    }