Live broadcast processing method and device and terminal equipment

By obtaining network bandwidth and round trip delay, combined with the preset maximum cache and minimum cache, the first cache for live broadcast is determined when starting playback, which solves the problem of lag in live broadcast during network jitter, reduces latency and improves user experience.

CN119653120APending Publication Date: 2025-03-18BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311199795.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-15
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

During network jitter, live broadcasts are prone to stuttering. The existing technology avoids stuttering by setting a fixed cache, but this will lead to a high delay in live broadcasts.

Method used

By obtaining network bandwidth and round trip delay, and combining the preset maximum cache and minimum cache, the first cache of the live broadcast is determined when the live broadcast is started, thereby optimizing the start playback stage of the live broadcast.

Benefits of technology

The accuracy of the first cache is improved, the phenomenon of stuttering when the live broadcast is started is avoided, and the delay of the live broadcast is reduced, and the user experience is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119653120A_ABST
    Figure CN119653120A_ABST
Patent Text Reader

Abstract

The invention provides a live broadcast processing method and apparatus, and a terminal device. The method comprises the steps of obtaining a network bandwidth and a round-trip delay; obtaining a preset maximum cache and a preset minimum cache when the live broadcast starts playing; based on the network bandwidth, the round-trip delay, the maximum cache and the minimum cache, determining a first cache of the live broadcast in a start playing stage; and starting to play the live broadcast based on the first cache.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present disclosure relate to the field of video processing technology, and in particular to a live broadcast processing method, apparatus, and terminal device. Background Art

[0002] When the network jitters, the live broadcast will be stuck. Therefore, the terminal device can increase the playback cache during the live broadcast to avoid the stuck phenomenon caused by network jitter.

[0003] Currently, the terminal device can set the same live broadcast cache for all clients, which can avoid freezes when users watch live broadcasts. For example, the terminal device can set 10 seconds of live broadcast cache data. In this way, when the live broadcast data download speed is lower than the data playback speed, the terminal device can use 10 seconds of live broadcast cache data to avoid freezes. However, this will result in a higher delay in live broadcasts. Summary of the invention

[0004] The present invention provides a live broadcast processing method, apparatus and terminal device, which are used to solve one or more technical problems in the prior art.

[0005] In a first aspect, the present disclosure provides a live broadcast processing method, the method comprising: obtaining network bandwidth and round-trip delay;

[0006] Get the maximum and minimum caches preset when starting the live broadcast;

[0007] Determine a first cache of the live broadcast at a start-up playback stage based on the network bandwidth, the round-trip delay, the maximum cache, and the minimum cache;

[0008] Based on the first cache, start playing the live broadcast.

[0009] In a second aspect, the present disclosure provides a live broadcast processing device, the live broadcast processing device comprising a first acquisition module, a second acquisition module, a determination module and a start module, wherein:

[0010] The first acquisition module is used to obtain network bandwidth and round-trip delay;

[0011] The second acquisition module is used to obtain the maximum cache and the minimum cache preset when the live broadcast is started;

[0012] The determination module is used to determine the first cache of the live broadcast in the start-up playback phase based on the network bandwidth, the round-trip delay, the maximum cache and the minimum cache;

[0013] The starting module is used to start playing the live broadcast based on the first cache.

[0014] In a third aspect, an embodiment of the present disclosure provides an electronic device including: a processor and a memory;

[0015] The memory stores computer-executable instructions;

[0016] The processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the live broadcast processing method as described in the first aspect and various possible aspects of the first aspect.

[0017] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, in which computer execution instructions are stored. When a processor executes the computer execution instructions, the live broadcast processing method as described in the first aspect and various possible aspects involved in the first aspect are implemented.

[0018] The present disclosure provides a live broadcast processing method, device and terminal device, the terminal device can obtain network bandwidth and round-trip delay, obtain the maximum cache and minimum cache preset when the live broadcast is started, determine the first cache when the live broadcast is started based on the network bandwidth, round-trip delay, maximum cache and minimum cache, and start playing the live broadcast based on the first cache. In the above method, since the terminal device can determine the first cache when the live broadcast is started in combination with the network status, the accuracy of the first cache is relatively high, and since the jamming phenomenon is prone to occur during the period when the live broadcast is started, the jamming phenomenon when the live broadcast is started can be avoided by setting the first cache when the live broadcast is started, and the first cache is different from the live broadcast cache after the live broadcast is played normally, and will not affect the live broadcast delay after the live broadcast is started, which can not only avoid jamming of the live broadcast, but also reduce the delay of the live broadcast. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0020] Figure 1 A schematic diagram of an application scenario provided by an embodiment of the present disclosure;

[0021] Figure 2 A flowchart of a live broadcast processing method provided by an embodiment of the present disclosure;

[0022] Figure 3 A schematic diagram of a process for determining a network quality level provided by an embodiment of the present disclosure;

[0023] Figure 4A schematic diagram of starting live broadcasting provided by an embodiment of the present disclosure;

[0024] Figure 5 A schematic diagram of starting live broadcasting provided by an embodiment of the present disclosure;

[0025] Figure 6 A schematic diagram of a method for determining a first cache provided by an embodiment of the present disclosure;

[0026] Figure 7 A schematic diagram of a process for determining a first cache provided by an embodiment of the present disclosure;

[0027] Figure 8 A schematic diagram of another process for determining a first cache provided by an embodiment of the present disclosure;

[0028] Fig. 9 A schematic diagram of the structure of a live broadcast processing device provided by an embodiment of the present disclosure; and

[0029] Fig.10 A schematic diagram of the structure of a terminal device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0030] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0031] To facilitate understanding, the concepts involved in the embodiments of the present disclosure are explained below.

[0032] Terminal device: a device with wireless transceiver function. The terminal device can be deployed on land, including indoors or outdoors, handheld, wearable or vehicle-mounted. The terminal device can be a mobile phone, a tablet computer, a computer with wireless transceiver function, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a vehicle-mounted terminal device, a wireless terminal in self-driving, a wireless terminal device in remote medical, a wireless terminal device in smart grid, a wireless terminal device in transportation safety, a wireless terminal device in smart city, a wireless terminal device in smart home, a wearable terminal device, etc. The terminal device involved in the embodiments of the present disclosure can also be called a terminal, a user equipment (UE), an access terminal device, a vehicle-mounted terminal, an industrial control terminal, a UE unit, a UE station, a mobile station, a mobile station, a remote station, a remote terminal device, a mobile device, a UE terminal device, a wireless communication device, a UE agent or a UE device, etc. Terminal devices can also be fixed or mobile.

