tencent cloud

フィードバック

TCPlayer Swift Live Streaming Downgrade Notice

最終更新日:2024-04-11 16:50:14

    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:
    Operating system
    OS Version
    Browser
    Browser version
    Support for stream pull
    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:
    Operating system
    OS Version
    Browser
    Browser version
    Support for stream pull
    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);
    });
    
    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)