A network speed testing method, device and equipment for live broadcast and a storage medium

CN118138803BActive Publication Date: 2026-09-08DOUYIN VISION CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211542434.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-02
Publication Date
2026-09-08
Estimated Expiration
2042-12-02

AI Technical Summary

Technical Problem

在现有网络测速方法的实现中,测速域名和实际CDN的域名存在差异,从而导致网络测速的准确性较低

Benefits of technology

[0030]本公开实施例提供一种用于直播的网络测速方法、装置、设备及存储介质,该方法包括:从客户端接收第一请求;其中,所述第一请求包括测速标识,所述测速标识指示所述第一请求与测速相关联;根据所述第一请求确定测速地址,并将所述测速地址发送至客户端;其中,所述测速地址包括所述测速标识和内容分发网络CDN的域名;所述测速标识还指示所述CDN与测速相关联;所述客户端根据所述测速地址进行网络测速;对所述CDN的域名进行存储;基于存储的所述CDN的域名向所述CDN推送直播流媒体。本公开实施例提供的用于直播的网络测速方法,基于测速结果和测速地址中的CDN的域名进行直播开播,可以保证开播时的域名与测速时的域名相同,不仅提高直播过程中网络测速的准确性,同时提高直播的可靠性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118138803B_ABST
    Figure CN118138803B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a network speed testing method and device for live broadcast, equipment and storage medium. The method comprises: receiving a first request from a client; wherein the first request comprises a speed testing identifier, and the speed testing identifier indicates that the first request is associated with speed testing; determining a speed testing address according to the first request, and sending the speed testing address to the client; wherein the speed testing address comprises the speed testing identifier and a domain name of a content distribution network (CDN); the speed testing identifier further indicates that the CDN is associated with speed testing; the client performs network speed testing according to the speed testing address; the domain name of the CDN is stored; and live streaming media is pushed to the CDN based on the stored domain name of the CDN. By using the method, the CDN domain name obtained according to the first request is stored, and live streaming is pushed according to the stored CDN domain name, so that the domain names for speed testing and streaming are the same, and the speed testing accuracy is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to a method, apparatus, device, and storage medium for network speed testing in live streaming. Background Technology

[0002] Live streaming applications can provide users with a wide variety of online live streams to meet their diverse entertainment needs. Before a live stream, a network speed test can be performed. This test involves the testing device connecting to a local area network (LAN) or the internet via a network interface card and exchanging data with a speed test server for a period of time to determine the maximum speed the network can handle.

[0003] Current live streaming network speed tests typically use test nodes located close to the user's client's network edge (such as a Content Delivery Network, CDN). However, existing network speed testing methods often use different domain names than the actual CDN domain, leading to lower accuracy in the tests. Summary of the Invention

[0004] This disclosure provides a method, apparatus, device, and storage medium for network speed testing during live streaming, which can ensure that the domain name of the CDN for live streaming is the same as the domain name for speed testing, thereby improving not only the accuracy of network speed testing during live streaming but also the reliability of live streaming.

[0005] In a first aspect, embodiments of this disclosure provide a network speed test method for live streaming, the method being executed by a server, the method comprising:

[0006] Receive a first request from the client; wherein the first request includes a speed measurement identifier, the speed measurement identifier indicating that the first request is associated with a speed measurement;

[0007] The speed test address is determined according to the first request, and the speed test address is sent to the client; wherein, the speed test address includes the speed test identifier and the domain name of the content delivery network (CDN); the speed test identifier also indicates that the CDN is associated with the speed test; the client performs a network speed test based on the speed test address;

[0008] The domain names of the CDN are stored;

[0009] Live streaming media is pushed to the CDN based on the domain name stored in the CDN.

[0010] Secondly, this disclosure also provides a network speed test method for live streaming, the method being executed by a client, the method comprising:

[0011] Send a first request to the server; wherein the first request includes a speed measurement identifier, the speed measurement identifier indicating that the first request is associated with speed measurement;

[0012] The server receives a speed test address; wherein the speed test address includes the speed test identifier and the domain name of the content delivery network (CDN), and the speed test identifier further indicates that the CDN is associated with the speed test; the speed test address is determined by the server based on the first request, and the server stores the domain name of the CDN;

[0013] Perform network speed testing based on the speed test address and determine the speed test result;

[0014] Live streaming is performed based on the speed test results and the CDN; wherein, the CDN corresponds to the domain name stored on the server.

[0015] Thirdly, this disclosure also provides a network speed test device for live streaming, the device being installed on a server, the device comprising:

[0016] A first request receiving module is configured to receive a first request from a client; wherein the first request includes a speed measurement identifier, the speed measurement identifier indicating that the first request is associated with speed measurement;

[0017] A speed test address determination module is used to determine a speed test address based on the first request and send the speed test address to the client; wherein, the speed test address includes the speed test identifier and the domain name of the content delivery network (CDN); the speed test identifier also indicates that the CDN is associated with the speed test; the client performs a network speed test based on the speed test address;

[0018] A domain name storage module is used to store the domain names of the CDN;

[0019] The domain name push module is used to push live streaming media to the CDN based on the domain names stored in the CDN.