[0033] In the related art, when the network jitters, the live broadcast may freeze. For example, when the network jitters, the download speed of the live broadcast data is lower than the playback speed of the live broadcast data, and the live broadcast freezes. In order to avoid the phenomenon of live broadcast freezes, the terminal device can set the same live broadcast cache for all clients. For example, the terminal device can set 10 seconds of live broadcast cache data. In this way, when the network jitters, the freeze can be avoided because there is 10 seconds of live broadcast cache data. However, the freeze of the live broadcast usually occurs when rendering the first frame. If the terminal device sets a larger cache, after starting the playback, the delay of the live broadcast process is large, which leads to a poor user experience.

[0034] In order to solve the technical problems in the related art, the embodiment of the present disclosure provides a live broadcast processing method, the terminal device can obtain the network bandwidth and round-trip delay, and obtain the maximum cache and minimum cache preset when the live broadcast is started, based on the network bandwidth and round-trip delay, determine the network quality level, based on the network quality level, the maximum cache and the minimum cache, determine the first cache when the live broadcast is started, if the current cache is greater than or equal to the first cache, the terminal device can start playing the live broadcast, if the current cache is less than the first cache, the terminal device can wait until the current cache is equal to the first cache to start playing the live broadcast, or the terminal device can wait for 1 second before starting to play the live broadcast. In this way, since the terminal device can determine the first cache when the live broadcast is started in combination with the network status, the accuracy of the first cache is high, for users with good network status, network bandwidth can be saved, and since the terminal device only optimizes the cache in the start-up playback stage, it will not affect the live broadcast cache after the start-up playback, so the live broadcast cache after the start-up playback can be set to a lower value, which can not only avoid live broadcast jams, but also reduce live broadcast delays and improve user experience.

[0035] Next, combine Figure 1 , the application scenarios of the embodiments of the present disclosure are described.

[0036] Figure 1 A schematic diagram of an application scenario provided by an embodiment of the present disclosure. Figure 1 , including a terminal device and a server. Among them, the display page of the terminal device is a live broadcast application page, and the live broadcast application page includes live broadcast 1, live broadcast 2 and live broadcast 3. When the user clicks live broadcast 1, the terminal device can send a playback request for live broadcast 1 to the server, and the server can send the live broadcast data of live broadcast 1 to the terminal device. After the terminal device caches 300ms of live broadcast data, the terminal device can play the screen of live broadcast 1. In this way, during the stage of starting the playback of live broadcast 1, the terminal device can cache enough live broadcast data to avoid the phenomenon of jamming when starting the playback of live broadcast 1. After the playback of live broadcast 1 is started, since the terminal device includes the live broadcast cache of live broadcast 1 (the cache is different from the cache for starting the playback), the jamming phenomenon during the live broadcast process can be avoided. Since the terminal device can distinguish the cache for starting the playback from the cache for the live broadcast process, the cache for starting the playback will not affect the delay of the live broadcast process, thereby reducing the live broadcast delay.

[0037] It should be noted that Figure 1 The application scenarios of the embodiments of the present disclosure are merely illustrative and are not intended to limit the application scenarios of the embodiments of the present disclosure.

[0038] The technical solution of the present invention and how the technical solution of the present invention solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present invention will be described below in conjunction with the accompanying drawings.

[0039] Figure 2 A flowchart of a live broadcast processing method provided by an embodiment of the present disclosure. Figure 2 , the method may include:

[0040] S201. Obtain network bandwidth and round-trip delay.

[0041] The execution subject of the embodiment of the present disclosure may be a terminal device, or a live broadcast processing device arranged in the terminal device. The live broadcast processing device may be implemented based on software, or may be implemented based on a combination of software and hardware, which is not limited by the embodiment of the present disclosure.

[0042] The network bandwidth may be the current network bandwidth of the terminal device. For example, the network bandwidth may be the real-time network bandwidth of the terminal device, and the terminal device may collect network bandwidth data within a preset time window to obtain the current network bandwidth. For example, the preset time window may be 10 seconds, and the terminal device may obtain the current network bandwidth every 10 seconds.

[0043] The round-trip delay may be the current round-trip delay of the terminal device. For example, the round-trip delay may be the real-time round-trip delay of the terminal device, and the terminal device may collect the round-trip delay within a preset time window to obtain the current round-trip delay. For example, the preset time window may be 10 seconds, that is, the terminal device may obtain the current round-trip delay every 10 seconds.

[0044] It should be noted that the terminal device can obtain the real-time network bandwidth and real-time round-trip delay of the terminal device based on any feasible implementation method, and the embodiments of the present disclosure are not limited to this.

[0045] S202: Obtain the maximum buffer and the minimum buffer preset when the live broadcast is started.

[0046] The maximum buffer can indicate the maximum amount of data that is buffered when the live broadcast is started. For example, if the maximum buffer is 500ms, the maximum amount of data that is buffered when the live broadcast is started can correspond to a playback duration of 500ms; if the maximum buffer is 1000ms, the maximum amount of data that is buffered when the live broadcast is started can correspond to a playback duration of 1000ms.

[0047] The minimum buffer may indicate the minimum amount of data that is buffered when the live broadcast is started. For example, if the minimum buffer is 0ms, the live broadcast does not need to buffer live broadcast data when it is started; for example, if the minimum buffer is 10ms, the playback duration corresponding to the minimum amount of data that is buffered when the live broadcast is started may be 10ms.

[0048] It should be noted that the maximum cache and the minimum cache in the embodiment of the present disclosure may be preset values, and the maximum cache and the minimum cache may be any values, which are not limited in the embodiment of the present disclosure. For example, the preset maximum cache may be 500ms, and the preset minimum cache may be 0ms; the preset maximum cache may be 1000ms, and the preset minimum cache may be 100ms, etc.

[0049] S203: Determine the first cache of the live broadcast in the start-up playback phase based on the network bandwidth, round-trip delay, maximum cache, and minimum cache.

[0050] The first buffer may be a buffer for the live broadcast during the start-up playback phase. For example, if the first buffer is 100ms, the buffer for the live broadcast during the start-up playback phase is 100ms; if the first buffer is 500ms, the buffer for the live broadcast during the start-up playback phase is 500ms.

[0051] Optionally, the start-up playback phase may be within 2 seconds after the start-up playback, or within 4 seconds after the start-up playback, which is not limited in the embodiments of the present disclosure. For example, if the first buffer is 100ms, the start-up playback phase may be within 4 seconds after the start-up playback, then the buffer of the live broadcast from the start-up to the 4th second is 100ms.

[0052] The terminal device can determine the first cache of the live broadcast at the start-up playback stage based on the following feasible implementation methods: determine the network quality level based on the network bandwidth and round-trip delay, and determine the first cache of the live broadcast at the start-up playback stage based on the network quality level, the maximum cache and the minimum cache. In this way, the terminal device can flexibly and accurately determine the cache of the live broadcast at the start-up playback stage in combination with the network status of different clients, thereby improving the flexibility of determining the cache and the accuracy of the cache.

