A method, device and electronic device for transmitting cloud video stream

By receiving and calculating the video stream information reported by the cloud set-top box, the video stream transmission process is dynamically adjusted, which solves the problem of poor stability in cloud video transmission and achieves more stable and smooth video playback.

CN118803320BActive Publication Date: 2025-10-03CHINA MOBILE COMM GRP TERMINAL +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410384767.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-04-01
Publication Date
2025-10-03
Estimated Expiration
2044-04-01

AI Technical Summary

Technical Problem

The video stability in cloud video transmission is poor, and the video transmission process cannot be dynamically adjusted to deal with jitter and other phenomena.

Method used

By receiving the transmission delay, packet loss, decoding delay and decoding packet loss of the video stream information reported by the cloud set-top box, the average value of the overall delay and packet loss of the video stream is calculated, and the transmission process of the video stream is dynamically adjusted based on this data.

Benefits of technology

It improves the stability and smoothness of video transmission and enhances the user's viewing experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118803320B_ABST
    Figure CN118803320B_ABST
Patent Text Reader

Abstract

The embodiments of the present application disclose a method, device, and electronic device for transmitting a cloud video stream, which belongs to the field of video transmission technology and can solve the problem of poor stability of video transmission. The method comprises: responding to an instruction from a cloud set-top box to request to play a video, sending video stream information corresponding to the video stream to be transmitted in the video to the cloud set-top box, and receiving first data determined according to the video stream information and actively reported by the cloud set-top box; the first data comprises: one or more of the transmission delay, transmission packet loss number, decoding delay, and decoding packet loss number corresponding to the video stream; determining second data of the video stream by calculating the first data, the second data comprising: overall delay and / or overall packet loss number; each time the second data corresponding to a preset number of video streams reported by the cloud set-top box is obtained, calculating the average value of the second data corresponding to the preset number of video streams to obtain third data; and adjusting the transmission process of the target video stream based on the third data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of video transmission technology, and in particular to a method, device, electronic device and storage medium for transmitting cloud video streams. Background Art

[0002] As video services become increasingly mature, users have higher requirements for service experience and hope to have a better experience when watching videos. At the same time, cloud computing technology is also developing rapidly. Therefore, cloud set-top boxes and cloud centers based on cloud computing technology have emerged.

[0003] In related technologies, the cloud center obtains the video file to be played, and compresses the encoding of the video file through settings such as a buffer. However, it cannot dynamically adjust the video to be played in response to video jitter, resulting in poor stability in video transmission. Summary of the Invention

[0004] The purpose of the embodiments of the present application is to provide a cloud video stream transmission method, device, electronic device and storage medium to solve the problem of poor stability of video transmission.

[0005] To solve the above technical problems, the embodiments of the present application are implemented as follows:

[0006] In a first aspect, an embodiment of the present application provides a method for transmitting a cloud video stream, comprising: responding to an instruction from a cloud set-top box requesting to play a video, sending video stream information corresponding to the video stream to be transmitted in the video to the cloud set-top box; receiving first data determined based on the video stream information and actively reported by the cloud set-top box; wherein the first data includes: one or more of the transmission delay, transmission packet loss number, decoding delay, and decoding packet loss number corresponding to the video stream; determining second data of the video stream by calculating the first data, the second data including: the overall delay and / or the overall packet loss number of the video stream; when each time the second data corresponding to a preset number of video streams reported by the cloud set-top box is obtained, calculating the average value of the second data corresponding to the preset number of video streams to obtain third data, the third data including the overall delay average value and / or the overall packet loss average value; based on the third data, adjusting the transmission process of the target video stream, wherein the target video stream includes: after obtaining the third data, according to the instruction from the cloud set-top box requesting to play the video, the video stream that needs to continue to be sent to the cloud set-top box.

[0007] In a second aspect, an embodiment of the present application provides a cloud video stream transmission device, comprising: a sending module, configured to respond to an instruction from a cloud set-top box requesting to play a video, and send video stream information corresponding to a video stream to be transmitted in the video to the cloud set-top box;

[0008] A receiving module, configured to receive first data determined based on the video stream information and actively reported by the cloud set-top box; wherein the first data includes one or more of: a transmission delay, a number of transmission packet losses, a decoding delay, and a number of decoding packet losses corresponding to the video stream;

[0009] a calculation module, configured to determine second data of the video stream by calculating the first data, wherein the second data includes: an overall delay and / or an overall number of packet losses of the video stream;

[0010] a determination module, configured to calculate an average value of the second data corresponding to a preset number of video streams sent by the cloud set-top box each time the second data corresponding to the preset number of video streams is obtained, and determine third data, the third data including an average value of overall delay and / or an average value of overall packet loss;

[0011] A transmission module is used to adjust the transmission process of the target video stream based on the third data, wherein the target video stream includes: after obtaining the third data, according to the instruction of the cloud set-top box requesting to play the video, the video stream needs to continue to be sent to the cloud set-top box.

[0012] In a third aspect, an embodiment of the present application provides an electronic device, comprising a processor and a memory electrically connected to the processor, wherein the memory stores a computer program, and the processor is used to call and execute the computer program from the memory to implement the above-mentioned cloud video stream transmission method.

[0013] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium for storing a computer program, wherein the computer program can be executed by a processor to implement the above-mentioned cloud video stream transmission method.

[0014] In a fifth aspect, an embodiment of the present application provides a chip, which includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the above-mentioned cloud video stream transmission method.

[0015] In a sixth aspect, an embodiment of the present application provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, it implements the above-mentioned cloud video stream transmission method.

[0016] By adopting the technical solution of the embodiment of the present application, in response to the instruction of the cloud set-top box requesting to play the video, the video stream information corresponding to the video stream to be transmitted in the video is sent to the cloud set-top box, and the first data determined according to the video stream information actively reported by the cloud set-top box is received; wherein the first data includes: one or more of the transmission delay, transmission packet loss number, decoding delay and decoding packet loss number corresponding to the video stream; by calculating the first data, the second data of the video stream is determined, and the second data includes: the overall delay and / or the overall packet loss number of the video stream; when the second data corresponding to a preset number of video streams reported by the cloud set-top box is obtained each time, the average value of the second data corresponding to the preset number of video streams is calculated to obtain third data, and the third data includes the overall delay average value and / or the overall packet loss average value; based on the third data, the transmission process of the target video stream is adjusted, wherein the target video stream includes: after obtaining the third data, according to the instruction of the cloud set-top box requesting to play the video, the video stream that needs to continue to be sent to the cloud set-top box. Every time a preset number of video streams is reached, the overall delay average value and / or the overall packet loss average value corresponding to the preset number of video streams are calculated to obtain third data, and the transmission process of the target video stream is adjusted according to the third data. By dynamically and timely adjusting the transmission process of the target video stream, the video corresponding to the subsequent target video stream can be played stably, which can solve the problem of poor stability of video transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate one or more embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in one or more embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0018] Figure 1 is a schematic block diagram of a cloud-based video transmission system according to an embodiment of the present application;