[0020] Fourthly, this disclosure also provides a live streaming device, which is installed on a client side and includes:

[0021] The first request sending module is used to send a first request to the server; wherein the first request includes a speed measurement identifier, and the speed measurement identifier indicates that the first request is associated with speed measurement;

[0022] A speed test address receiving module is used to receive a speed test address from the server; wherein, the speed test address includes the speed test identifier and the domain name of the content delivery network (CDN), and the speed test identifier further indicates that the content delivery network is associated with the speed test; the speed test address is determined by the server according to the first request, and the server stores the domain name of the CDN;

[0023] The speed test result determination module is used to perform network speed testing based on the speed test address and determine the speed test result.

[0024] The live streaming module is used to perform live streaming based on the speed test results and the CDN; wherein the CDN corresponds to the domain name stored on the server.

[0025] Fifthly, embodiments of this disclosure also provide an electronic device, the electronic device comprising:

[0026] One or more processors;

[0027] Storage device for storing one or more programs.

[0028] When the one or more programs are executed by the one or more processors, the one or more processors implement the network speed test method for live streaming provided in the embodiments of this disclosure.

[0029] Sixthly, embodiments of this disclosure also provide a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform the network speed test method for live streaming provided in embodiments of this disclosure.

[0030] This disclosure provides a method, apparatus, device, and storage medium for network speed testing during live streaming. The method includes: receiving a first request from a client; wherein the first request includes a speed test identifier, the speed test identifier indicating that the first request is associated with speed testing; determining a speed test address based on the first request, and sending the speed test address to the client; wherein the speed test address includes the speed test identifier and a domain name of a content delivery network (CDN); the speed test identifier further indicates that the CDN is associated with speed testing; the client performs a network speed test based on the speed test address; stores the domain name of the CDN; and pushes live streaming media to the CDN based on the stored CDN domain name. The network speed testing method for live streaming provided by this disclosure, based on the speed test result and the CDN domain name in the speed test address, ensures that the domain name at the time of broadcasting is the same as the domain name at the time of speed testing, thus improving both the accuracy and reliability of network speed testing during live streaming. Attached Figure Description

[0031] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.

[0032] Figure 1 This is a schematic flowchart of a network speed test method for live streaming provided in an embodiment of the present disclosure.

[0033] Figure 2 This is a schematic flowchart of a network speed test method for live streaming provided in an embodiment of this disclosure;

[0034] Figure 3 This is a schematic diagram of the interactive process of a network speed test method for live streaming provided in an embodiment of this disclosure;

[0035] Figure 4 This is a schematic diagram of a network speed testing device for live streaming provided in an embodiment of this disclosure;

[0036] Figure 5 This is a schematic diagram of a network speed testing device for live streaming provided in an embodiment of this disclosure;

[0037] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0038] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0039] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.

[0040] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.

[0041] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.

[0042] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0043] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0044] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.

[0045] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.

[0046] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0047] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0048] 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 relevant laws, regulations and related provisions.

[0049] Figure 1 This is a schematic flowchart of a network speed test method for live streaming provided by an embodiment of the present disclosure. This embodiment of the present disclosure is applicable to the scenario of network speed test for live streaming. The method can be executed by a live streaming device, which can be implemented in the form of software and / or hardware. Optionally, it can be implemented by an electronic device, such as a mobile terminal, a PC, or a server.

[0050] It is known that network speed testing is required before live streaming. Network speed testing involves a testing device connecting to a local area network (LAN) or the internet via a network interface card and interacting with a speed testing server for a period of time to determine the maximum speed the network can handle. Generally, the clarity and smoothness of the playback content are the main factors affecting the user's viewing experience during live streaming. To ensure a balance between smoothness and clarity, a suitable resolution level can be determined during the network speed testing phase, and a virtual room can be created at that resolution level for the live stream. If the accurate network speed at the start of the stream cannot be obtained, the accuracy of the selected resolution cannot be guaranteed. In existing network speed testing methods, there is a difference between the speed testing domain name and the actual CDN domain name, resulting in low accuracy. Therefore, this embodiment provides a network speed testing method for live streaming that ensures the CDN domain name for the live stream is the same as the speed testing domain name, improving the accuracy of network speed testing during the live stream.

[0051] Figure 1 This is a schematic flowchart of a network speed test method for live streaming provided in an embodiment of this disclosure, as shown below. Figure 1 As shown, the specific steps may include the following:

[0052] S101. Receive a first request from the client; wherein the first request includes a speed measurement identifier, the speed measurement identifier indicating that the first request is associated with speed measurement.

[0053] It's important to understand that current live streaming network speed tests, in practice, select test nodes built at the network edge (such as a Content Delivery Network, CDN) close to the user's client. A CDN is an intelligent virtual network built on top of the existing internet infrastructure, consisting of node servers placed throughout the network. It can redirect user requests to the nearest service node in real time based on network traffic, node connectivity, load, distance to the user, and response time. The goal is to allow users to access content from the nearest location, improving website response speed. The selection of service nodes is based on user proximity and server load. The CDN domain name used when the live stream begins may differ from the CDN domain name used for testing the live streaming network speed.