[0053] The network quality level is used to indicate the network status of the terminal device, and the network quality level is proportional to the network status. For example, the network quality level may include the first level, the second level, the third level, and the fourth level, wherein the network status of the fourth level is better than the network status of the third level, the network status of the third level is better than the network status of the second level, and the network status of the second level is better than the network status of the first level.

[0054] Optionally, the terminal device determines the network quality level based on the network bandwidth and round-trip delay. There are four situations:

[0055] Case 1: the network bandwidth is less than or equal to the first preset bandwidth, and the round-trip delay is greater than or equal to the first preset duration.

[0056] If the network bandwidth is less than or equal to the first preset bandwidth, and the round-trip delay is greater than or equal to the first preset duration, the terminal device can determine that the network quality level is level 1. For example, the first preset bandwidth can be 800kb / s, and the first preset duration can be 77ms. When the network bandwidth is less than 800kb / s, and the round-trip delay is greater than 77ms, it indicates that the current network status of the terminal device is poor, and therefore, the network quality level is level 1.

[0057] Case 2: the network bandwidth is less than or equal to the second preset bandwidth and greater than the first preset bandwidth, and the round-trip delay is greater than or equal to the second preset duration and less than the first preset duration.

[0058] If the network bandwidth is less than or equal to the second preset bandwidth and greater than the first preset bandwidth, and the round-trip delay is greater than or equal to the second preset duration and less than the first preset duration, the terminal device can determine that the network quality level is the second level. For example, the second preset bandwidth can be 2300kb / s, and the second preset duration can be 46ms. When the network bandwidth is greater than 800kb / s and less than or equal to 2300kb / s, and the round-trip delay is greater than or equal to 46ms and less than 77ms, it means that the current network state of the terminal device is better than the network state in situation 1, and therefore, the network quality level can be the second level.

[0059] Case 3: the network bandwidth is less than or equal to the third preset bandwidth and greater than the second preset bandwidth, and the round-trip delay is greater than or equal to the third preset duration and less than the second preset duration.

[0060] If the network bandwidth is less than or equal to the third preset bandwidth and greater than the second preset bandwidth, and the round-trip delay is greater than or equal to the third preset duration and less than the second preset duration, it is determined that the terminal device can determine that the network quality level is the third level. For example, the third preset bandwidth can be 3000kb / s, and the third preset duration can be 23ms. When the network bandwidth is less than or equal to 3000kb / s and greater than 2300kb / s, and the round-trip delay is greater than or equal to 23ms and less than 46ms, it means that the current network state of the terminal device is better than the network state in situation 1, and therefore, the network quality level can be the third level.

[0061] Case 4: the network bandwidth is greater than the third preset bandwidth, and the round-trip delay is less than the third preset duration.

[0062] If the network bandwidth is greater than the third preset bandwidth and the round-trip delay is less than the third preset duration, the terminal device can determine that the network quality level is level 4. For example, if the network bandwidth is greater than 3000 kb / s and the round-trip delay is less than 23 ms, it means that the current network state of the terminal device is good, and the current network state is better than the network state in situation 3, therefore, the terminal device can determine that the network quality level can be level 4.

[0063] In this way, the terminal device can classify the network status of the terminal device based on the network bandwidth and the round-trip delay, thereby improving the accuracy of determining the first cache.

[0064] It should be noted that the network quality level determined by the network bandwidth and round-trip delay can be backward compatible. For example, if the network bandwidth is greater than 3000kb / s and the round-trip delay is greater than or equal to 23ms and less than 46ms, then based on Case 3 and Case 4, the terminal device can be backward compatible with the network quality level. Since the round-trip delay meets the third level, the terminal device can determine that the network quality level is the third level.

[0065] It should be noted that the network quality level determined by the network bandwidth and round-trip delay can also be upward compatible. For example, if the network bandwidth is greater than 3000kb / s and the round-trip delay is greater than or equal to 23ms and less than 46ms, then based on Case 3 and Case 4, the terminal device can be upward compatible with the network quality level. Since the network bandwidth meets the fourth level, the terminal device can determine that the network quality level is the fourth level.

[0066] Optionally, the terminal device may calculate the network bandwidth and round-trip delay to obtain the target parameters, and then determine the network quality level according to the target parameters. For example, the terminal device may determine the ratio of network bandwidth to round-trip delay as the target parameter. The larger the target parameter, the better the network state, and the smaller the target parameter, the worse the network state. For example, if the ratio of network bandwidth to round-trip delay is less than a first threshold, the terminal device may determine that the network quality level is the first level; if the ratio of network bandwidth to round-trip delay is greater than or equal to the first threshold and less than the second threshold, the terminal device may determine that the network quality level is the second level; if the ratio of network bandwidth to round-trip delay is greater than or equal to the second threshold and less than the third threshold, the terminal device may determine that the network quality level is the third level; if the ratio of network bandwidth to round-trip delay is greater than or equal to the third threshold, the terminal device may determine that the network quality level is the fourth level.

[0067] Next, combine Figure 3 , describes the process of determining the network quality level.

[0068] Figure 3A schematic diagram of a process for determining a network quality level provided by an embodiment of the present disclosure. Figure 3 , including: terminal device 1 and terminal device 2. The network parameters of terminal device 1 include: RTT (round trip time) is 40ms, the network bandwidth is 2300kb / s, and the network parameters of terminal device 2 include: RTT80ms, the network bandwidth is 700kb / s. The network quality levels include the first level, the second level, the third level and the fourth level, wherein the network status of the fourth level is better than the network status of the third level, the network status of the third level is better than the network status of the second level, and the network status of the second level is better than the network status of the first level.

[0069] See also Figure 3 Since the RTT and network bandwidth of the network parameters of terminal device 1 are within the range of the RTT and network bandwidth of the second level, the network quality level of terminal device 1 is the second level. Since the RTT and network bandwidth of the network parameters of terminal device 2 are within the range of the RTT and network bandwidth of the first level, the network quality level of terminal device 2 is the first level. That is, the network status of terminal device 1 is better than the network status of terminal device 2. In this way, the terminal device can accurately determine the current network quality level, and then accurately set the first cache of the live broadcast in the start-up playback stage, thereby improving the accuracy of the first cache.

[0070] Optionally, after the terminal device determines the network quality level, it can configure an appropriate first cache for starting the playback phase for the terminal device based on the network quality level, maximum cache and minimum cache. In this way, since the first cache is associated with the network status, the accuracy and flexibility of the first cache can be improved.

[0071] S204: Based on the first cache, start playing the live broadcast.

[0072] Among them, the terminal device can start live broadcast based on the following feasible implementation method: obtain the current cache of the live broadcast, if the current cache of the live broadcast is greater than or equal to the first cache, start the live broadcast; if the current cache of the live broadcast is less than the first cache, wait for the current cache of the live broadcast to be equal to the first cache, or wait for a fourth preset time period before starting the live broadcast.