[0019] Figure 2 This is a schematic flowchart of a method for transmitting a cloud-based video stream according to an embodiment of the present application;

[0020] Figure 3 is a schematic flow chart of a scenario of a method for transmitting cloud-based video streams according to another embodiment of the present application;

[0021] Figure 4 1 is a schematic structural diagram of a cloud video stream transmission device according to an embodiment of the present application;

[0022] Figure 5This is a hardware structure diagram of a cloud video stream transmission device according to an embodiment of the present application. DETAILED DESCRIPTION

[0023] The embodiments of the present application provide a cloud video stream transmission method, device, electronic device and storage medium to solve the problem of poor stability of video transmission.

[0024] In order to enable those skilled in the art to better understand the technical solutions in this application, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of this application.

[0025] The cloud-based video streaming transmission method provided in the embodiments of the present application can be executed by an electronic device or by software installed in the electronic device. Specifically, the electronic device can be a terminal device or a server device. The terminal device can include a smartphone, a laptop computer, a smart wearable device, an in-vehicle terminal, etc. The server device can include an independent physical server, a server cluster consisting of multiple servers, or a cloud server capable of cloud computing.

[0026] Figure 1 is a schematic block diagram of a cloud video transmission system according to an embodiment of the present application, such as Figure 1 As shown, the cloud-based video transmission system includes an active reporting module in the cloud-based set-top box and an adaptive calculation module in the cloud-based center. The active reporting module calculates parameters such as transmission delay, transmission packet loss, decoding delay, and decoding packet loss, and reports these parameters to the cloud-based center. The adaptive calculation module in the cloud-based center calculates the overall parameter results and, based on these results, adaptively adjusts the encoding and transmission methods of the video stream.

[0027] Below, in conjunction with the accompanying drawings, a cloud video stream transmission method provided by an embodiment of the present application is described in detail through specific embodiments and their application scenarios.

[0028] Figure 2 A schematic flow chart of a method for transmitting a cloud-based video stream provided by an embodiment of the present invention is shown, which is applied to a cloud-based center. The method includes the following steps:

[0029] S202 , responding to the cloud-based set-top box's instruction to play the video, sending video stream information corresponding to the video stream to be transmitted in the video to the cloud-based set-top box.

[0030] Video stream information includes: the timestamp of parsing the video stream, the content of the video stream, the video sequence number of the video frame in the video stream or the corresponding audio control field and other information.

[0031] The cloud center responds to the cloud set-top box's request to play a video, obtains the video stream to be transmitted in the video requested to be played according to the server, determines the corresponding video stream information, and sends the video stream information to the cloud set-top box, wherein the video stream to be transmitted is one of the video streams corresponding to the video requested to be played. It should be understood that the video stream corresponding to the video includes one or more, each video stream may include one frame or multiple frames, and generally a video stream can have 30 frames.

[0032] S204: Receive first data determined according to the video stream information that is actively reported by the cloud set-top box.

[0033] The first data includes: one or more of the transmission delay, the number of transmission packet losses, the decoding delay and the number of decoding packet losses corresponding to the video stream.

[0034] Transmission delay includes the time difference between the timestamp carried by the video stream when the cloud center pushes the video stream and the timestamp when the cloud set-top box receives the video stream information.

[0035] Transmission packet loss number, including the number of video sequence numbers lost after the cloud set-top box receives the parsed video stream.

[0036] Decoding delay includes the difference between the timestamp of the video stream transmitted by the cloud center and the timestamp after the cloud set-top box decodes the video stream.

[0037] Decoding packet loss count, including the number of data packets that failed to be decoded when the set-top box decodes the video stream.

[0038] Within a period of time, the cloud set-top box can actively report the first data corresponding to the video stream information pushed by the cloud center. It should be understood that the first data may include one or more, and the actively reported data is not necessarily all the first data. For example, when a network failure or equipment problem occurs, the equipment needs to be repaired or the network needs to be tested. The reported first data may be one or more of the four types of data. There is no specific limitation. Generally, the first data includes the above four types of data.

[0039] S206: Determine second data of the video stream by calculating the first data.

[0040] The second data includes: the overall delay and / or the overall number of packet losses of the video stream.

[0041] The total delay is determined based on the transmission delay and decoding delay obtained in a period of time in S204; the total packet loss number is determined based on the transmission packet loss number and decoding packet loss number obtained in S204.

[0042] S208 , when each time the second data corresponding to the preset number of video streams reported by the cloud set-top box is obtained, an average value of the second data corresponding to the preset number of video streams is calculated to obtain third data.

[0043] The third data includes an overall average delay and / or an overall average number of packet losses.

[0044] Specifically, the preset number of video streams includes an artificially specified number of video streams to be obtained. Each time the cloud center obtains a preset number of second data, the average value of the second data is calculated as the third data. It should be noted that the cloud center can store the second data corresponding to the obtained video streams in the queue of the cloud center. When the video streams in the queue reach the preset number, the average value of the second data is calculated to obtain the third data. When the second data of the video stream corresponding to the next video stream of the video stream stored in the queue enters the queue, the second data corresponding to the first video stream is removed from the queue, and the second data of the next video stream is used to calculate the third data of the preset number of video streams.

[0045] As an example, the preset number is 10. The cloud center determines the second data corresponding to the video stream reported by the cloud set-top box through S106. The cloud center stores the second data in the calculation queue. When the cloud center obtains the second data corresponding to 10 video streams, the queue value of the cloud center has reached the preset number. The average value of the second data corresponding to the 10 video streams is calculated to obtain the third data, that is, the overall delay average value and / or the overall packet loss average value corresponding to the 10 video streams. When the cloud center receives the second data corresponding to the 11th video stream, the second data corresponding to the received 1st video stream is removed from the queue, and the second data from the 2nd video stream to the 11th video stream is calculated to ensure that the number of video streams in the queue is the preset number, that is, 10, and the third data of the 10 video streams is calculated. The calculation is carried out in sequence. Whenever the second data corresponding to a new video stream is obtained, the second data corresponding to the video stream that entered the queue the earliest is removed to maintain the preset number in the queue, and the average value of the corresponding second data is calculated to obtain the third data.

[0046] S210: Adjust the transmission process of the target video stream based on the third data.

[0047] The target video stream includes: after obtaining the third data, according to the instruction of the cloud set-top box requesting to play the video, the video stream needs to be continuously sent to the cloud set-top box.

[0048] According to step 208, the cloud center can calculate the third data of the preset number of video streams. After obtaining the third data, the transmission process of the target video stream to be continued can be adjusted based on the third data. The target video stream is the video stream that the cloud center continues to push to the cloud set-top box according to the instruction of the cloud set-top box requesting to play the video. Exemplarily, following the example of step 208 above, when obtaining the second data of the preset number of video streams, the corresponding third data is calculated, and the first target video stream to be transmitted is adjusted according to the third data, such as adjusting the number of frames, adjusting the quality of the video corresponding to the first target video stream, etc., and the adjusted first target video stream is pushed to the cloud set-top box. The cloud center calculates the second data of the first target video stream based on the first data corresponding to the first target video stream reported by the cloud set-top box, and stores it in the queue to obtain the latest third data. Based on the latest third data, the transmission process of the second target video stream after the first target video stream can also be continued to be adjusted.