[0054] In this embodiment, the speed measurement identifier can be a character used to indicate that the first request is associated with speed measurement. For example, in this embodiment, the speed measurement identifier indicates that the address is used for speed measurement. The server receives the first request from the client.

[0055] S102. Determine the speed test address according to the first request and send the speed test address to the client; wherein, the speed test address includes a speed test identifier and the domain name of the content delivery network (CDN); the speed test identifier also indicates that the CDN is associated with the speed test; the client performs network speed test according to the speed test address.

[0056] In this embodiment, based on the first request, the middleware server requests the stream scheduling interface to obtain the speed test address according to the service node selection rules. The speed test address includes a speed test identifier and the domain name of the Content Delivery Network (CDN). The speed test identifier also indicates that the CDN is associated with the speed test. This interface returns the broadcast speed test address carrying the obtained speed test address.

[0057] Specifically, each of the aforementioned CDN domain names corresponds to a server. After receiving the CDN domain name with a speed test identifier from the server, the client sends a data packet to the server. The client determines the transmission duration by sending a set amount of data. Based on the duration and the set data amount, the ratio of the set data amount to the duration can be used to determine the current network speed. For example, the client's speed test module continuously sends data packets to the content delivery network to calculate the time required to send 200MB of data. The ratio of 200MB of data to the duration can be used to determine the current network speed.

[0058] Based on the above optimizations, the embodiments of this disclosure can specifically optimize the determination of the speed measurement address according to the first request into the following steps:

[0059] a1) Invoke the flow scheduling interface according to the first request; whereby the flow scheduling interface is the interface used to schedule CDN.

[0060] b1) Obtain the CDN domain name through the flow scheduling interface;

[0061] c1) Generate a speed test address based on the CDN domain name and speed test identifier.

[0062] In this embodiment, the flow scheduling interface is used for communication between servers, processing information that must be transmitted between server nodes. After receiving the first request, the middleware server requests the flow scheduling pre-push interface. Specifically, the aforementioned flow scheduling interface is an interface used to schedule CDN, obtaining the CDN domain name according to the service node selection rules.

[0063] Specifically, the CDN domain name and the speed test identifier are combined to generate a speed test domain name. For example, the speed test identifier can be placed before the CDN domain name to obtain a CDN domain name with the speed test identifier.

[0064] The technical solution described in this embodiment generates a CDN domain name with the speed test identifier in the first request, facilitating subsequent selection of the CDN domain name. This effectively avoids selecting the wrong CDN domain name.

[0065] S103. Store the domain names of the CDN.

[0066] In this embodiment, the domain name of the CDN mentioned above is stored in the server.

[0067] S104. Based on the storage CDN domain name, push live streaming media to the CDN.

[0068] As we know, network speed testing involves a speed testing device connecting to a local area network (LAN) or the internet via a network interface card and exchanging data with a speed testing server for a period of time to determine the maximum speed the network can handle. Network speed testing requires deploying different devices at both ends of the network: a speed testing server on one end and a speed testing terminal device on the other. The terminal device typically uses a network interface to connect to the network and establish communication with the speed testing server, evaluating the current network speed by retrieving data packets from the server.

[0069] In this embodiment, after receiving the request, the server responds by combining the identifier with the CDN domain name to generate a streaming address. The server then sends the generated streaming address to the client. The client then selects the starting resolution based on the speed test results, determines the target resolution level, creates a virtual room for streaming at the target resolution level, and pushes the live data stream to the server where the CDN domain name is located to push the live streaming media.

[0070] Based on the above optimizations, the embodiments of this disclosure can push live streaming media to the CDN based on the stored CDN domain name, specifically optimized as follows:

[0071] a2) Receive a second request from the client; wherein the second request includes a push stream identifier, the push stream identifier indicating that the second request is associated with a push stream.

[0072] b2) Generate a push stream address based on the domain name and push stream identifier of the stored CDN; wherein, the push stream address includes the push stream identifier and the domain name of the CDN, and the push stream identifier also indicates that the CDN is associated with the push stream.

[0073] c2) Send the push stream address to the client.

[0074] d2) Push live streaming media to CDN based on the push address.

[0075] Specifically, after receiving the second request from the client, the server responds by combining the aforementioned push stream identifier and the stored CDN domain name to generate a push stream address. The second request includes a push stream identifier, indicating that the second request is associated with push streaming. The server sends the generated push stream address to the client. The client then selects the starting resolution based on the speed test results, determines the target resolution level, creates a virtual room for broadcasting at the target resolution level, and pushes the live data stream to the server where the aforementioned CDN domain name resides to push the live streaming media.

[0076] The above-described technical solution in this embodiment generates a push stream address by using the identifier information with a push stream identifier in the second request, which can ensure that the speed test and the actual push stream request return the same push stream domain name.

[0077] Based on the above optimizations, the present embodiment can generate a push stream address based on the stored CDN domain name and push stream identifier, specifically optimized as follows:

[0078] When the time interval between the second request and the first request exceeds the set duration:

[0079] Obtain the new CDN domain name;