[0073] Optionally, the terminal device may obtain the current cache of the live broadcast based on any feasible implementation method, which is not limited in the embodiments of the present disclosure.

[0074] Optionally, when the player of the terminal device renders the first frame of the live broadcast, if the current cache of the live broadcast is greater than or equal to the first cache, it means that the amount of live broadcast data cached by the terminal device meets the cache data required for the start-up stage of the live broadcast, so the terminal device can play the live broadcast. For example, if the first cache is 100ms, if the terminal device has cached 110ms of live broadcast data when rendering the first frame of the live broadcast, the terminal device can start playing the live broadcast, so that the phenomenon of live broadcast freeze can be avoided at the start-up stage of the live broadcast.

[0075] Optionally, when the player of the terminal device renders the first frame of the live broadcast, if the current cache of the live broadcast is smaller than the first cache, it means that the amount of live broadcast data cached by the terminal device does not meet the cache data required for the start-up playback phase of the live broadcast. If the terminal device starts to play the live broadcast, it may be stuck in the start-up playback phase. Therefore, the terminal device can wait until the current cache is equal to the first cache before starting to play the live broadcast. For example, the first cache is 100ms. If the terminal device has cached 80ms of live broadcast data when rendering the first frame of the live broadcast, the terminal device needs to cache 20ms of live broadcast data before starting to play the live broadcast. For example, the fourth preset duration can be 1 second. If the current cache of the live broadcast is smaller than the first cache, and after 1 second, the current cache of the live broadcast is still smaller than the first cache, the terminal device can start playing the live broadcast. This can avoid the problem of long waiting time and poor user experience.

[0076] Next, combine Figure 4-Figure 5 , a process of starting live broadcasting by a terminal device based on a first cache is described.

[0077] Figure 4 A schematic diagram of starting live broadcasting provided by an embodiment of the present disclosure. Figure 4 , including: a terminal device. The first cache is 500ms. When the player of the terminal device renders the first frame, the display page of the terminal device may include the first frame of the live broadcast. When the terminal device has cached 400ms of live broadcast data, the display page of the terminal device still includes the first frame of the live broadcast. When the terminal device has cached 500ms of live broadcast data, the terminal device can start playing the live broadcast, and the display page of the terminal device may include the live broadcast.

[0078] Figure 5 A schematic diagram of starting live broadcasting provided by an embodiment of the present disclosure. Figure 5, including: a terminal device. Among them, the first cache is 500ms. When the player of the terminal device renders the first frame, the display page of the terminal device may include the first frame of the live broadcast. The terminal device caches 200ms of live broadcast data 0.5 seconds after the user clicks the live broadcast, and the display page of the terminal device still includes the first frame of the live broadcast. The terminal device caches 400ms of live broadcast data 1 second after the user clicks the live broadcast. Although the current cache of the terminal device has not reached 500ms, since 1 second has passed since the user clicked the live broadcast, in order to avoid the user waiting for the live broadcast, the terminal device can start playing the live broadcast, and the display page of the terminal device may include the live broadcast screen.

[0079] The disclosed embodiment provides a live broadcast processing method, wherein a terminal device can obtain network bandwidth and round-trip delay, and obtain the maximum cache and minimum cache preset when the live broadcast is started, determine the network quality level based on the network bandwidth and round-trip delay, and determine the first cache when the live broadcast is started based on the network quality level, the maximum cache and the minimum cache, if the current cache is greater than or equal to the first cache, the terminal device can start playing the live broadcast, if the current cache is less than the first cache, the terminal device can wait until the current cache is equal to the first cache to start playing the live broadcast, or the terminal device can wait for 1 second before starting to play the live broadcast. In this way, since the first cache is determined based on the network status, the accuracy of the first cache is high, and for users with good network status, network bandwidth can be saved, and since the terminal device only optimizes the cache in the start-up playback stage, it will not affect the live broadcast cache after the start-up playback, so the live broadcast cache after the start-up playback can be set to a lower value, which can not only avoid live broadcast freezes, but also reduce live broadcast delays and improve user experience.

[0080] exist Figure 2 Based on the embodiment shown below, combined with Figure 6 , a method for determining the first cache of the live broadcast at the start-up playback stage based on the network quality level, the maximum cache and the minimum cache in the above-mentioned live broadcast processing method is described.

[0081] Figure 6 A schematic diagram of a method for determining a first cache provided by an embodiment of the present disclosure. Figure 6 The method flow includes:

[0082] S601. Obtain live broadcast information of a live broadcast.

[0083] Optionally, the live broadcast information may include: information on whether the live broadcast is the first live broadcast and information on whether a retry playback request has occurred. The information on whether the live broadcast is the first live broadcast may be used to indicate whether the live broadcast is the first live broadcast after the terminal device starts the live broadcast application. For example, if the first live broadcast after the terminal device starts the live broadcast software is live broadcast 1, the live broadcast information of live broadcast 1 may include: first live broadcast; if the second live broadcast after the terminal device starts the live broadcast software is live broadcast 2, the live broadcast information of live broadcast 2 may include: not the first live broadcast.

[0084] The information on whether a retry playback request has occurred in the live broadcast can be used to indicate whether a retry playback request has occurred in the live broadcast. For example, if the terminal device reports an error after starting live broadcast 1, and the terminal device requests to retry playing live broadcast 1, the live broadcast information of live broadcast 1 may include: a retry live broadcast request has occurred; if the terminal device does not re-request to retry playing live broadcast 2 when starting live broadcast 2, the live broadcast information of live broadcast 2 may include: no retry live broadcast request has occurred.

[0085] It should be noted that the terminal device can determine the live broadcast information of the live broadcast based on any feasible implementation method (such as obtaining the live broadcast information of the live broadcast based on the log of the live broadcast application), and the embodiments of the present disclosure are not limited to this.

[0086] S602: Calculate and obtain a second cache based on the network quality level, the maximum cache, and the minimum cache.

[0087] Optionally, the terminal device may determine the second cache based on the network quality level. For example, the terminal device may obtain the correspondence between the network quality level and the second cache, and determine the second cache based on the network quality level and the correspondence, wherein the correspondence between the network quality level and the second cache may include at least one network quality level and a second cache corresponding to each network quality level. For example, the correspondence between the network quality level and the second cache may be as shown in Table 1:

[0088] Table 1

[0089]

[0090]

[0091] It should be noted that Table 1 is only an example to illustrate the correspondence between the network quality level and the second cache, and is not a limitation on the correspondence between the network quality level and the second cache.

