Downgrade scenarios
Live Event Broadcasting is based on WebRTC and depends on the operating system and browser support for WebRTC.
Currently, the SDK has been tested on the following operating systems and browsers, with the test results as follows:
|
Windows | win 10 | Chrome | 86+ | ✓ |
|
| Firefox | 88+ | ✓ |
|
| Microsoft Edge | 86+ | ✓ |
macOS | 10.5+ | Safari | 13.1+ | ✓ |
|
| Chrome | 86+ | ✓ |
|
| Firefox | 88+ | ✓ |
|
| Microsoft Edge | 86+ | ✓ |
iOS | 13.1.1+ | Safari | 13.7+ | ✓ |
|
| Chrome | 86+ | ✓ |
|
| Firefox | 33+ | ✓ |
|
| Microsoft Edge | 89 | ✓ |
|
| WeChat embedded | - | ✓ |
Android | - | Chrome | 86+ | ✓ |
|
| Firefox | 88+ | ✓ |
|
| WeChat embedded | X5 core | ✓ |
|
| WeChat embedded | XWeb core | ✓ |
Additionally, in some browsers that support WebRTC, there may be decoding failures or server-side issues. In these cases, the player will convert the WebRTC URL to a more compatible HLS URL for playback. This behavior is known as downgrade processing.
To summarize, there are several scenarios that trigger downgrading:
The browser environment does not support WebRTC.
Failed to connect to the server, and the number of retries has exceeded the set value (internal status code -2004).
Decoding failure during playback (internal status code -2005).
Other WebRTC-related errors (internal status code -2001).
Downgrade method
1. Automatic downgrade
During player initialization, the Live Event Broadcasting address is passed through the sources field. In environments requiring downgrade processing, the player automatically converts the protocol, converting the Live Event Broadcasting address to an HLS protocol address.
For example, Live Event Broadcasting address:
webrtc://global-lebtest-play.myqcloud.com/live/lebtest?txSecret=f22a813b284137ed10d3259a7b5c224b&txTime=69f1eb8c
It will automatically convert to:
https://global-lebtest-play.myqcloud.com/live/lebtest.m3u8?txSecret=f22a813b284137ed10d3259a7b5c224b&txTime=69f1eb8c
2. Specified downgrade
In Adaptive Bit Rate (ABR) playback scenarios, if downgrading is necessary, one cannot simply convert formats to obtain the adaptive bitrate HLS address; it must be manually specified. Or in other scenarios where the user wishes to manually specify, downgrade addresses can be set in the following manner. The address is not limited to HLS protocol; it can also be of other protocols:
var player = TCPlayer('player-container-id',{
sources: 'webrtc://global-lebtest-play.myqcloud.com/live/lebtest?txSecret=f22a813b284137ed10d3259a7b5c224b&txTime=69f1eb8c&tabr_bitrates=d1080p,d540p,d360p&tabr_start_bitrate=d1080p',
webrtcConfig: {
fallbackUrl: 'https://global-lebtest-play.myqcloud.com/live/lebtest_HLSABR.m3u8',
},
});
Downgrade callback
When a downgrade is triggered, the player will initiate a callback:
player.on('webrtcfallback', function(event) {
console.log(event);
});
Downgrade scenarios
Live Event Broadcasting is based on WebRTC and depends on the operating system and browser support for WebRTC.
Currently, the SDK has been tested on the following operating systems and browsers, with the test results as follows:
|
Windows | win 10 | Chrome | 86+ | ✓ |
|
| Firefox | 88+ | ✓ |
|
| Microsoft Edge | 86+ | ✓ |
macOS | 10.5+ | Safari | 13.1+ | ✓ |
|
| Chrome | 86+ | ✓ |
|
| Firefox | 88+ | ✓ |
|
| Microsoft Edge | 86+ | ✓ |
iOS | 13.1.1+ | Safari | 13.7+ | ✓ |
|
| Chrome | 86+ | ✓ |
|
| Firefox | 33+ | ✓ |
|
| Microsoft Edge | 89 | ✓ |
|
| WeChat embedded | - | ✓ |
Android | - | Chrome | 86+ | ✓ |
|
| Firefox | 88+ | ✓ |
|
| WeChat embedded | X5 core | ✓ |
|
| WeChat embedded | XWeb core | ✓ |
Additionally, in some browsers that support WebRTC, there may be decoding failures or server-side issues. In these cases, the player will convert the WebRTC URL to a more compatible HLS URL for playback. This behavior is known as downgrade processing.
To summarize, there are several scenarios that trigger downgrading:
The browser environment does not support WebRTC.
Failed to connect to the server, and the number of retries has exceeded the set value (internal status code -2004).
Decoding failure during playback (internal status code -2005).
Other WebRTC-related errors (internal status code -2001).
Downgrade method
1. Automatic downgrade
During player initialization, the Live Event Broadcasting address is passed through the sources field. In environments requiring downgrade processing, the player automatically converts the protocol, converting the Live Event Broadcasting address to an HLS protocol address.
For example, Live Event Broadcasting address:
webrtc://global-lebtest-play.myqcloud.com/live/lebtest?txSecret=f22a813b284137ed10d3259a7b5c224b&txTime=69f1eb8c
It will automatically convert to:
https://global-lebtest-play.myqcloud.com/live/lebtest.m3u8?txSecret=f22a813b284137ed10d3259a7b5c224b&txTime=69f1eb8c
2. Specified downgrade
In Adaptive Bit Rate (ABR) playback scenarios, if downgrading is necessary, one cannot simply convert formats to obtain the adaptive bitrate HLS address; it must be manually specified. Or in other scenarios where the user wishes to manually specify, downgrade addresses can be set in the following manner. The address is not limited to HLS protocol; it can also be of other protocols:
var player = TCPlayer('player-container-id',{
sources: 'webrtc://global-lebtest-play.myqcloud.com/live/lebtest?txSecret=f22a813b284137ed10d3259a7b5c224b&txTime=69f1eb8c&tabr_bitrates=d1080p,d540p,d360p&tabr_start_bitrate=d1080p',
webrtcConfig: {
fallbackUrl: 'https://global-lebtest-play.myqcloud.com/live/lebtest_HLSABR.m3u8',
},
});
Downgrade callback
When a downgrade is triggered, the player will initiate a callback:
player.on('webrtcfallback', function(event) {
console.log(event);
});
この記事はお役に立ちましたか?