[0080] A push stream address is generated based on the push stream identifier and the new CDN domain name;

[0081] When the time interval between the second request and the first request does not exceed the set duration:

[0082] A push stream address is generated based on the stored CDN domain name and the push stream identifier.

[0083] Specifically, the set duration can be a pre-defined interval between the second request and the first request. If the time interval between the second request and the first request exceeds the set duration, the speed test result based on the CDN domain name is deemed invalid, and a new CDN domain name is obtained before restarting the process. After receiving the second request, the server responds by combining the new push stream identifier and the new CDN domain name to generate a push stream address.

[0084] The above technical solution in this embodiment generates a push stream address within the timeout period, ensuring that the speed test and the actual push stream request return the same push stream domain name.

[0085] This disclosure provides a network speed test method for live streaming, which involves receiving a first request from a client. The first request includes a speed test identifier, indicating that the first request is associated with a speed test. A speed test address is determined based on the first request and sent to the client. The speed test address includes a speed test identifier and a Content Delivery Network (CDN) domain name. The speed test identifier also indicates that the CDN is associated with the speed test. The client performs a network speed test based on the speed test address. The CDN domain name is stored. Live streaming media is pushed to the CDN based on the stored CDN domain name. This network speed test method for live streaming, by storing the CDN domain name obtained from the first request and pushing the live stream based on the stored CDN domain name, ensures that the domain name used for speed testing and the domain name used for streaming are the same, thus improving the accuracy of the speed test.

[0086] like Figure 2 As shown in the embodiments of this disclosure, a network speed test method for live streaming may specifically include the following steps:

[0087] S201. Send a first request to the server; wherein the first request includes a speed test identifier, the speed test identifier indicating that the first request is associated with speed testing.

[0088] In this embodiment, the speed test address may include a speed test identifier and the CDN domain name. When the broadcaster clicks the "Start Broadcast Speed ​​Test" button on the client, the first request is triggered. The client sends a first request to the server, whereby the first request includes a speed test identifier, indicating that the first request is associated with a speed test.

[0089] S202. Receive the speed test address from the server; wherein, the speed test address includes a speed test identifier and the domain name of the content delivery network (CDN), and the speed test identifier also indicates that the content delivery network is associated with the speed test; the speed test address is determined by the server according to the first request, and the server stores the domain name of the CDN.

[0090] In this embodiment, after receiving the first request, the server receives a speed test address from the server. The speed test address includes a speed test identifier and a Content Delivery Network (CDN) domain name. The CDN domain name in the speed test identifier is associated with the speed test. Each CDN domain name corresponds to a server according to the service node selection rules, and the server stores these CDN domain names.

[0091] S203. Perform network speed test based on the speed test address and determine the speed test result.

[0092] In this embodiment, after receiving the CDN domain name with a speed test identifier sent from the server, the client sends data packets to the server. The current network speed is evaluated by the cumulative speed of the data packets over a certain period of time. For example, the client's speed test module continuously sends data packets to the content delivery network, calculates the time required to send 200MB of data, and the ratio of 200MB of data to the time can be the current network speed. Further, as one implementation of S203, network speed testing can be performed based on the speed test address to obtain the speed test result, specifically optimized as follows:

[0093] a3) Send the set amount of data to the CDN.

[0094] b3) Determine the duration required to send the set amount of data.

[0095] c3) Determine the speed measurement result based on the duration and set number of data.

[0096] Specifically, the speed test server corresponding to the network speed test can be a Content Delivery Network (CDN). Each CDN domain name corresponds to a CDN. After receiving the CDN domain name with a speed test identifier from the CDN, the client sends a set amount of data to the CDN. The duration of the transmission is determined by sending this set amount of data. Based on the duration and the set amount of data, the ratio of the set amount of data to the duration can be used to determine the current network speed. For example, the client's speed test module continuously sends data packets to the CDN, calculates the duration required to send 200MB of data, and the ratio of 200MB of data to the duration can be used to determine the current network speed.

[0097] Steps a3 to c3 above provide one way to determine network speed, which is mainly based on the content delivery network to perform network speed testing. This avoids bottlenecks and links on the Internet that may affect the speed and stability of data transmission, making content transmission faster and more stable, and improving the response speed of users accessing the website.

[0098] S204. Live streaming is performed based on speed test results and CDN; where CDN corresponds to the domain name stored on the server.

[0099] Specifically, before the live stream begins, a second request is sent to the server. Upon receiving the second request, the server responds by generating a push stream address using the domain name of the corresponding CDN stored on the server side. The starting resolution is selected based on the speed test results to determine the target resolution level. A virtual room for live streaming is then created at the target resolution level, and the live stream data is pushed to the server where the aforementioned CDN domain name resides based on this virtual room.