[0049] This shows that, based on the third data, the transmission process of the target video stream can be dynamically adjusted to improve the stability of the video stream transmission process.

[0050] By adopting the technical solution of the embodiment of the present application, in response to the instruction of the cloud set-top box requesting to play the video, the video stream information corresponding to the video stream to be transmitted in the video is sent to the cloud set-top box, and the first data determined according to the video stream information actively reported by the cloud set-top box is received; wherein the first data includes: one or more of the transmission delay, transmission packet loss number, decoding delay and decoding packet loss number corresponding to the video stream; by calculating the first data, the second data of the video stream is determined, and the second data includes: the overall delay and / or the overall packet loss number of the video stream; when the second data corresponding to a preset number of video streams reported by the cloud set-top box is obtained each time, the average value of the second data corresponding to the preset number of video streams is calculated to obtain third data, and the third data includes the overall delay average value and / or the overall packet loss average value; based on the third data, the transmission process of the target video stream is adjusted, wherein the target video stream includes: after obtaining the third data, according to the instruction of the cloud set-top box requesting to play the video, the video stream that needs to continue to be sent to the cloud set-top box. Every time a preset number of video streams is reached, the overall delay average value and / or the overall packet loss average value corresponding to the preset number of video streams are calculated to obtain third data, and the transmission process of the target video stream is adjusted according to the third data. By dynamically and timely adjusting the transmission process of the target video stream, the video corresponding to the subsequent target video stream can be played stably, which can solve the problem of poor stability of video transmission.

[0051] In one embodiment, based on the third data, the transmission process of the target video stream is adjusted (i.e., S210), and specifically, the following steps A1-A3 may be performed:

[0052] Step A1: When the overall delay average value in the third data is within the first preset delay threshold range, the cloud center stops sending the video frames corresponding to the target video stream, or reduces the frequency of sending the video frames corresponding to the target video stream.

[0053] The preset latency threshold range includes a latency threshold range determined through empirical analysis and statistics, wherein a longer latency indicates a more likely video stream to be jittery or terminated. When the overall average latency is within the first preset latency threshold range, for example, if the preset latency threshold range is 1-10, with 1 being the lowest and 10 being the highest, the first preset latency threshold range may be between 6 and 10, correspondingly adjusting the transmission process of the target video stream.

[0054] The specific adjustment plan includes: comparing the overall delay average value in the third data with the preset delay threshold range. The higher the score, the higher the overall delay average value, the worse the transmission effect of the video stream, and the more jittery or stuck the video playback corresponding to the video stream. It may also be that the decoding of the video stream fails or there are problems such as network transmission. Therefore, when the overall delay average value is within the first preset delay threshold range, the video may freeze or be unable to play. The cloud center can stop sending the video frames corresponding to the target video stream, adjust the encoded key frames and refresh the screen to prevent the problem of decoding failure, or reduce the frequency of sending the video frames corresponding to the target video stream. For example, if the target video stream includes 30 frames of video frames, when the video frames in the video stream pushed at one time are adjusted to 20 frames, the video stream push will be smoother; or by reducing the interval time of pushing the video stream, when the number of video frames in the video stream is small, but the push is too fast, it is easy to cause problems such as jitter and stuck video playback, and the push speed of the video stream can be slowed down.

[0055] Step A2: When the overall delay average value is within the second preset delay threshold range, when the cloud center transmits the target video stream, the encoding parameters of the target video stream are dynamically set to reduce the quality of the video corresponding to the target video stream.

[0056] Continuing with the example in step A1 above, when the overall average delay is within the second preset delay threshold range, such as the preset delay threshold range is 1-10 points, with 1 point being the lowest and 10 points being the highest, then the second preset delay threshold range can be between 4 and 6 points, corresponding to a solution for adjusting the transmission process of the target video stream.

[0057] The specific adjustment plan includes: comparing the overall delay average value in the third data with the preset delay threshold range. When the overall delay average value is within the second preset delay threshold range, the video may be playable, but there are problems of stuttering or jitter. The cloud center can dynamically set and adjust the encoding parameters of the target video stream. For example, when the encoding is the constant rate factor (CRF) encoding mode, the rate factor (RF) value is dynamically set to reduce the video quality while ensuring smoothness.

[0058] Step A3: When the overall delay average value is within the third preset delay threshold range, when the cloud center transmits the target video stream, the resolution value of the video corresponding to the target video stream is kept equal to or greater than the preset resolution threshold, and the resolution value represents the quality of the video corresponding to the target video stream; wherein, the lower limit value of the first preset delay threshold range is greater than the upper limit value of the second preset delay threshold range, and the lower limit value of the second preset delay threshold range is greater than the upper limit value of the third preset delay threshold range.

[0059] Continuing with the examples in steps A1 and A2 above, when the overall average delay is within the third preset delay threshold range, if the preset delay threshold range is 1-10 points, with 1 point being the lowest and 10 points being the highest, then the third preset delay threshold range can be between 1-3 points, corresponding to a solution for adjusting the transmission process of the target video stream.

[0060] The specific adjustment scheme includes: comparing the overall delay average value in the third data with the preset delay threshold range. When the overall delay average value is within the third preset delay threshold range, the video corresponding to the video stream plays relatively smoothly. Then, the resolution value of the video corresponding to the target video stream can be kept equal to the preset resolution value, wherein the preset resolution value includes: the resolution value of the video corresponding to the video stream whose overall delay average value is within the third preset delay threshold range; or the resolution value of the video corresponding to the target video stream can be kept greater than the preset resolution value, and the resolution value represents the playback quality of the video corresponding to the target video stream. By keeping the resolution value of the video corresponding to the target video stream equal to or greater than the preset resolution value, the playback quality of the video corresponding to the target video stream can be maintained or improved, which can further enhance the user's viewing experience of the played video.

[0061] It should be noted that there is a continuous relationship in the preset delay threshold ranges in steps A1-A3, the lower limit value of the first preset delay threshold range is greater than the upper limit value of the second preset delay threshold range, and the lower limit value of the second preset delay threshold range is greater than the upper limit value of the third preset delay threshold range.

[0062] In this embodiment, by obtaining the overall latency average value from the third data and comparing it with a preset latency threshold range determined empirically, the target video stream transmission process is adjusted differently depending on the preset latency threshold range. This allows the target video stream transmission process to be adjusted based on the video playback of the video stream corresponding to the calculated overall latency average value, resulting in a smoother and more stable video playback corresponding to the target video stream after transmission. When playing a complete video comprising multiple video streams, continuously adjusting the video streams during transmission can achieve smoother playback of the complete video, improving the user experience.

[0063] In one embodiment, based on the third data, the transmission process of the target video stream is adjusted (i.e., S210), and the following steps B1-B3 may be specifically performed:

[0064] Step B1: When the average value of the total packet loss number in the third data is within the first preset packet loss number threshold range, the cloud center stops sending the video frames corresponding to the target video stream, or reduces the frequency of sending the video frames corresponding to the target video stream.