[0092] For example, if the network quality level of the terminal device is the first level, the terminal device can determine that the second cache is cache 1; if the network quality level of the terminal device is the second level, the terminal device can determine that the second cache is cache 2; if the network quality level of the terminal device is the third level, the terminal device can determine that the second cache is cache 3; if the network quality level of the terminal device is the fourth level, the terminal device can determine that the second cache is cache 4.

[0093] Optionally, the terminal device calculates the second cache based on the following formula:

[0094]

[0095] Among them, y x Can be the second cache; min Can be the minimum cache; y max It can be the maximum cache; x can be the network quality level (x for the first level is 1, x for the second level is 2, x for the third level is 3, and x for the fourth level is 4).

[0096] In this way, the terminal device can substitute the network quality level, maximum cache and minimum cache into the above formula, and then obtain the second cache corresponding to each network quality level. Since the second cache is related to the network quality, the second cache has higher flexibility and accuracy.

[0097] S603: Determine a first cache based on the live broadcast information and the second cache.

[0098] The terminal device determines the first cache based on the live broadcast information and the second cache. There are four situations as follows:

[0099] Case 1: The live broadcast information indicates that the live broadcast is the first live broadcast, and no retry playback request occurs in the live broadcast.

[0100] If the live broadcast information indicates that the live broadcast is the first live broadcast, and no retry playback request occurs in the live broadcast, the terminal device can obtain the first freeze number and the first retry playback request number of the user watching the live broadcast in the historical period, and determine the first cache based on the first freeze number, the first retry playback request number and the second cache. For example, if the live broadcast information indicates that the live broadcast is the first live broadcast, the live broadcast is the first live broadcast after the terminal device starts the live broadcast application, and there is no information associated with the previous live broadcast. Moreover, since no retry playback request occurs in the live broadcast, there is no information associated with the current live broadcast. Therefore, the terminal device can obtain the first freeze number and the first retry playback request number of multiple live broadcasts watched by the user in the historical period. In this way, the terminal device can determine the user's habit of watching live broadcasts based on the first freeze number and the first retry playback request number, thereby improving the accuracy of the second cache.

[0101] The first number of freezes may be the sum of the number of freezes of live broadcasts watched by the user in the historical period. For example, if the number of freezes of live broadcast 1 watched by the user in the historical period is 10, and the number of freezes of live broadcast 2 watched by the user is 20, then the first number of freezes may be 30.

[0102] The first number of retry playback requests may be the total number of retry playback requests when the user watched the live broadcast in the historical period. For example, if the number of retry playback requests when the user watched the live broadcast 1 in the historical period was 1, and the number of retry playback requests when the user watched the live broadcast 2 was 2, then the first number of retry playback requests is 3.

[0103] It should be noted that the terminal device can obtain the first number of freezes and the first number of retry playback requests based on any feasible implementation method, and the embodiments of the present disclosure are not limited to this.

[0104] It should be noted that the historical period in the embodiment of the present disclosure may be a recent historical period or any historical period, and the embodiment of the present disclosure is not limited to this.

[0105] Optionally, the terminal device determines the first cache based on the first number of freezes, the first number of retry playback requests and the second cache. Specifically, it can be: based on the first number of freezes and the first number of retry playback requests, calculate the third cache, add the third cache and the second cache to obtain the first cache.

[0106] Optionally, the terminal device may calculate the third cache based on the following formula:

[0107]

[0108] Among them, y x-offset Can be the third cache, y x and x+1 is the second cache, x is the network quality level (the first level is 1, the second level is 2, the third level is 3, and the fourth level is 4), and count is the weighted number of the first freeze number and the first retry playback request number, wherein the weighted calculation method is:

[0109] count=A*α+B*β

[0110] Among them, A can be the first number of freezes, B can be the first number of retry playback requests, α and β can be preset coefficients (for example, α can be 0.42, β can be 0.58, and the above two coefficients can also be determined by the first number of freezes and the first number of retry playback requests, which is not limited to the embodiments of the present disclosure).

[0111] In this case, if the live broadcast is the first one and no retry playback request occurs, the terminal device can determine the first cache based on the user's habits when watching the live broadcast during the historical period (such as easy to freeze, not easy to freeze, etc.), thereby improving the accuracy of the first cache.

[0112] Next, combine Figure 7 , in this case, the process of determining the first cache is explained.