[0100] This disclosure provides a network speed test method for live streaming, which involves sending a first request to a server, wherein the first request includes a speed test identifier indicating that the first request is associated with a speed test; receiving a speed test address from the server, wherein the speed test address includes a speed test identifier and a domain name of a Content Delivery Network (CDN), and the speed test identifier further indicates that the CDN is associated with the speed test; the speed test address is determined by the server based on the first request, and the server stores the CDN domain name; performing a network speed test based on the speed test address to determine the speed test result; and pushing a live stream based on the speed test result and the CDN; wherein the CDN corresponds to the domain name stored by the server. Using this method, the server sends the speed test address to the client, the client performs a speed test based on the speed test address (including the CDN domain name), and then pushes a live stream based on the CDN domain name. That is, the CDN domain name used for speed testing and streaming is consistent, thereby ensuring the accuracy of the speed test.

[0101] Furthermore, as one implementation of S204, the live streaming optimization based on speed test results and CDN can be specifically implemented through the following steps:

[0102] a4) Send a second request to the server; wherein the second request includes a push stream identifier, the push stream identifier indicating that the second request is associated with push stream;

[0103] b4) Receive the push stream address from the server; wherein the push stream address includes the domain name of the push stream identifier CDN, and the push stream identifier also indicates that the CDN is associated with the push stream.

[0104] c4) Live streaming is performed based on speed test results and CDN.

[0105] Specifically, a second request is sent to the server. Upon receiving the second request, the server responds with the second request and the CDN domain name to generate a streaming address. The starting resolution is selected based on the speed test results to determine the target resolution tier. A virtual room for live streaming is created at the target resolution tier, and the virtual room pushes the live data stream to the server where the CDN domain name resides. Before the live stream begins, the speed test results obtained above are used in this step to select the starting resolution based on the pre-defined correlation between network speed and tier, determining the target resolution tier. The network speed-tier correlation can be understood as different network speed ranges corresponding to different tiers. A virtual room for live streaming is created at the target resolution tier, and the virtual room pushes the live data stream to the content delivery network where the streaming address resides.

[0106] Steps a4 to c4 above provide one method for live streaming based on speed test results and a CDN-based domain name. By using the same CDN domain name, discrepancies between the two are avoided, thus improving the accuracy of live streaming speed tests.

[0107] Based on the above optimizations, the embodiments of this disclosure can specifically optimize live streaming based on speed test results and CDN into the following steps:

[0108] c41) Determine the target resolution based on the speed measurement results; wherein the target resolution is the target resolution of the live video associated with the CDN.

[0109] In this embodiment, after determining the speed measurement result through the above steps, this step can determine the target resolution level corresponding to the speed measurement result based on the pre-set correlation between the speed measurement result and the resolution level, thereby determining the resolution level that matches the live broadcast as the target resolution level.

[0110] c42) Push the live data stream to the CDN based on the target resolution.

[0111] In this embodiment, after determining the target resolution level through the above steps, the virtual room for live streaming can be created using this level as the base level. When testing the current live streaming network speed, a speed test node built on the content delivery network (CDN) closest to the user's client can be selected. After the virtual room for live streaming is created, the live streaming data stream can be pushed to the CDN selected during the speed test, i.e., the CDN where the domain name is located.

[0112] In this embodiment, steps c41 to c42 above provide a way to start live streaming based on the speed test results and the push address returned by the server. Selecting a content delivery network during the speed test can avoid bottlenecks and links on the Internet that may affect the speed and stability of data transmission as much as possible, making the content transmission faster and more stable, allowing users to obtain the content they need from the nearest location, and improving the response speed of users accessing the website.

[0113] Based on the above optimizations, the present embodiment can optimize the determination of the target resolution level according to the speed measurement results into the following steps:

[0114] c411) Determine multiple candidate resolutions based on the speed measurement results; among them, the candidate resolution is the resolution of the live video.

[0115] In this embodiment, the correspondence between network speed and resolution levels can be preset. This correspondence can be understood as a table showing the relationship between different network speed ranges and different resolution levels. The network speed ranges corresponding to different resolution levels may overlap.

[0116] Specifically, the relationship between resolution levels and network speed can be determined. The maximum and minimum network speeds for different levels can be identified. Based on these maximum and minimum speeds, a network speed range can be formed. A binary relationship group can then be established between the network speed range and the resolution level. Since multiple resolution levels are included when creating a live streaming room, multiple binary relationship groups can be formed. Based on these multiple binary relationship groups, a network speed-resolution level relationship table can be created. This table is stored in memory, and the processor can retrieve a pre-set table. When a speed test result is obtained, it can be searched within the network speed-resolution level relationship table. Optionally, candidate resolution levels can be selected from those corresponding to network speeds lower than the current test result.

[0117] For example, the network speed-resolution tier relationship table can be as follows: when the resolution tier is 360P, the corresponding network speed range is 128Kb / s-5Mb / s; when the resolution tier is 540P, the corresponding network speed range is 512Kb / s-5Mb / s; when the tier is 720P, the corresponding network speed range is 1Mb / s-5Mb / s; and when the tier is 1080P, the corresponding network speed range is 2Mb / s-5Mb / s.

[0118] Based on the above description, if the network speed test result is 0.7Mb / s after the above operation, it can be determined that 0.7Mb / s corresponds to a network speed range of 128Kb / s-5Mb / s and 512Kb / s-5Mb / s in the network speed-resolution level relationship table. Assuming that the level corresponding to this network speed range is 360P and 540P, the multiple candidate resolution levels corresponding to this network speed are 360P and 540P.