[0065] The preset packet loss threshold range includes a packet loss threshold range determined through empirical analysis and statistics, wherein a greater number of packet losses indicates fewer video frames included in the transmitted video stream, and consequently, a greater degree of video playback lag. When the overall average packet loss number is within the first preset packet loss threshold range, e.g., the preset packet loss threshold range is 1-10, with 1 being the lowest and 10 being the highest, the first preset packet loss threshold range may be between 6 and 10, correspondingly adjusting the transmission process of the target video stream.

[0066] Among them, the overall average packet loss number is within the first preset packet loss number threshold range, and the corresponding adjustment plan for the target video stream is similar to the adjustment plan for the target video stream when the overall delay average value is within the first preset delay threshold range in step A1. The specific adjustment process is not described in detail here.

[0067] Step B2: When the average value of the total packet loss number is within the second preset packet loss number threshold range, when the cloud center transmits the target video stream, the encoding parameters of the target video stream are dynamically set to reduce the quality of the video corresponding to the target video stream.

[0068] When the overall average packet loss number is within the second preset packet loss number threshold range, such as the preset packet loss number threshold range is 1-10 points, 1 point is the lowest and 10 points is the highest, then the second preset packet loss number threshold range can be between 4 and 6 points, corresponding to a solution for adjusting the transmission process of the target video stream.

[0069] Among them, when the overall average packet loss number is within the second preset packet loss number threshold range, the corresponding adjustment plan for the target video stream is similar to the adjustment plan for the target video stream when the overall delay average value is within the second preset delay threshold range in step A2. The specific adjustment process is not described in detail here.

[0070] Step B3: When the average value of the overall packet loss number is within the third preset packet loss number threshold range, when the cloud center transmits the target video stream, the quality resolution value of the video corresponding to the target video stream is kept equal to or greater than the preset resolution threshold, and the resolution value represents the quality of the video corresponding to the target video stream; wherein, the lower limit value of the first preset packet loss number threshold range is greater than the upper limit value of the second preset packet loss number threshold range, and the lower limit value of the second preset packet loss number threshold range is greater than the upper limit value of the third preset packet loss number threshold range.

[0071] When the overall average packet loss number is within the third preset delay threshold range, such as the preset packet loss number threshold range is 1-10 points, 1 point is the lowest, and 10 points is the highest, then the third preset packet loss number threshold range can be between 1-3 points, corresponding to the solution of adjusting the transmission process of the target video stream.

[0072] Among them, the adjustment scheme for the corresponding target video stream when the overall average number of packet losses is within the third preset packet loss threshold is similar to the adjustment scheme for the target video stream when the overall delay average value is within the third preset delay threshold in step A3. The specific adjustment process is not described in detail here.

[0073] Among them, there is a continuous relationship in the preset packet loss threshold ranges in steps B1-B3, the lower limit value of the first preset packet loss threshold range is greater than the upper limit value of the second preset packet loss threshold range, and the lower limit value of the second preset packet loss threshold range is greater than the upper limit value of the third preset packet loss threshold range.

[0074] It should be noted that in step A, the overall delay average is compared with the preset delay threshold range. The target video stream transmission process is adjusted differently when the overall delay average falls within different preset delay threshold ranges. In step B, the overall packet loss average is compared with the preset packet loss threshold range. The target video stream transmission process is adjusted differently when the overall packet loss average falls within different preset packet loss threshold ranges. Both steps A and B adjust the target video stream transmission process. The optimal solution is to compare both the overall delay average and the overall packet loss average with the corresponding preset threshold ranges to adjust the target video stream transmission process. However, if only the overall delay average is compared with the preset delay threshold range without considering the number of packet losses, the target video stream transmission process can also be adjusted. Alternatively, when the average number of packet losses is 0, the target video stream transmission process can also be adjusted by considering the overall delay average. Conversely, if only the average number of packet losses is compared with the preset packet loss threshold range, the target video stream transmission process can also be adjusted. This is not specifically limited here.

[0075] In addition to the average overall latency and packet loss, we can also consider the impact of user bandwidth on the target video stream transmission. If the bandwidth is too low, the target video stream will not be transmitted smoothly. However, since most users have bandwidths of 100 Mbps, the impact is not significant. It should be understood that considering a single scenario does not accurately determine the target video stream transmission situation by taking into account all scenarios. The more considerations, the more accurate the reflection of network conditions.

[0076] In this embodiment, by obtaining the average value of the overall packet loss number in the third data and comparing it with the preset packet loss number threshold range determined based on experience, the target video stream transmission process is adjusted differently when the average value of the overall packet loss number is within different preset packet loss number threshold ranges. The transmission process of the target video stream can also be adjusted based on the video played back by the video stream corresponding to the calculated average value of the overall packet loss number, so that after the target video stream is transmitted, the video corresponding to the target video stream played back has higher fluency and stability, which can also achieve the effect of improving the user experience.

[0077] In one embodiment, by calculating the first data to determine the second data of the video stream (i.e., S206), the following steps C1-C2 may be performed:

[0078] Step C1: determining the total delay according to the sum of the transmission delay and the decoding delay; and / or determining the total packet loss number according to the sum of the transmission packet loss number and the decoding packet loss number.

[0079] During the process of transmitting the video stream to playing the corresponding video, the cloud set-top box automatically reports the transmission delay during the transmission of the video stream and the decoding delay during the decoding of the video stream. The cloud center analyzes and processes them, and calculates the sum of the transmission delay and the decoding delay to determine the overall delay.

[0080] And / or, in the process of transmitting the video stream to playing the corresponding video, the cloud set-top box automatically reports the number of transmission packet losses in the process of transmitting the video stream and the number of decoding packet losses in the process of decoding the video stream. The cloud center analyzes and processes them, and calculates the sum of the reported transmission packet losses and the decoding packet losses to determine the total packet loss number.

[0081] Step C2: Determine second data based on the overall delay and / or the overall number of packet losses.

[0082] The cloud center determines the second data using the calculated overall latency and / or overall packet loss. It should be understood that, as can be seen from steps A1 to B3 above, the third data is calculated using the second data, where the second data includes the overall latency and / or overall packet loss. It is not necessary to calculate both the overall latency and the overall packet loss simultaneously; only one or both may be calculated. However, calculating the overall latency requires determining both the transmission latency and the decoding latency, and calculating the overall packet loss requires determining both the transmission packet loss and the decoding packet loss. For example, if the video transmission quality is excellent and there is no transmission packet loss, then the transmission packet loss is recorded as 0. It is not possible to directly use the decoding packet loss as the overall packet loss without obtaining the transmission packet loss.

[0083] In this embodiment, the cloud center calculates the transmission delay and decoding delay proactively reported by the cloud set-top box to determine the overall delay; determines the overall packet loss number based on the transmission packet loss number and the decoding packet loss number, and determines the second data. By calculating the overall delay and / or the overall packet loss number, the overall situation from video stream transmission to corresponding video playback is considered to improve the smoothness of video playback.