[0113] Figure 7 A schematic diagram of a process for determining a first cache provided by an embodiment of the present disclosure. Figure 7 , including live broadcast information of the live broadcast. The live broadcast information may include: first broadcast, no retry playback request. Terminal device ( Figure 7 The network parameters of the video (not shown) may include: RTT is 40ms, network bandwidth is 2300kb / s, therefore, the terminal device may determine that the network quality level is the second level, and may determine that the second cache corresponding to the second level is 300ms. The terminal device may obtain the first freeze number and the first retry playback request number of the live broadcast in the historical period, and calculate the third cache as 50ms based on the first freeze number and the first retry playback request number. The terminal device may add the second cache and the third cache to obtain the first cache as 350 milliseconds.

[0114] In this way, the terminal device can determine the second cache based on the network status to improve the accuracy of the second cache. Moreover, the terminal device can adjust the second cache based on the user's habit of watching live broadcasts, thereby improving the accuracy of the first cache.

[0115] Case 2: The live broadcast information indicates that the live broadcast is the first live broadcast, and a retry playback request occurs in the live broadcast.

[0116] If the live broadcast information indicates that the live broadcast is the first live broadcast, and a retry playback request occurs in the live broadcast, the terminal device can obtain the second number of freezes and the second number of retry playback requests when the user is watching the live broadcast, and determine the first cache based on the second number of freezes, the second number of retry playback requests and the second cache.

[0117] The second number of freezes may be the number of freezes when the user is watching the current live broadcast, and the second number of retry playback requests may be the number of retry playback requests when the user is watching the current live broadcast. For example, since the live broadcast information of the live broadcast includes a retry playback request for the live broadcast, the live broadcast has historical live broadcast data, and since the historical live broadcast data is the most recent live broadcast data, the reliability of the historical live broadcast data is relatively high. The terminal device can determine the second number of freezes and the second number of retry playback requests in the historical live broadcast data, thereby improving the accuracy of the first cache.

[0118] For example, when a user is watching a live broadcast, an error occurs in the live broadcast, causing the terminal device to request to replay the live broadcast. When the terminal device restarts the live broadcast, the user has already watched the live broadcast for a period of time. Therefore, the number of freezes within this period of time may be the second freeze number, and the number of retried playback requests within this period of time may be the second retried playback request number.

[0119] It should be noted that the terminal device can determine the second number of freezes and the second number of retry playback requests based on any feasible implementation method, and the embodiments of the present disclosure are not limited to this.

[0120] Optionally, the terminal device determines the first cache based on the second number of freezes, the second number of retry playback requests and the second cache. Specifically, the terminal device calculates a cache based on the second number of freezes and the second number of retry playback requests, and adds the cache to the second cache to obtain the first cache.

[0121] It should be noted that the terminal device calculates a cache based on the second number of freezes and the second number of retry playback requests, which is the same as the process in which the terminal device calculates the third cache based on the first number of freezes and the first number of retry playback requests, and the embodiments of the present disclosure will not be repeated here.

[0122] In this case, since the live broadcast has had a retry playback request, there is a segment of live broadcast data for the live broadcast. Since the reliability of this segment of live broadcast data is relatively high, the terminal device adjusts the second cache based on this segment of live broadcast data, and the accuracy of the obtained first cache is relatively high.

[0123] Case 3: The live broadcast information indicates that the live broadcast is not the first live broadcast, and no retry playback request occurs for the live broadcast.

[0124] If the live broadcast information indicates that the live broadcast is not the first live broadcast, and no retry playback request occurs in the live broadcast, the terminal device can obtain the third number of freezes and the third number of retry playback requests of the previous live broadcast, and determine the first cache based on the third number of freezes, the third number of retry playback requests and the second cache.

[0125] The third number of freezes may be the number of freezes corresponding to the previous live broadcast, and the third retry play request may be the number of retry play requests corresponding to the previous live broadcast. For example, after the terminal device starts the live broadcast application, the terminal device plays live broadcast 1, and after live broadcast 1 ends, the terminal device plays live broadcast 2, and the live broadcast information of live broadcast 2 includes non-first live broadcasts. If live broadcast 1 freezes 10 times during the live broadcast and retries the play request 3 times, the terminal device can confirm that the third number of freezes is 10 times and the third retry play request is 3 times.

[0126] For example, when the terminal device is preparing to play a live broadcast that is not the first live broadcast, since the live broadcast data of the previous live broadcast is the most recent live broadcast data, the reliability of the live broadcast data of the previous live broadcast is higher. Therefore, the terminal device adjusts the second cache based on the live broadcast data of the previous live broadcast, and the accuracy of the obtained first cache is higher.

[0127] It should be noted that the terminal device can determine the third number of freezes and the third number of retry playback requests based on any feasible implementation method, and the embodiments of the present disclosure are not limited to this.

[0128] Among them, the terminal device determines the first cache based on the third number of freezes, the third number of retry playback requests and the second cache. Specifically, it can be: based on the third number of freezes and the third number of retry playback requests, calculate the fourth cache, obtain the duration between the end of the last live broadcast and the current moment, determine the weight based on the duration between the end of the last live broadcast and the current moment, multiply the fourth cache by the weight to obtain the fifth cache, and add the fifth cache to the second cache to obtain the first cache.

[0129] It should be noted that the process by which the terminal device calculates the fourth cache based on the third number of freezes and the third number of retry playback requests is the same as the process by which the terminal device calculates the third cache based on the first number of freezes and the first number of retry playback requests, and the embodiments of the present disclosure will not be repeated here.

[0130] For example, the current live broadcast is Live Broadcast 1, and the previous live broadcast is Live Broadcast 2. If Live Broadcast 2 ends 3 seconds later and the terminal device is ready to play the current live broadcast, the terminal device can determine that the duration between the end of the previous live broadcast and the current time is 3 seconds.

[0131] Optionally, the terminal device may determine the weight based on the following formula:

[0132]

[0133] Among them, w is the weight, and delta is the time between the end of the last live broadcast and the current moment.

[0134] For example, if the second cache is 100ms, the terminal device calculates the fourth cache to be 30ms based on the third number of freezes and the third number of retry playback requests, with a weight of 0.5. The terminal device can determine that the fifth cache is 15ms, and further determine that the first cache is 115 milliseconds.

[0135] In this case, since users' habits of watching live broadcasts will change over time, the farther the live broadcast data is from the current moment, the lower its reliability, and the closer the live broadcast data is to the current moment, the higher its reliability. The terminal device can improve the accuracy of the first cache by adjusting the fourth cache in combination with the weight.

[0136] Next, combine Figure 8 , in this case, the process of determining the first cache is explained.

[0137] Figure 8 Another schematic diagram of a process for determining a first cache provided by an embodiment of the present disclosure. Figure 8 , including: including live broadcast information of the live broadcast. Among them, the live broadcast information may include: non-first broadcast, no retry playback request. Terminal device ( Figure 8 The network parameters of the live broadcast (not shown) may include: RTT is 10ms, network bandwidth is 3300kb / s, so the terminal device can determine that the network quality level is the fourth level, and can determine that the second cache corresponding to the fourth level is 0ms. The terminal device can calculate the third freeze number and the third retry playback request number of the previous live broadcast, and the fourth cache is 10ms based on the third freeze number and the third retry playback request number. The terminal device determines that the weight is 0.5 based on the duration between the end of the previous live broadcast and the current moment. Therefore, the terminal device can multiply the fourth cache by the weight and add the result to the second cache to obtain a first cache of 0 milliseconds.

[0138] Case 4: The live broadcast information indicates that the live broadcast is not the first live broadcast, and a retry playback request occurs in the live broadcast.

[0139] If the live broadcast information indicates that the live broadcast is not the first live broadcast, and a retry playback request occurs in the live broadcast, the fourth number of freezes and the fourth number of retry playback requests of the previous live broadcast and the live broadcast are obtained, and the first cache is determined based on the fourth number of freezes, the fourth number of retry playback requests and the second cache.

[0140] The fourth number of freezes may be the sum of the number of freezes of the last live broadcast and the number of freezes of the current live broadcast, and the fourth number of retry playback requests may be the sum of the number of retry playback requests of the last live broadcast and the number of retry playback requests of the current live broadcast. For example, if the live broadcast information indicates that the live broadcast is not the first live broadcast, and a retry playback request occurs in the live broadcast, the terminal device has the live broadcast data of the last live broadcast, and the terminal device also has a segment of live broadcast data of the current live broadcast, and then the fourth number of freezes and the fourth number of retry playback requests can be determined based on the live broadcast data of the last live broadcast and the segment of live broadcast data of the current live broadcast.

[0141] For example, the terminal device is currently re-requesting to play Live 1. The previous live broadcast of Live 1 is Live 2. Live 2 was stuck 30 times during the live broadcast and the playback request was retried 3 times. Live 1 was stuck 10 times before this re-request to play and the playback was requested 2 times. The terminal device can determine that the fourth number of freezes is 40 times and the fourth number of replay requests is 5 times.

[0142] It should be noted that the terminal device can determine the fourth number of freezes and the fourth number of retry playback requests based on any feasible implementation method, and the embodiments of the present disclosure are not limited to this.

[0143] Optionally, the process by which the terminal device determines the first cache based on the fourth number of freezes, the fourth number of retry playback requests and the second cache is the same as the process by which the terminal device determines the first cache based on the third number of freezes, the third number of retry playback requests and the second cache, and this will not be repeated in the embodiments of the present disclosure.

[0144] In this case, since the terminal device has the live broadcast data of the previous live broadcast and the live broadcast data of the current live broadcast, and the terminal device can determine the attenuation weight based on the duration between the end of the previous live broadcast and the current moment, the terminal device can adjust the second cache based on the above live broadcast data and the attenuation weight, thereby further improving the accuracy of the first cache.

[0145] The disclosed embodiment provides a method for determining a first cache, obtaining live broadcast information of a live broadcast, calculating a second cache based on a network quality level, a maximum cache, and a minimum cache, and determining the first cache based on the live broadcast information and the second cache. In this way, the terminal device can determine different scenarios based on the live broadcast information, and then determine the first cache in each scenario, thereby improving the flexibility of determining the first cache and improving the accuracy of determining the first cache.

[0146] Fig. 9 This is a structural diagram of a live broadcast processing device provided by an embodiment of the present disclosure. Fig. 9 The live broadcast processing device 900 includes a first acquisition module 901, a second acquisition module 902, a determination module 903 and a start module 904, wherein:

[0147] The first acquisition module 901 is used to obtain network bandwidth and round-trip delay;

[0148] The second acquisition module 902 is used to obtain the maximum cache and the minimum cache preset when the live broadcast is started;

[0149] The determination module 903 is used to determine the first cache of the live broadcast in the start-up playback phase based on the network bandwidth, the round-trip delay, the maximum cache and the minimum cache;

[0150] The starting module 904 is used to start playing the live broadcast based on the first cache.

[0151] According to one or more embodiments of the present disclosure, the determining module 903 is specifically configured to:

[0152] Determining a network quality level based on the network bandwidth and the round-trip delay;

[0153] Based on the network quality level, the maximum buffer and the minimum buffer, a first buffer of the live broadcast in a start-up playback phase is determined.

[0154] According to one or more embodiments of the present disclosure, the determining module 903 is specifically configured to:

[0155] If the network bandwidth is less than or equal to the first preset bandwidth, and the round trip delay is greater than or equal to the first preset duration, determining that the network quality level is the first level;

[0156] If the network bandwidth is less than or equal to the second preset bandwidth and greater than the first preset bandwidth, and the round trip delay is greater than or equal to the second preset duration and less than the first preset duration, then the network quality level is determined to be the second level;

[0157] If the network bandwidth is less than or equal to the third preset bandwidth and greater than the second preset bandwidth, and the round-trip delay is greater than or equal to the third preset duration and less than the second preset duration, then the network quality level is determined to be the third level;

[0158] If the network bandwidth is greater than the third preset bandwidth and the round trip delay is less than the third preset duration, determining that the network quality level is the fourth level;

[0159] The network quality level is proportional to the network status.

[0160] According to one or more embodiments of the present disclosure, the determining module 903 is specifically configured to:

[0161] Acquire live broadcast information of the live broadcast, the live broadcast information including: information on whether the live broadcast is the first live broadcast and information on whether a retry playback request occurs for the live broadcast;

[0162] Calculate and obtain a second cache based on the network quality level, the maximum cache, and the minimum cache;

[0163] Based on the live broadcast information and the second cache, the first cache is determined.

[0164] According to one or more embodiments of the present disclosure, the determining module 903 is specifically configured to:

[0165] If the live broadcast information indicates that the live broadcast is the first live broadcast, and no retry playback request occurs in the live broadcast, obtaining a first freeze number and a first retry playback request number when the user watches the live broadcast in a historical period, and determining the first cache based on the first freeze number, the first retry playback request number and the second cache;

[0166] If the live broadcast information indicates that the live broadcast is the first live broadcast, and a retry playback request occurs in the live broadcast, obtaining a second freeze number and a second retry playback request number when the user is watching the live broadcast, and determining the first cache based on the second freeze number, the second retry playback request number and the second cache;

[0167] If the live broadcast information indicates that the live broadcast is not the first live broadcast, and no retry playback request occurs in the live broadcast, obtaining the third freeze number and the third retry playback request number of the previous live broadcast, and determining the first cache based on the third freeze number, the third retry playback request number and the second cache;

[0168] If the live broadcast information indicates that the live broadcast is not the first live broadcast, and a retry playback request occurs in the live broadcast, the fourth number of freezes and the fourth number of retry playback requests of the previous live broadcast and the live broadcast are obtained, and the first cache is determined based on the fourth number of freezes, the fourth number of retry playback requests and the second cache.

[0169] According to one or more embodiments of the present disclosure, the determining module 903 is specifically configured to:

[0170] Calculating a third cache based on the first number of freezes and the first number of retried playback requests;

[0171] The third cache and the second cache are added together to obtain the first cache.

[0172] According to one or more embodiments of the present disclosure, the determining module 903 is specifically configured to:

[0173] Calculating a fourth cache based on the third number of freezes and the third number of retry playback requests;

[0174] Get the duration between the end of the last live broadcast and the current time;

[0175] Determine a weight based on the time between the end of the last live broadcast and the current moment;

[0176] The fourth cache is multiplied by the weight to obtain a fifth cache, and the fifth cache is added to the second cache to obtain the first cache.

[0177] According to one or more embodiments of the present disclosure, the startup module 904 is specifically used to:

[0178] Get the current cache of the live broadcast;

[0179] If the current buffer of the live broadcast is greater than or equal to the first buffer, start playing the live broadcast;

[0180] If the current buffer of the live broadcast is smaller than the first buffer, wait until the current buffer of the live broadcast is equal to the first buffer, or wait for a fourth preset time period before starting to play the live broadcast.

[0181] The live broadcast processing device provided in the embodiment of the present disclosure can be used to execute the technical solution of the above-mentioned method embodiment. Its implementation principle and technical effect are similar, and this embodiment will not be repeated here.

[0182] Fig.10 This is a schematic diagram of the structure of a terminal device provided by an embodiment of the present disclosure. Fig.10 , which shows a schematic diagram of the structure of a terminal device 1000 suitable for implementing the embodiment of the present disclosure. The terminal device may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, personal digital assistants (PDAs), tablet computers (Portable Android Devices, PADs), portable multimedia players (PMPs), vehicle terminals (such as vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Fig.10 The terminal device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0183] like Fig.10 As shown, the terminal device 1000 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 1001, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1008 to a random access memory (RAM) 1003. Various programs and data required for the operation of the terminal device 1000 are also stored in the RAM 1003. The processing device 1001, the ROM 1002, and the RAM 1003 are connected to each other via a bus 1004. An input / output (I / O) interface 1005 is also connected to the bus 1004.

[0184] Typically, the following devices may be connected to the I / O interface 1005: input devices 1006 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 1007 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 1008 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 1009. The communication devices 1009 may allow the terminal device 1000 to communicate with other devices wirelessly or by wire to exchange data. Although Fig.10 The terminal device 1000 is shown to have various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.

[0185] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device 1009, or installed from a storage device 1008, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.

[0186] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0187] The computer-readable medium may be included in the terminal device, or may exist independently without being installed in the terminal device.

[0188] The computer-readable medium carries one or more programs. When the one or more programs are executed by the terminal device, the terminal device executes the method shown in the above embodiment.

[0189] An embodiment of the present disclosure provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions. When a processor executes the computer-executable instructions, various methods that may be involved in the above embodiments are implemented.

[0190] The embodiments of the present disclosure provide a computer program product, including a computer program. When the computer program is executed by a processor, the method described in various possible aspects of the embodiments above is implemented.

[0191] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0192] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0193] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware. The name of a unit does not limit the unit itself in some cases. For example, the first acquisition unit may also be described as a "unit for acquiring at least two Internet Protocol addresses".