[0119] c412) determines the target resolution from multiple candidate resolutions.

[0120] Specifically, the target resolution level can be determined by randomly selecting one of the above candidate resolution levels, or by selecting the highest resolution among the candidate resolution levels.

[0121] The above-described technical solution in this embodiment can improve the efficiency of selecting network speed-resolution level by using a network speed-resolution level relationship table. At the same time, each binary relationship group corresponds the network speed range to the resolution level one by one, avoiding the inaccuracy problem of the existing method of determining the resolution level based on a single parameter, and improving the reliability of live streaming.

[0122] Figure 3 This is a schematic diagram of the interactive process of a live broadcast start-up method provided in an embodiment of this disclosure, such as... Figure 3 As shown, the client sends a first request to the server, and the server obtains the speed test address based on the first request. The server sends the returned speed test address back to the client, and the broadcasting device calls the speed test interface based on the returned speed test address to perform a network speed test and returns the test result to the client. The client sends a second request to the server, and the server generates a push stream address based on the received second request and the CDN domain name. The server sends the generated push stream address to the client, and the client sends the live data stream to the server based on the speed test result and the CDN domain name to start the live broadcast.

[0123] Figure 4 This is a schematic diagram of a network speed testing device for live streaming provided in an embodiment of the present disclosure, as shown below. Figure 4 As shown, the device includes: a first request receiving module 310, a speed test address determination module 320, a domain name storage module 330, and a domain name push module 340.

[0124] The first request receiving module 310 is configured to receive a first request from a client; wherein the first request includes a speed measurement identifier, the speed measurement identifier indicating that the first request is associated with speed measurement;

[0125] The speed test address determination module 320 is used to determine a speed test address according to the first request and send the speed test address to the client; wherein, the speed test address includes the speed test identifier and the domain name of the content delivery network CDN; the speed test identifier also indicates that the CDN is associated with the speed test; the client performs network speed test according to the speed test address;

[0126] Domain name storage module 330 is used to store the domain names of the CDN;

[0127] The domain name push module 340 is used to push live streaming media to the CDN based on the domain names stored in the CDN.

[0128] Furthermore, the speed measurement address determination module 320 can be used for:

[0129] The first request is used to invoke the flow scheduling interface; wherein, the flow scheduling interface is an interface used for scheduling CDN;

[0130] Obtain the CDN domain name through the aforementioned flow scheduling interface;

[0131] A speed test address is generated based on the CDN domain name and the speed test identifier.

[0132] Furthermore, the domain name push module 340 can be used for:

[0133] A second request is received from the client; wherein the second request includes a push stream identifier, the push stream identifier indicating that the second request is associated with a push stream;

[0134] A push stream address is generated based on the stored CDN domain name and the push stream identifier; wherein, the push stream address includes the push stream identifier and the CDN domain name, and the push stream identifier further indicates that the CDN is associated with push stream;

[0135] Send the push stream address to the client;

[0136] The live streaming media is pushed to the CDN based on the push address.

[0137] Furthermore, the domain name push module 340 can also be used for:

[0138] When the time interval between the second request and the first request exceeds the set duration:

[0139] Obtain the new CDN domain name;

[0140] A push stream address is generated based on the push stream identifier and the new CDN domain name;

[0141] When the time interval between the second request and the first request does not exceed the set duration:

[0142] A push stream address is generated based on the stored CDN domain name and the push stream identifier.

[0143] Figure 5 The live streaming device provided in this embodiment can execute the network speed test method for live streaming provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects of executing the method. For example... Figure 5 As shown, the device includes: a first request sending module 410, a speed test address receiving module 420, a speed test result determination module 430, and a live streaming module 440.

[0144] The first request sending module 410 is used to send a first request to the server; wherein the first request includes a speed measurement identifier, and the speed measurement identifier indicates that the first request is associated with speed measurement;

[0145] The speed test address receiving module 420 is used to receive a speed test address from the server; wherein, the speed test address includes the speed test identifier and the domain name of the content delivery network (CDN), and the speed test identifier further indicates that the content delivery network is associated with the speed test; the speed test address is determined by the server according to the first request, and the server stores the domain name of the CDN;

[0146] The speed test result determination module 430 is used to perform network speed test based on the speed test address and determine the speed test result.

[0147] The live streaming module 440 is used to perform live streaming based on the speed test results and the CDN; wherein the CDN corresponds to the domain name stored on the server.

[0148] Furthermore, the speed measurement result determination module 430 can be used for:

[0149] Send a set amount of data to the CDN;

[0150] Determine the duration required to send the set amount of data;

[0151] The speed measurement result is determined based on the duration and the set number of data points.

[0152] Furthermore, the live streaming module 440 can be used for:

[0153] Send a second request to the server; wherein the second request includes a push stream identifier, the push stream identifier indicating that the second request is associated with push stream;

[0154] Receive a push stream address from the server; wherein the push stream address includes the domain name that identifies the CDN, and the push stream identifier further indicates that the CDN is associated with the push stream;