[0084] In one embodiment, upon receiving the first data determined based on the video stream information proactively reported by the cloud-based set-top box (i.e., S204), the following steps D1-D5 may be performed:

[0085] Step D1: receiving the transmission delay in the first data actively reported by the cloud set-top box according to the custom protocol.

[0086] The transmission delay includes the difference between the timestamp of the video stream information sent by the cloud set-top box according to the cloud center and the timestamp of the video stream information received.

[0087] A custom protocol may include defining a data array and a variable for recording the length of the data, etc., which are used to record what data needs to be transmitted and how long the data is.

[0088] When the cloud set-top box needs to play a video, it requests the cloud center to play the video. The cloud center responds to the request of the cloud set-top box and sends the corresponding video stream information to be transmitted. Based on the video stream information sent by the cloud center, the cloud set-top box actively reports the transmission delay of the video stream to the cloud center according to the custom protocol. Active reporting can be performed after receiving the complete video stream or it can be set to report at a scheduled time. There is no specific limitation here.

[0089] Among them, the transmission delay specifically includes the timestamp when the cloud set-top box receives the parsed video stream information sent by the cloud center. Since each video stream corresponds to multiple video frames, each video frame has its own timestamp. The timestamp of the complete parsed video stream information sent by the cloud center is compared with the timestamp after the cloud set-top box receives the transmitted video stream. The difference in timestamps is the transmission delay.

[0090] Step D2: and / or, receiving the number of transmission packet losses in the first data actively reported by the cloud set-top box according to the custom protocol.

[0091] The number of transmission packet losses includes: the number of transmission packet losses determined by the cloud set-top box according to the video sequence number of the video stream information sent by the cloud center.

[0092] When a cloud-based set-top box needs to play a video, it requests the cloud center to play the video. The cloud center responds to the request of the cloud-based set-top box and sends the corresponding video stream information to be transmitted. Based on the video stream information sent by the cloud center, the cloud-based set-top box actively reports the number of transmission packet losses of the video stream to the cloud center according to the custom protocol.

[0093] Among them, the number of transmission packet losses specifically includes the cloud set-top box receiving the parsed video stream information sent by the cloud center. Since each video stream corresponds to multiple video frames, each video frame has its own video sequence number, and the video sequence number can be kept increasing, the cloud set-top box can calculate the difference between the video sequence number in the received video stream information and the video sequence number corresponding to the video stream information of the cloud center to obtain the number of packet losses, that is, the number of packet losses is 1 if one video sequence number is missing.

[0094] Step D3: and / or, receiving the decoding delay in the first data actively reported by the cloud set-top box according to the custom protocol.

[0095] The decoding delay includes the difference between the timestamp when the cloud set-top box receives the video stream from the cloud center and the timestamp after decoding the video stream.

[0096] In order to ensure the security of video stream transmission, the video stream needs to be compressed and encrypted. The cloud set-top box needs to decode the received video stream. There needs to be a time difference in the decoding process. The time difference between the timestamp when the cloud set-top box receives the video stream sent by the cloud center and the timestamp after the video stream is decoded is used as the decoding delay.

[0097] Step D4: and / or, receiving the number of decoding packet losses in the first data actively reported by the cloud set-top box according to the custom protocol.

[0098] The number of decoding packet losses includes the number of video frames in the video stream sent by the cloud center that failed to be decoded by the cloud set-top box.

[0099] To ensure the security of video stream transmission, the video stream needs to be encrypted for transmission. After decoding the received video stream, the cloud set-top box needs to calculate whether there is packet loss in the decoded video stream. When a data packet is lost, the video frame corresponding to the lost data packet will fail to be decoded. The cloud set-top box counts the number of video frames corresponding to the video stream that failed to be decoded, which is the number of decoding packet losses.

[0100] Step D5: Determine first data according to one or more of transmission delay, number of transmission packet losses, decoding delay, and number of decoding packet losses.

[0101] The cloud center determines the first data based on one or more of the transmission delay, transmission packet loss, decoding delay and decoding packet loss reported by the cloud set-top box. When the data reported by the cloud set-top box only includes transmission delay and transmission packet loss, it can also be used as the first data. There is no specific limit on the amount of reported first data. The optimal situation is to report all data to facilitate improving the accuracy of subsequent calculations.

[0102] In this embodiment, one or more of the transmission delay, transmission packet loss number, decoding delay and decoding packet loss number are calculated as the first data through the cloud set-top box, and the first data is actively reported to the cloud center through a custom protocol. The cloud center receives the first data and can better count the transmission status of the video stream.

[0103] In one embodiment, in response to a request from a cloud-based set-top box to play a video, video stream information corresponding to a video stream to be transmitted in the video is sent to the cloud-based set-top box (i.e., S202), and the following steps E1-E3 may be performed:

[0104] Step E1: Time synchronization is performed with the cloud-based set-top box through the Network Time Protocol.

[0105] The cloud center and cloud set-top boxes synchronize time through the Network Time Protocol (NTP) to ensure that the system time remains consistent, providing a basis for subsequent calculations.

[0106] Step E2: responding to the cloud set-top box's instruction to play a video, obtaining a video stream to be transmitted corresponding to the video, wherein the video includes one or more video streams.

[0107] After the cloud center and the cloud set-top box are synchronized, the cloud center responds to the cloud set-top box's request and obtains the video stream corresponding to the requested video from the server. The played video corresponds to one or more video streams.

[0108] Step E3: parse and process the video stream, and send the video stream information to the cloud set-top box.

[0109] The cloud center parses and processes the video stream to obtain the parsed video stream information, which includes fields such as the time and audio corresponding to the video stream.

[0110] In this embodiment, by synchronizing the time between the cloud center and the cloud set-top box before they communicate, the cloud center then responds to the cloud set-top box's request to play the video and provides corresponding video stream information, which can improve the accuracy of the transmitted video stream.

[0111] Figure 3 This is a schematic flow chart of a scenario of a method for transmitting cloud video streams according to another embodiment of the present application. Figure 3 As shown, the method includes the following steps:

[0112] S301: The cloud-based set-top box and the cloud-based center synchronize time through NTP.

[0113] S302: The cloud-based set-top box sends a request to the cloud center to play a video.

[0114] S303: The cloud center responds to the instruction of the cloud set-top box and pushes the corresponding video stream information to the cloud set-top box.

[0115] S304: Within a period of time, the cloud-based set-top box receives video stream information from the cloud-based center and calculates the corresponding transmission delay, transmission packet loss number, decoding delay, and decoding packet loss number.

[0116] In step S305 , the cloud-based set-top box reports the transmission delay, transmission packet loss number, decoding delay, and decoding packet loss number to the cloud-based center through a custom protocol.

[0117] S306: The cloud center receives the status information reported by the cloud set-top box and performs analysis and processing.

[0118] Status information includes: transmission delay, number of transmission packet losses, transmission delay and number of decoding packet losses.

[0119] S307: The cloud center determines the total delay by the transmission delay and the sum of the transmission delays.

[0120] S308: The cloud center determines the total packet loss number by summing the transmission packet loss number and the decoding packet loss number.