[0194] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0195] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0196] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0197] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0198] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0199] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can independently choose whether to provide personal information to software or hardware such as an electronic device, application, server or storage medium that performs the operation of the technical solution of the present disclosure based on the prompt message. As an optional but non-limiting implementation method, in response to receiving an active request from a user, the method of sending a prompt message to the user can be, for example, a pop-up window, and the prompt message can be presented in text in the pop-up window. In addition, the pop-up window can also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0200] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0201] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of the relevant laws and regulations. The data may include information, parameters and messages, such as flow switching indication information.

[0202] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.

[0203] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.

[0204] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.

Claims

1. A live broadcast processing method, characterized in that: include: Get network bandwidth and round-trip latency; Get the maximum and minimum caches preset when starting the live broadcast; Determine a first cache of the live broadcast at a start-up playback stage based on the network bandwidth, the round-trip delay, the maximum cache, and the minimum cache; Based on the first cache, start playing the live broadcast.

2. The method according to claim 1, characterized in that The determining, based on the network bandwidth, the round-trip delay, the maximum buffer and the minimum buffer, a first buffer of the live broadcast in the start-up playback phase includes: Determining a network quality level based on the network bandwidth and the round-trip delay; Based on the network quality level, the maximum buffer and the minimum buffer, a first buffer of the live broadcast in a start-up playback phase is determined.