[0155] Live streaming is performed based on the speed test results and the CDN.

[0156] Furthermore, the live streaming module 440 can be used for:

[0157] The target resolution is determined based on the speed measurement results; wherein, the target resolution is the target resolution of the live video associated with the CDN;

[0158] The live data stream is pushed to the CDN based on the target resolution.

[0159] Furthermore, the live streaming module 440 can be used for:

[0160] Multiple candidate resolutions are determined based on the speed measurement results; wherein, the candidate resolution is the resolution of the live video.

[0161] The target resolution is determined from the plurality of candidate resolutions.

[0162] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of this disclosure.

[0163] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Refer to the following... Figure 6 It illustrates an electronic device suitable for implementing embodiments of the present disclosure (e.g., Figure 6 The diagram below shows the structure of the terminal device or server 500. The terminal device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and vehicle terminals (e.g., vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 6 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.

[0164] like Figure 6As shown, electronic device 500 may include a processing unit (e.g., central processing unit, graphics processor, etc.) 501, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 502 or a program loaded from storage device 508 into random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of electronic device 500. The processing unit 501, ROM 502, and RAM 503 are interconnected via bus 504. An edit / output (I / O) interface 505 is also connected to bus 504.

[0165] Typically, the following devices can be connected to I / O interface 505: input devices 506 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 507 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 508 including, for example, magnetic tapes, hard disks, etc.; and communication devices 509. Communication device 509 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 6 An electronic device 500 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.

[0166] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 509, or installed from a storage device 508, or installed from a ROM 502. When the computer program is executed by the processing device 501, it performs the functions defined in the methods of embodiments of this disclosure.

[0167] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0168] The electronic device provided in this embodiment and the network speed test method for live streaming provided in the above embodiments belong to the same inventive concept. Technical details not described in detail in this embodiment can be found in the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.

[0169] This disclosure provides a computer storage medium storing a computer program that, when executed by a processor, implements the network speed measurement method for live streaming provided in the above embodiments.

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

[0171] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

[0172] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0173] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to:

[0174] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: receive a first request from a client; wherein the first request includes a speed test identifier, the speed test identifier indicating that the first request is associated with a speed test; determine a speed test address based on the first request, and send the speed test address to the client; wherein the speed test address includes a speed test identifier and a domain name of a content delivery network (CDN); the speed test identifier further indicates that the CDN is associated with the speed test; the client performs a network speed test based on the speed test address; stores the domain name of the CDN; and pushes live streaming media to the CDN based on the stored CDN domain name.

[0175] Alternatively, the aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: send a first request to a server; wherein the first request includes a speed test identifier, the speed test identifier indicating that the first request is associated with a speed test; receive a speed test address from the server; wherein the speed test address includes a speed test identifier and a domain name of a content delivery network (CDN), the speed test identifier further indicating that the CDN is associated with the speed test; the speed test address is determined by the server based on the first request, and the server stores the domain name of the CDN; perform a network speed test based on the speed test address and determine the speed test result; and perform live streaming based on the speed test result and the CDN; wherein the CDN corresponds to the domain name stored by the server.

[0176] Computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof, including but not limited to object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can 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 can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0177] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0178] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units are not, in some cases, intended to limit the specific unit.

[0179] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.

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

[0181] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0182] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

[0183] Although the subject matter has been described using language specific to structural features and / or methodological logic, 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. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. A network speed test method for live streaming, characterized in that, The method is executed by the server and includes: Receive a first request from the client; wherein the first request includes a speed measurement identifier, the speed measurement identifier indicating that the first request is associated with a speed measurement; The speed test address is determined according to the first request and sent to the client; wherein, the speed test address includes the speed test identifier and the domain name of the content delivery network CDN; the speed test identifier also indicates that the CDN is associated with the speed test; the client performs network speed test according to the speed test address, determines the target resolution level according to the speed test result, creates a live streaming virtual room with the target resolution level, and pushes the live streaming data stream to the server where the CDN domain name is located; The domain names of the CDN are stored; The CDN pushes live streaming media to the CDN based on the stored domain name; Pushing live streaming media to the CDN based on the stored CDN domain name includes: A second request is received from the client; wherein the second request includes a push stream identifier, the push stream identifier indicating that the second request is associated with a push stream; A push stream address is generated by combining the CDN domain name and the push stream identifier stored on the server; wherein, the push stream address includes the push stream identifier and the CDN domain name, and the push stream identifier also indicates that the CDN is associated with push stream; Send the push stream address to the client; The client pushes live streaming media to the CDN based on the push address.

2. The method according to claim 1, characterized in that, Determining the speed measurement address based on the first request includes: The first request is used to invoke the flow scheduling interface; wherein, the flow scheduling interface is an interface used for scheduling CDN; Obtain the CDN domain name through the aforementioned flow scheduling interface; A speed test address is generated based on the CDN domain name and the speed test identifier.

3. The method according to claim 1, characterized in that, Generate a push stream address based on the stored CDN domain name and the push stream identifier, including: When the time interval between the second request and the first request exceeds the set duration: Obtain the new CDN domain name; A push stream address is generated based on the push stream identifier and the new CDN domain name; When the time interval between the second request and the first request does not exceed the set duration: A push stream address is generated based on the stored CDN domain name and the push stream identifier.