[0121] In step S309, the cloud center stores the total delay and total packet loss in a calculation queue. When the queue meets the total delay and total packet loss of a set number of video streams, the average total delay and average total packet loss of the set number of video streams in the queue are calculated.

[0122] S310 , comparing the overall average delay value and the overall average packet loss value with corresponding preset thresholds respectively to determine comparison results.

[0123] S311 , dynamically adjusting the transmission process of the target video stream to be sent according to the comparison result.

[0124] The specific process from S301 to S311 has been described in detail in the above embodiment and will not be repeated here.

[0125] By adopting the technical solution of the embodiment of the present application, in response to the instruction of the cloud set-top box requesting to play the video, the video stream information corresponding to the video stream to be transmitted in the video is sent to the cloud set-top box, and the first data determined according to the video stream information actively reported by the cloud set-top box is received; wherein the first data includes: one or more of the transmission delay, transmission packet loss number, decoding delay and decoding packet loss number corresponding to the video stream; by calculating the first data, the second data of the video stream is determined, and the second data includes: the overall delay and / or the overall packet loss number of the video stream; when the second data corresponding to a preset number of video streams reported by the cloud set-top box is obtained each time, the average value of the second data corresponding to the preset number of video streams is calculated to obtain third data, and the third data includes the overall delay average value and / or the overall packet loss average value; based on the third data, the transmission process of the target video stream is adjusted, wherein the target video stream includes: after obtaining the third data, according to the instruction of the cloud set-top box requesting to play the video, the video stream that needs to continue to be sent to the cloud set-top box. Every time a preset number of video streams is reached, the overall delay average value and / or the overall packet loss average value corresponding to the preset number of video streams are calculated to obtain third data, and the transmission process of the target video stream is adjusted according to the third data. By dynamically and timely adjusting the transmission process of the target video stream, the video corresponding to the subsequent target video stream can be played stably, which can solve the problem of poor stability of video transmission.

[0126] In summary, specific embodiments of the present subject matter have been described. Other embodiments are within the scope of the appended claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing may be advantageous.

[0127] The above is a method for transmitting a cloud video stream provided in an embodiment of the present application. Based on the same idea, an embodiment of the present application also provides a device for transmitting a cloud video stream.

[0128] Figure 4 FIG is a schematic diagram of the structure of a transmission device for cloud video stream according to an embodiment of the present invention. Figure 4 As shown, the cloud video stream transmission device includes: a sending module 41, a receiving module 42, a calculation module 43, a determination module 44, and a transmission module 45:

[0129] The sending module 41 is used to respond to the instruction of the cloud set-top box requesting to play the video and send the video stream information corresponding to the video stream to be transmitted in the video to the cloud set-top box;

[0130] The receiving module 42 is configured to receive first data determined based on video stream information and proactively reported by the cloud set-top box; wherein the first data includes one or more of: transmission delay, transmission packet loss number, decoding delay, and decoding packet loss number corresponding to the video stream;

[0131] A calculation module 43 is configured to determine second data of the video stream by calculating the first data, where the second data includes: an overall delay and / or an overall number of packet losses of the video stream;

[0132] a determination module 44 configured to calculate an average of the second data corresponding to the preset number of video streams sent by the cloud set-top box each time the second data corresponding to the preset number of video streams is obtained, and determine third data, the third data including an average overall latency and / or an average overall packet loss number;

[0133] The transmission module 45 is used to adjust the transmission process of the target video stream based on the third data, wherein the target video stream includes: after obtaining the third data, according to the instruction of the cloud set-top box requesting to play the video, the video stream needs to continue to be sent to the cloud set-top box.

[0134] In one embodiment, the transmission module 45 may be specifically configured to, when the overall delay average value in the third data is within a first preset delay threshold range, stop the cloud center from sending the video frames corresponding to the target video stream, or reduce the frequency of sending the video frames corresponding to the target video stream;

[0135] When the overall delay average value is within the second preset delay threshold range, when the cloud center transmits the target video stream, the encoding parameters of the target video stream are dynamically set to reduce the quality of the video corresponding to the target video stream;

[0136] When the overall delay average value is within the third preset delay threshold range, when the cloud center transmits the target video stream, the resolution value of the video corresponding to the target video stream is kept equal to or greater than the preset resolution threshold, and the resolution value represents the quality of the video corresponding to the target video stream; wherein, the lower limit value of the first preset delay threshold range is greater than the upper limit value of the second preset delay threshold range, and the lower limit value of the second preset delay threshold range is greater than the upper limit value of the third preset delay threshold range.

[0137] In one embodiment, the transmission module 45 may be further configured to, when the average value of the total packet loss count in the third data is within a first preset packet loss count threshold range, cause the cloud center to stop sending video frames corresponding to the target video stream, or reduce the frequency of sending video frames corresponding to the target video stream;

[0138] When the average value of the total packet loss number is within the second preset packet loss number threshold range, when the cloud center transmits the target video stream, the encoding parameters of the target video stream are dynamically set to reduce the quality of the video corresponding to the target video stream;

[0139] When the average value of the overall packet loss number is within the third preset packet loss number threshold range, when the cloud center transmits the target video stream, the resolution value of the video corresponding to the target video stream is kept equal to or greater than the preset resolution threshold, and the resolution value represents the quality of the video corresponding to the target video stream; wherein, the lower limit value of the first preset packet loss number threshold range is greater than the upper limit value of the second preset packet loss number threshold range, and the lower limit value of the second preset packet loss number threshold range is greater than the upper limit value of the third preset packet loss number threshold range.

[0140] In one embodiment, the calculation module 43 is specifically configured to:

[0141] Determine the total delay based on the sum of the transmission delay and the decoding delay;

[0142] and / or, determining the total packet loss number based on the sum of the transmission packet loss number and the decoding packet loss number;

[0143] The second data is determined based on the overall delay and / or the overall number of packet losses.

[0144] In one embodiment, the receiving module 42 is specifically configured to:

[0145] Receiving a transmission delay in first data actively reported by the cloud set-top box according to a custom protocol, where the transmission delay includes: a difference between a timestamp of the video stream information sent by the cloud set-top box according to the cloud center and a timestamp of the video stream information received;

[0146] and / or, receiving a number of transmission packet losses in first data actively reported by a cloud-based set-top box according to a custom protocol, where the number of transmission packet losses includes: a number of transmission packet losses determined by the cloud-based set-top box according to a video sequence number of video stream information sent by the cloud-based center;

[0147] and / or, receiving a decoding delay in first data actively reported by the cloud set-top box according to a custom protocol, where the decoding delay includes: a difference between a timestamp of when the cloud set-top box receives the video stream from the cloud center and a timestamp after decoding the video stream;

[0148] and / or, receiving a number of decoding packet losses in first data actively reported by a cloud-based set-top box according to a custom protocol, where the number of decoding packet losses includes: a number of video frames in a video stream sent by the cloud-based center that fail to be decoded by the cloud-based set-top box;