3. The method according to claim 2, characterized in that The determining of the network quality level based on the network bandwidth and the round-trip delay includes: If the network bandwidth is less than or equal to the first preset bandwidth, and the round trip delay is greater than or equal to the first preset duration, determining that the network quality level is the first level; If the network bandwidth is less than or equal to the second preset bandwidth and greater than the first preset bandwidth, and the round trip delay is greater than or equal to the second preset duration and less than the first preset duration, then the network quality level is determined to be the second level; If the network bandwidth is less than or equal to the third preset bandwidth and greater than the second preset bandwidth, and the round-trip delay is greater than or equal to the third preset duration and less than the second preset duration, then the network quality level is determined to be the third level; If the network bandwidth is greater than the third preset bandwidth and the round trip delay is less than the third preset duration, determining that the network quality level is the fourth level; The network quality level is proportional to the network status.

4. The method according to claim 2, characterized in that: The determining, based on the network quality level, the maximum buffer and the minimum buffer, a first buffer of the live broadcast in the start-up playback phase includes: Acquire live broadcast information of the live broadcast, the live broadcast information including: information on whether the live broadcast is the first live broadcast and information on whether a retry playback request occurs for the live broadcast; Calculate and obtain a second cache based on the network quality level, the maximum cache, and the minimum cache; Based on the live broadcast information and the second cache, the first cache is determined.

5. The method according to claim 4, characterized in that The determining the first cache based on the live broadcast information and the second cache includes: If the live broadcast information indicates that the live broadcast is the first live broadcast, and no retry playback request occurs in the live broadcast, obtaining a first freeze number and a first retry playback request number when the user watches the live broadcast in a historical period, and determining the first cache based on the first freeze number, the first retry playback request number and the second cache; If the live broadcast information indicates that the live broadcast is the first live broadcast, and a retry playback request occurs in the live broadcast, obtaining a second freeze number and a second retry playback request number when the user is watching the live broadcast, and determining the first cache based on the second freeze number, the second retry playback request number and the second cache; If the live broadcast information indicates that the live broadcast is not the first live broadcast, and no retry playback request occurs in the live broadcast, obtaining the third freeze number and the third retry playback request number of the previous live broadcast, and determining the first cache based on the third freeze number, the third retry playback request number and the second cache; If the live broadcast information indicates that the live broadcast is not the first live broadcast, and a retry playback request occurs in the live broadcast, the fourth number of freezes and the fourth number of retry playback requests of the previous live broadcast and the live broadcast are obtained, and the first cache is determined based on the fourth number of freezes, the fourth number of retry playback requests and the second cache.

6. The method according to claim 5, characterized in that Determining the first cache based on the first freeze number, the first retry playback request number, and the second cache includes: Calculating a third cache based on the first number of freezes and the first number of retried playback requests; The third cache and the second cache are added together to obtain the first cache.

7. The method according to claim 5, characterized in that Determining the first cache based on the third number of freezes, the third number of retry playback requests, and the second cache includes: Calculating a fourth cache based on the third number of freezes and the third number of retry playback requests; Get the duration between the end of the last live broadcast and the current time; Determine a weight based on the time between the end of the last live broadcast and the current moment; The fourth cache is multiplied by the weight to obtain a fifth cache, and the fifth cache is added to the second cache to obtain the first cache.

8. The method according to any one of claims 1 to 7, characterized in that: The starting to play the live broadcast based on the first cache includes: Get the current cache of the live broadcast; If the current buffer of the live broadcast is greater than or equal to the first buffer, start playing the live broadcast; If the current buffer of the live broadcast is smaller than the first buffer, wait until the current buffer of the live broadcast is equal to the first buffer, or wait for a fourth preset time period before starting to play the live broadcast.

9. A live broadcast processing device, characterized in that: It includes a first acquisition module, a second acquisition module, a determination module and a start module, wherein: The first acquisition module is used to obtain network bandwidth and round-trip delay; The second acquisition module is used to obtain the maximum cache and the minimum cache preset when the live broadcast is started; The determination module is used to determine the first cache of the live broadcast in the start-up playback phase based on the network bandwidth, the round-trip delay, the maximum cache and the minimum cache; The starting module is used to start playing the live broadcast based on the first cache.

10. A terminal device, characterized in that: include: Processor and memory; The memory stores computer-executable instructions; The processor executes the computer execution instructions stored in the memory, so that the processor executes the live broadcast processing method as described in any one of claims 1-8.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions. When the processor executes the computer-executable instructions, the live broadcast processing method according to any one of claims 1 to 8 is implemented.