4. A network speed test method for live streaming, characterized in that, The method is executed by the client and includes: Send a first request to the server; wherein the first request includes a speed measurement identifier, the speed measurement identifier indicating that the first request is associated with speed measurement; The server receives a speed test address; wherein the speed test address includes the speed test identifier and the domain name of the content delivery network (CDN), and the speed test identifier further indicates that the CDN is associated with the speed test; the speed test address is determined by the server based on the first request, and the server stores the domain name of the CDN; Perform network speed testing based on the speed test address and determine the speed test result; Live streaming is performed based on the speed test results and the CDN; wherein, the CDN corresponds to the domain name stored on the server. Based on the speed test results and the CDN, live streaming is performed, including: The target resolution is determined based on the speed test results; wherein, the target resolution is the target resolution of the live video associated with the CDN, and a live virtual room is created at the target resolution level, and the live virtual room pushes the live data stream to the server where the CDN domain name is located. The live data stream is pushed to the CDN based on the target resolution. Based on the speed test results and the CDN, live streaming is performed, including: Send a second request to the server; wherein the second request includes a push stream identifier, the push stream identifier indicating that the second request is associated with push stream; The server receives a push stream address; wherein the push stream address includes the push stream identifier and the CDN domain name, the push stream identifier further indicates that the CDN is associated with the push stream, and the push stream address is generated based on the CDN domain name and push stream identifier stored on the server. Live streaming is performed based on the speed test results and the CDN.

5. The method according to claim 4, characterized in that, Based on the speed test address, a network speed test is performed to obtain the speed test results, including: Send a set amount of data to the CDN; Determine the duration required to send the set amount of data; The speed measurement result is determined based on the duration and the set number of data points.

6. The method according to claim 4, characterized in that, Determining the target resolution based on the speed measurement results includes: Multiple candidate resolutions are determined based on the speed measurement results; wherein, the candidate resolution is the resolution of the live video. The target resolution is determined from the plurality of candidate resolutions.

7. A network speed testing device for live streaming, characterized in that, The device is located on the server side and includes: A first request receiving module is configured to receive a first request from a client; wherein the first request includes a speed measurement identifier, the speed measurement identifier indicating that the first request is associated with speed measurement; The speed test address determination module is used to determine the speed test address according to the first request and send the speed test address to the client; wherein, the speed test address includes the speed test identifier and the domain name of the content delivery network (CDN); the speed test identifier also indicates that the CDN is associated with the speed test; the client performs network speed test according to the speed test address, determines the target resolution level according to the speed test result, creates a live streaming virtual room with the target resolution level, and pushes the live streaming data stream to the server where the CDN domain name is located in the live streaming virtual room; A domain name storage module is used to store the domain names of the CDN; The domain name push module is used to push live streaming media to the CDN based on the domain names stored in the CDN; The domain name push module is specifically used for: A second request is received from the client; wherein the second request includes a push stream identifier, the push stream identifier indicating that the second request is associated with a push stream; A push stream address is generated by combining the CDN domain name and the push stream identifier stored on the server; wherein, the push stream address includes the push stream identifier and the CDN domain name, and the push stream identifier also indicates that the CDN is associated with push stream; Send the push stream address to the client; The live streaming media is pushed to the CDN based on the push address.

8. A network speed testing device for live streaming, characterized in that, The device is located on the client side and includes: The first request sending module is used to send a first request to the server; wherein the first request includes a speed measurement identifier, and the speed measurement identifier indicates that the first request is associated with speed measurement; A speed test address receiving module is used to receive a speed test address from the server; wherein, the speed test address includes the speed test identifier and the domain name of the content delivery network (CDN), and the speed test identifier further indicates that the content delivery network is associated with the speed test; the speed test address is determined by the server according to the first request, and the server stores the domain name of the CDN; The speed test result determination module is used to perform network speed testing based on the speed test address and determine the speed test result. A live streaming module is used to perform live streaming based on the speed test results and the CDN; wherein the CDN corresponds to the domain name stored on the server. The live streaming module is specifically used for: determining the target resolution based on the speed test results; wherein the target resolution is the target resolution of the live video associated with the CDN, creating a virtual room for live streaming at the target resolution level, and pushing the live data stream to the server where the CDN's domain name is located. The live data stream is pushed to the CDN based on the target resolution. The live streaming module is specifically used for: Send a second request to the server; wherein the second request includes a push stream identifier, the push stream identifier indicating that the second request is associated with push stream; The server receives a push stream address; wherein the push stream address includes the push stream identifier and the CDN domain name, the push stream identifier further indicates that the CDN is associated with the push stream, and the push stream address is generated based on the CDN domain name and push stream identifier stored on the server. Live streaming is performed based on the speed test results and the CDN.

9. An electronic device, characterized in that, The electronic device includes: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the network speed test method for live streaming as described in any one of claims 1-6.

10. A storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform the network speed measurement method for live streaming as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Live video pushing method and device

    CN107172015A