[0149] The first data is determined according to one or more of a transmission delay, a number of transmission packet losses, a decoding delay, and a number of decoding packet losses.

[0150] In one embodiment, the sending module 41 is specifically configured to:

[0151] Time synchronization is achieved through the Network Time Protocol and cloud-based set-top boxes;

[0152] Responding to a video playback request from a cloud-based set-top box, obtaining a video stream to be transmitted corresponding to the video, where the video includes one or more video streams;

[0153] The video stream is parsed and processed to obtain the parsed video stream information, and the video stream information is sent to the cloud set-top box.

[0154] By adopting the technical solution of the embodiment of the present application, in response to the instruction of the cloud set-top box requesting to play the video, the video stream information corresponding to the video stream to be transmitted in the video is sent to the cloud set-top box, and the first data determined according to the video stream information actively reported by the cloud set-top box is received; wherein the first data includes: one or more of the transmission delay, transmission packet loss number, decoding delay and decoding packet loss number corresponding to the video stream; by calculating the first data, the second data of the video stream is determined, and the second data includes: the overall delay and / or the overall packet loss number of the video stream; when the second data corresponding to a preset number of video streams reported by the cloud set-top box is obtained each time, the average value of the second data corresponding to the preset number of video streams is calculated to obtain third data, and the third data includes the overall delay average value and / or the overall packet loss average value; based on the third data, the transmission process of the target video stream is adjusted, wherein the target video stream includes: after obtaining the third data, according to the instruction of the cloud set-top box requesting to play the video, the video stream that needs to continue to be sent to the cloud set-top box. Every time a preset number of video streams is reached, the overall delay average value and / or the overall packet loss average value corresponding to the preset number of video streams are calculated to obtain third data, and the transmission process of the target video stream is adjusted according to the third data. By dynamically and timely adjusting the transmission process of the target video stream, the video corresponding to the subsequent target video stream can be played stably, which can solve the problem of poor stability of video transmission.

[0155] Those skilled in the art should understand that Figure 4 The cloud video stream transmission device in can be used to implement the cloud video stream transmission method described above. The detailed description should be similar to the description of the method part above. To avoid tediousness, it will not be repeated here.

[0156] Based on the same technical concept, an embodiment of the present application further provides an electronic device, which is used to execute the above-mentioned cloud video stream transmission method. Figure 5 The following is a schematic diagram of the structure of an electronic device for implementing various embodiments of the present application. Electronic devices may vary significantly due to different configurations or performance, and may include a processor 510, a communications interface 520, a memory 530, and a communication bus 540. The processor 510, the communications interface 520, and the memory 530 communicate with each other via the communication bus 540. The processor 510 may call a computer program stored in the memory 530 and executable on the processor 510 to perform the following steps:

[0157] In response to the cloud set-top box's request to play the video, the video stream information corresponding to the video stream to be transmitted in the video is sent to the cloud set-top box;

[0158] Receiving first data determined based on video stream information that is actively reported by the cloud set-top box; wherein the first data includes: one or more of a transmission delay, a number of transmission packet losses, a decoding delay, and a number of decoding packet losses corresponding to the video stream;

[0159] Determine second data of the video stream by calculating the first data, where the second data includes: an overall delay and / or an overall number of packet losses of the video stream;

[0160] When obtaining second data corresponding to a preset number of video streams sent by the cloud set-top box each time, calculating an average value of the second data corresponding to the preset number of video streams to determine third data, the third data including an average value of overall delay and / or an average value of overall packet loss;

[0161] Based on the third data, the transmission process of the target video stream is adjusted, wherein the target video stream includes: after obtaining the third data, according to the instruction of the cloud set-top box requesting to play the video, the video stream needs to continue to be sent to the cloud set-top box.

[0162] By adopting the technical solution of the embodiment of the present application, in response to the instruction of the cloud set-top box requesting to play the video, the video stream information corresponding to the video stream to be transmitted in the video is sent to the cloud set-top box, and the first data determined according to the video stream information actively reported by the cloud set-top box is received; wherein the first data includes: one or more of the transmission delay, transmission packet loss number, decoding delay and decoding packet loss number corresponding to the video stream; by calculating the first data, the second data of the video stream is determined, and the second data includes: the overall delay and / or the overall packet loss number of the video stream; when the second data corresponding to a preset number of video streams reported by the cloud set-top box is obtained each time, the average value of the second data corresponding to the preset number of video streams is calculated to obtain third data, and the third data includes the overall delay average value and / or the overall packet loss average value; based on the third data, the transmission process of the target video stream is adjusted, wherein the target video stream includes: after obtaining the third data, according to the instruction of the cloud set-top box requesting to play the video, the video stream that needs to continue to be sent to the cloud set-top box. Every time a preset number of video streams is reached, the overall delay average value and / or the overall packet loss average value corresponding to the preset number of video streams are calculated to obtain third data, and the transmission process of the target video stream is adjusted according to the third data. By dynamically and timely adjusting the transmission process of the target video stream, the video corresponding to the subsequent target video stream can be played stably, which can solve the problem of poor stability of video transmission.

[0163] The specific execution steps can refer to the various steps of the above-mentioned cloud video stream transmission method embodiment, and can achieve the same technical effect. To avoid repetition, they will not be repeated here.

[0164] It should be noted that the electronic devices in the embodiments of the present application include: servers, terminals, or other devices other than terminals.

[0165] The above electronic device structure does not constitute a limitation of the electronic device. The electronic device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently. For example, the input unit may include a graphics processing unit (GPU) and a microphone, and the display unit may be configured in the form of a liquid crystal display, an organic light emitting diode, etc. to configure the display panel. The user input unit includes a touch panel and at least one of other input devices. The touch panel is also called a touch screen. Other input devices may include but are not limited to a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), a trackball, a mouse, and a joystick, which will not be repeated here.

[0166] The memory can be used to store software programs and various data. The memory may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, applications or instructions required for at least one function (such as a sound playback function, an image playback function, etc.), etc. In addition, the memory may include a volatile memory or a non-volatile memory, or the memory may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct rambus random access memory (DRRAM).

[0167] The processor may include one or more processing units; optionally, the processor may integrate an application processor and a modem processor, wherein the application processor primarily handles operations related to the operating system, user interface, and application programs, and the modem processor primarily processes wireless communication signals, such as a baseband processor. It is understood that the modem processor may not be integrated into the processor.

[0168] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the various processes of the method embodiment of the above-mentioned cloud video stream transmission environment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0169] The processor is the processor in the electronic device described in the above embodiment. The readable storage medium includes a computer-readable storage medium, such as a computer read-only memory (ROM), random access memory (RAM), a magnetic disk, or an optical disk.

[0170] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the method embodiment of the above-mentioned cloud video stream transmission environment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0171] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.

[0172] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the processor is used to run the program or instructions to implement the various processes of the above-mentioned product recommendation method embodiment and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0173] It should be noted that, in this article, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the statement "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device comprising the element. In addition, it should be noted that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in the opposite order according to the functions involved. For example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.

[0174] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0175] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of this application, ordinary technicians in this field can also make many forms without departing from the purpose of this application and the scope of protection of the claims, all of which are within the protection of this application.

Claims

1. A method for transmitting cloud video streams, characterized in that: Applied to a cloud center, the method includes: In response to the cloud set-top box's instruction to play the video, the video stream information corresponding to the video stream to be transmitted in the video is sent to the cloud set-top box; Receiving first data determined based on the video stream information and actively reported by the cloud set-top box; wherein the first data includes: one or more of a transmission delay, a transmission packet loss number, a decoding delay, and a decoding packet loss number corresponding to the video stream, and the decoding packet loss number includes: a number of video frames in the video stream sent by the cloud set-top box to the cloud center that failed to be decoded; Determine second data of the video stream by calculating the first data, where the second data includes: an overall delay and an overall number of packet losses of the video stream, where the overall number of packet losses includes: a sum of the number of transmission packet losses and the number of decoding packet losses; When obtaining second data corresponding to a preset number of video streams reported by the cloud set-top box each time, calculating an average value of the second data corresponding to the preset number of video streams to obtain third data, the third data including an average value of overall delay and an average value of overall packet loss; Based on the third data, the transmission process of the target video stream is adjusted, wherein the target video stream includes: after obtaining the third data, according to the instruction of the cloud set-top box requesting to play the video, the video stream needs to continue to be sent to the cloud set-top box.

2. The method according to claim 1, characterized in that The process of adjusting the transmission of the target video stream based on the third data includes: When the overall delay average value in the third data is within a first preset delay threshold range, the cloud center stops sending the video frames corresponding to the target video stream, or reduces the frequency of sending the video frames corresponding to the target video stream; When the overall delay average value is within a second preset delay threshold range, when the cloud center transmits the target video stream, dynamically setting the encoding parameters of the target video stream to reduce the quality of the video corresponding to the target video stream; When the overall delay average value is within the third preset delay threshold range, when the cloud center transmits the target video stream, the resolution value of the video corresponding to the target video stream is kept equal to or greater than the preset resolution threshold, and the resolution value represents the quality of the video corresponding to the target video stream; wherein, the lower limit value of the first preset delay threshold range is greater than the upper limit value of the second preset delay threshold range, and the lower limit value of the second preset delay threshold range is greater than the upper limit value of the third preset delay threshold range.

3. The method according to claim 1, characterized in that The method of adjusting the transmission process of the target video stream based on the third data further includes: When the average value of the total packet loss number in the third data is within a first preset packet loss number threshold range, the cloud center stops sending the video frames corresponding to the target video stream, or reduces the frequency of sending the video frames corresponding to the target video stream; When the average value of the total packet loss number is within a second preset packet loss number threshold range, when the cloud center transmits the target video stream, dynamically setting the encoding parameters of the target video stream to reduce the quality of the video corresponding to the target video stream; When the average value of the overall packet loss number is within the third preset packet loss number threshold range, when the cloud center transmits the target video stream, the resolution value of the video corresponding to the target video stream is kept equal to or greater than the preset resolution threshold, and the resolution value represents the quality of the video corresponding to the target video stream; wherein, the lower limit value of the first preset packet loss number threshold range is greater than the upper limit value of the second preset packet loss number threshold range, and the lower limit value of the second preset packet loss number threshold range is greater than the upper limit value of the third preset packet loss number threshold range.

4. The method according to claim 1, wherein Determining the second data of the video stream by calculating the first data includes: determining the overall delay according to the sum of the transmission delay and the decoding delay; Determining the total packet loss number according to the sum of the transmission packet loss number and the decoding packet loss number; The second data is determined based on the overall delay and the overall number of packet losses.

5. The method according to claim 1, wherein The receiving first data determined according to the video stream information and actively reported by the cloud set-top box includes: Receiving the transmission delay in the first data actively reported by the cloud set-top box according to the custom protocol, the transmission delay comprising: a difference between a timestamp when the cloud set-top box sends the video stream information according to the cloud center and a timestamp when the video stream information is received; and / or, receiving the number of transmission packet losses in the first data actively reported by the cloud set-top box according to the custom protocol, the number of transmission packet losses comprising: the number of transmission packet losses determined by the cloud set-top box according to the video sequence number of the video stream information sent by the cloud center; and / or, receiving the decoding delay in the first data actively reported by the cloud set-top box according to the custom protocol, the decoding delay comprising: a difference between a timestamp of the cloud set-top box receiving the video stream from the cloud center and a timestamp after decoding of the video stream is completed; and / or, receiving the number of decoding packet losses in the first data actively reported by the cloud-based set-top box according to the custom protocol; The first data is determined according to one or more of the transmission delay, the number of transmission packet losses, the decoding delay, and the number of decoding packet losses.

6. The method according to claim 1, wherein The step of responding to the cloud-based set-top box's instruction to play a video and sending video stream information corresponding to a video stream to be transmitted in the video to the cloud-based set-top box includes: Performing time synchronization with the cloud-based set-top box via the Network Time Protocol; In response to an instruction from the cloud set-top box requesting to play a video, obtaining the video stream to be transmitted corresponding to the video, where the video includes one or more video streams; The video stream is parsed to obtain the parsed video stream information, and the video stream information is sent to the cloud set-top box.

7. A cloud video stream transmission device, characterized in that: The device comprises: The sending module is used to respond to the instruction of the cloud set-top box requesting to play the video, and send the video stream information corresponding to the video stream to be transmitted in the video to the cloud set-top box; a receiving module, configured to receive first data determined based on the video stream information and actively reported by the cloud set-top box; wherein the first data includes: one or more of a transmission delay, a number of transmission packet losses, a decoding delay, and a number of decoding packet losses corresponding to the video stream; the number of decoding packet losses includes: a number of video frames in the video stream sent by the cloud set-top box to the cloud center that failed to be decoded; a calculation module, configured to determine second data of the video stream by calculating the first data, where the second data includes: an overall delay and an overall number of packet losses of the video stream, where the overall number of packet losses includes: a sum of the number of transmission packet losses and the number of decoding packet losses; a determination module, configured to calculate an average value of the second data corresponding to a preset number of video streams sent by the cloud set-top box each time the second data corresponding to the preset number of video streams is obtained, and determine third data, the third data including an average value of overall delay and an average value of overall packet loss; A transmission module is used to adjust the transmission process of the target video stream based on the third data, wherein the target video stream includes: after obtaining the third data, according to the instruction of the cloud set-top box requesting to play the video, the video stream needs to continue to be sent to the cloud set-top box.

8. An electronic device, characterized in that: It includes a processor and a memory electrically connected to the processor, the memory storing a computer program, and the processor being used to call and execute the computer program from the memory to implement a cloud video stream transmission method as described in any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that The storage medium is used to store a computer program, and the computer program can be executed by a processor to implement a cloud video stream transmission method as described in any one of claims 1-6.

10. A computer program product, characterized in that It includes a computer program, which, when executed by a processor, implements the cloud video stream transmission method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Terminal video communication quality adjusting method and system

    CN105100675A

  • Method and device for processing video decoding error, and storage medium

    WO2018113308A1