Video playing control method and device and electronic equipment
By obtaining the real-time and average network performance parameters of the video playback end and determining the target code rate level, the problem of the inability to accurately adjust the video code stream in the existing technology is solved, the picture quality and fluency of video playback are improved, and the user experience is improved.
Patent Information
- Application Number
- CN202411018365.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-26
- Publication Date
- 2025-01-03
AI Technical Summary
When adjusting the video streaming gear of the video playback end, it is difficult to accurately measure the real-time network bandwidth and obtain real-time code rate information, resulting in the inability to provide the best picture quality that meets the user's network status, affecting the user's viewing experience.
By obtaining the real-time network performance parameters and average network performance parameters of the video playback end, determine the video stream of the target code rate level, and adjust the video stream from multiple code rate levels to optimize the playback effect.
It achieves more accurate provision of the best picture quality that conforms to the user's network status, improves the comprehensive effect of picture quality and fluency on the video playback end, and improves the user's viewing experience.
Smart Images

Figure CN119255022A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a video playback control method, device, electronic device and computer-readable storage medium. Background Art
[0002] With the development of network technology and the enrichment of terminal functions, live video broadcasting is increasingly used in people's production and life, for example, teaching through live video broadcasting, selling goods through live video broadcasting, sharing daily life through live video broadcasting, etc. In order to adapt to the network conditions of different live video playback terminals, the live broadcast system usually provides video streams with different bitrates, such as 1080p, 720p, 540p and other bitrates. The live broadcast system will distribute the live video streams of the corresponding bitrates according to the network conditions of the video playback terminal, so as to achieve a better comprehensive experience of image quality and fluency at the video playback terminal.
[0003] The relevant technology usually adjusts the video bitrate level of the video playback end according to the real-time bandwidth of the video playback end and the real-time bitrate of the currently played video stream. For example, if the real-time bandwidth of the video playback end is less than the real-time bitrate of the bitrate level corresponding to the currently played video stream, the bitrate level of the video pushed to the video playback end is reduced.
[0004] However, the real-time network bandwidth of the video playback end often fluctuates greatly and is difficult to measure accurately. At the same time, the real-time bit rate information of different bit streams is also difficult to obtain accurately in advance. Therefore, the above-mentioned method of adjusting the video bit stream gear of the video playback end according to the real-time bandwidth and real-time bit rate often cannot accurately provide users with the best live video quality that matches their network status. As a result, the overall effect of picture quality and smoothness of the video playback end is not good, affecting the user's viewing experience. Summary of the invention
[0005] The present application provides a video playback control method, device, system, electronic device and computer-readable storage medium, which can more accurately provide users with live videos with the best picture quality that matches their network status, thereby making the comprehensive effect of picture quality and fluency of the video playback end better and improving the user's viewing experience. The specific scheme is as follows:
[0006] In a first aspect, an embodiment of the present application provides a video playback control method, the method comprising:
[0007] Get the real-time network performance parameters of the video player;
[0008] Determine an average bit rate corresponding to a video stream currently played by the video player and an average network performance parameter of the video player, wherein the video played by the video player corresponds to a video stream with multiple bit rate levels;
[0009] Based on the average bit rate, the real-time network performance parameter and the average network performance parameter, a video stream with a target bit rate level is determined from the video streams with the multiple bit rate levels, and the video stream with the target bit rate level is used to adjust the video stream played by the video playback end.
[0010] In a second aspect, an embodiment of the present application further provides a video playback control device, the device comprising:
[0011] An acquisition unit, used to acquire real-time network performance parameters of the video playback end;
[0012] A determination unit, used to determine an average bit rate corresponding to a video stream currently played by the video player and an average network performance parameter of the video player, wherein the video played by the video player corresponds to a video stream with multiple bit rate levels;
[0013] An adjustment unit is used to determine a video stream with a target bit rate level from the video streams with the multiple bit rate levels based on the average bit rate, the real-time network performance parameter and the average network performance parameter, and the video stream with the target bit rate level is used to adjust the video stream played by the video playback end.
[0014] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a processor, a memory, and computer program instructions stored in the memory and executable on the processor; when the processor executes the computer program instructions, it implements the method described in any one of the first aspects.
[0015] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, they are used to implement the method as described in any one of the first aspects.
[0016] Compared with the prior art, this application has the following advantages:
[0017] The video playback control method provided in the embodiment of the present application obtains the real-time network performance parameters of the video playback end and the average bit rate corresponding to the video stream currently played by the video playback end, and determines the average network performance parameters of the video playback end. The real-time network performance parameters can reflect the instantaneous network transmission performance of the video playback end at the current moment, and the average network performance parameters can reflect the average network transmission performance of the video playback end up to the current moment. Since the real-time bit rate corresponding to each video stream is usually difficult to obtain accurately, that is, the real-time bit rate of the video stream currently played by the video playback end is obtained with low accuracy, it may not be possible to accurately provide the user with the video with the best playback flow field and picture quality directly through the real-time bit rate. Therefore, based on the above-mentioned average bit rate, real-time network performance parameters and average network performance parameters, the present application determines a video stream with a target bit rate level from the video stream with multiple bit rate levels corresponding to the video played by the video playback end. The video stream with the target bit rate level is used to adjust the video stream played by the video playback end so that the video playback end plays the video stream with the adjusted target bit rate level.
[0018] It can be seen that the video playback control method provided by the present application comprehensively considers the real-time network performance parameters, average network performance parameters and the average bit rate of the currently played video stream of the video playback end when adjusting the bit rate level of the video played by the video playback end. By making joint decisions based on the real-time network performance and average network performance of the video playback end, the influence of the fluctuation of the bandwidth of the playback end on the accuracy of the bit rate adjustment can be reduced, and the bit rate level of the video stream played by the playback end is adjusted based on the average bit rate of the video stream. Compared with the bit rate adjustment by the real-time bit rate with lower accuracy in the related art, the average bit rate can more accurately reflect the bit rate of the currently played video. Therefore, the solution provided by the present application can more accurately provide users with live videos with the best picture quality that suits their network status, thereby making the comprehensive effect of picture quality and smoothness of the video playback end better, thereby improving the user's viewing experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 It is a schematic diagram of the application scenario of the video playback control method provided by the present application;
[0020] Figure 2 This is a flowchart of an example of a video playback control method provided in Example 1 of the present application;
[0021] Figure 3 This is a flowchart of an example of a video playback control method provided in Embodiment 2 of the present application;
[0022] Figure 4 This is a flowchart of an example of a video playback control method provided in Embodiment 3 of the present application;
[0023] Figure 5It is a unit block diagram of the video playback control device provided in the fourth embodiment of the present application;
[0024] Figure 6 It is a structural block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0025] In order to enable those skilled in the art to better understand the technical solution of the present application, the present application is described clearly and completely below in conjunction with the drawings in the embodiments of the present application. However, the present application can be implemented in many other ways different from the following description. Therefore, based on the embodiments provided by the present application, all other embodiments obtained by those of ordinary skill in the art without creative work should fall within the scope of protection of the present application.
[0026] It should be noted that the terms "first", "source domain", "third", etc. in the claims, description and drawings of the present application are used to distinguish similar objects and are not used to describe a specific order or sequence. The data used in this way are interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including", "having" and their variants are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0027] In order to facilitate understanding of the various embodiments of the present application, the application background of the embodiments is described.
[0028] With the development of network technology and the enrichment of terminal functions, live video broadcasting is increasingly used in people's production and life, for example, teaching through live video broadcasting, selling goods through live video broadcasting, sharing daily life through live video broadcasting, etc. In order to upgrade the viewing quality, the live broadcasting system usually supports high-definition live broadcasting, for example, the live broadcasting system provides the image quality of Blu-ray 1080p resolution. However, due to the differences in the transmission network of the video playback end corresponding to the user, in some weak network scenarios, the network conditions are difficult to meet the requirements of 1080p video for network bandwidth. In order to adapt to the network conditions of different live video playback ends, the live broadcasting system usually provides video streams with different bitrates, such as providing video streams with bitrates of 1080p, 720p, 540p, etc. The live broadcasting system will distribute the live video streams of the corresponding bitrates according to the network conditions of the video playback end, so as to achieve a better comprehensive experience of the image quality and fluency of the video playback end.
[0029] The relevant technology usually adjusts the video bitrate of the video playback end according to the real-time bandwidth of the video playback end and the real-time bitrate of the currently played video stream. For example, if the real-time bandwidth of the video playback end is less than the real-time bitrate of the bitrate level corresponding to the currently played video stream, it means that the current network bandwidth cannot play the current video stream smoothly, then the bitrate level of the video pushed to the video playback end is reduced, for example, switching from 1080p to 720p.
[0030] However, the real-time network bandwidth of the video playback end often fluctuates greatly and is difficult to measure accurately. At the same time, the real-time bit rate information of different bit streams is also difficult to obtain accurately in advance. Therefore, the above-mentioned method of adjusting the video bit stream gear of the video playback end according to the real-time bandwidth and real-time bit rate often cannot accurately provide users with the best live video quality that matches their network status. As a result, the overall effect of picture quality and smoothness of the video playback end is not good, affecting the user's viewing experience.
[0031] In order to solve the above problems, the embodiments of the present application provide a video playback control method, device, electronic device and computer-readable storage medium, which are intended to more accurately provide users with live videos with the best picture quality that matches their network status, thereby making the comprehensive effect of picture quality and smoothness of the video playback end better and improving the user's viewing experience.
[0032] The video playback control method provided in the present application can be applied to playback control of live videos, and can also be applied to playback control of recorded videos or other types of videos, and the present application does not specifically limit it.
[0033] In order to facilitate understanding of the method embodiments of the present application, the application scenarios are introduced. Figure 1 , Figure 1 Schematic diagram of the application scenario of the solution provided in the embodiment of the present application. The application scenario of the video playback control method includes a streaming end 101, a transcoding server 102, a content delivery network (CDN) server, and a streaming end 104. The application scenario is a schematic example and is not intended to be a specific description of the application scenario.
[0034] When the method provided in the present application is used to control the playback of live video, the application scenario includes a streaming end 101, which is a host end or a recording end of a live broadcast system, and the host end or the recording end is used to record the live video and send it to the server end of the live broadcast system to push it to the streaming end 104 for viewing. The streaming end 101 can be any electronic device capable of live broadcast recording, such as a mobile phone, a tablet computer (pad), a desktop computer, a vehicle-mounted device, a wearable device, a smart TV, a smart watch, etc.
[0035] The transcoding server 102 is used to convert the original video sent by the streaming end 101 into video streams of various bitrates, and send the transcoded video streams of various bitrates to the CDN server 103. Alternatively, the transcoding server 102 may also store various recorded videos in advance, and convert the recorded videos into video streams of various bitrates. The transcoding server 102 may include a single server or a server cluster.
[0036] The CDN server 103 is used to distribute each video stream in the transcoding server 102 to the stream pulling end 104. The CDN server 103 may include one server or a server cluster.
[0037] The streaming end 104 can be a playback end of a live broadcast system, used to pull and play live video from the CDN server 103 or the transcoding server 102, or it can be a playback end of a non-live broadcast system. The streaming end 104 can be any electronic device capable of video playback, such as a mobile phone, a tablet computer (pad), a desktop computer, a car-mounted device, a wearable device, a smart TV, a smart watch, or the like.
[0038] In this embodiment, the push end 101 and the transcoding server 102, the transcoding server 102 and the CDN server 103, and the CDN server 103 and the pull end 104 can be connected through network communication, for example, through a wired communication system or a wireless communication system. The transcoding server 102 and the CDN server 103 have high-speed processor (central processing unit, CPU) computing power, long-term reliable operation, powerful input / output (input / output, I / O) external data throughput capacity and better scalability. The transcoding server 102 can be a live broadcast server of a live broadcast system, which is used for forwarding, transcoding, storage and other processing of live video. The CDN server 103 is a server node in the CDN network. The CDN network can cache the video stream of the transcoding server 102 to the CDN server 103 which is closer to the streaming end 104. The CDN server 103 then distributes the cached video to the streaming end 104. This can reduce the loading time of the website and increase the access speed, while reducing the load pressure on the live broadcast server (such as the transcoding server 102) of the live broadcast system.
[0039] Embodiment 1
[0040] The first embodiment of the present application provides a video playback control method, which can be applied to an electronic device, which can be a video playback end, which can be a live video playback end (i.e., a streaming end) of a live broadcast system, or a video playback end of a non-live broadcast system, such as a client corresponding to video software. The electronic device to which the video playback control method is applied can also be a server end, which can be a server end of a live broadcast system, such as a transcoding server or a CDN server of a live broadcast system, or a server end of a non-live broadcast system, such as a server end corresponding to video software.
[0041] like Figure 2 As shown, the video playback control method provided in the first embodiment of the present application includes the following steps S110 to S130.
[0042] Step S110: Acquire real-time network performance parameters of the video playback end.
[0043] The above-mentioned real-time network performance parameters refer to the network performance parameters of the video playback end at the current moment. The real-time network performance parameters are used to reflect the instantaneous network transmission performance of the video playback end at the current moment. The real-time network performance parameters may include at least one of the real-time network bandwidth, real-time packet loss rate, real-time network delay, real-time network throughput, real-time network jitter, and real-time bandwidth utilization of the video playback end.
[0044] In an embodiment of the present application, after the server (such as a transcoding server or a CDN server) sends video stream data to the stream pulling end, the stream pulling end can return confirmation information to the server to confirm whether the data packet is received, the time when the data packet is received, etc. The server can estimate the real-time network performance parameters of the video playback end based on the confirmation information returned by the stream pulling end, that is, estimate the real-time network performance parameters of the downlink. Specifically, the server can determine the real-time network performance parameters of the video playback end based on the ratio between the amount of data received by the stream pulling end within a period of time and the time taken by the stream pulling end to receive these data. Exemplarily, the server can estimate the real-time network performance parameters of the video playback end through algorithms such as the generalized cross-correlation (GCC) algorithm and the TCP bottleneck bandwidth and round-trip propagation time (TCP BBR) algorithm in the network real-time communication (Web Real-Time Communication, WebRTC) technology. Those skilled in the art can use algorithms for estimating real-time network performance such as real-time bandwidth and real-time delay in related technologies to estimate the above-mentioned network performance parameters, which are not specifically limited in this application.
[0045] When the above-mentioned video playback control method is applied to the video playback end, the server end can estimate the real-time network performance parameters of the video playback end and send the parameters to the streaming end, and the video playback end can obtain its own real-time network performance parameters from the server end.
[0046] In an embodiment of the present application, the electronic device can execute the above-mentioned video playback control method at a certain time granularity (i.e., time interval). For example, the above-mentioned video playback control method can be executed at any time granularity between 100 milliseconds and 200 milliseconds. Exemplarily, the electronic device can execute the above-mentioned video playback control method at a time interval of 250 milliseconds, 500 milliseconds or other time granularities, so as to be able to timely and real-time adjust the video stream bit rate of the video playback end to the optimal bit rate.
[0047] Step S120: Determine the average bit rate corresponding to the video stream currently being played by the video player and the average network performance parameters of the video player.
[0048] Among them, the video played by the video playback end corresponds to a video stream with multiple bit rate gears. In the embodiment of the present application, taking the video playback end as a live video playback end as an example, the push stream end (i.e., the anchor end) usually records a live video with a relatively high bit rate gear. For example, the push stream end records a live video with a 1080p resolution bit rate gear and sends it to the transcoding server. The transcoding server converts the live video sent by the push stream end into video streams of various different bit rate gears in real time. For example, the transcoding server converts the live video with a 1080p bit rate gear sent by the push stream end into video streams of various resolution bit rate gears such as 720p, 540p, 480p, 2K (i.e., 1440p), and those skilled in the art can also convert the video sent by the push stream end into video streams of other resolution bit rate gears according to actual needs, which is not specifically limited in this application. When the video playback end plays a non-live video, the server can also transcode the recorded video into video streams of bit rate gears of various resolutions. In the embodiment of the present application, different bit rate levels correspond to videos with different resolutions. The higher the bit rate level, the higher the resolution of the video and the larger the data volume of the video stream.
[0049] In an embodiment of the present application, if the video player has just opened the video software, that is, the video player is not currently playing a video stream, the electronic device can select a video stream with a bit rate gear that matches the real-time network performance parameters and the average network performance parameters from each bit rate gear as a video stream with a target bit rate gear according to the real-time network performance parameters and the average network performance parameters of the video player, and control the video player to play the video stream with the target bit rate gear; or, the electronic device can control the video player to play the video stream with the highest bit rate gear currently played, or control the video player to play the video stream with a preset bit rate gear, or control the video player to play the video stream with the lowest bit rate gear. The present application does not specifically limit how the video player that has just opened the video software and has not yet played the video selects a specific bit rate gear video stream. The above method can select a video stream with a more suitable bit rate gear for the video player that has just opened the video software, and the bit rate gear of the video played by the player can be adjusted later by the video playback control method provided by the present application to optimize the comprehensive effect of playback smoothness and clarity. Optionally, if the video player has just opened the video software and is not currently playing any video stream, the electronic device may determine the average bit rate corresponding to the video stream currently being played by the video player to be 0.
[0050] If the video player has currently started playing a video stream, the electronic device can determine the average bit rate corresponding to the video stream currently played by the video player through the following steps: obtain the historical real-time bit rates of the video stream currently played by the video player at each historical moment, and determine the average bit rate corresponding to the currently played video stream based on each historical real-time bit rate. Specifically, the electronic device can calculate the average value of each historical real-time bit rate through a sliding time window or an exponentially weighted average, and obtain the average bit rate corresponding to the currently played video stream.
[0051] When calculating the average bitrate through a sliding time window, you can set a fixed-size time window, such as the past 250 milliseconds, the past 500 milliseconds, or the past 1 minute. As time goes by, in each time window, the average of all historical real-time bitrates in the time period is calculated as the average bitrate corresponding to the current moment. When calculating the average bitrate through exponential weighted average, a weight can be assigned to each historical real-time bitrate. The weight decays exponentially over time, and the latest bitrate has the highest weight. The weighted average of each historical real-time bitrate is calculated as the average bitrate. The bitrate with a higher weight contributes more to the average.
[0052] In the embodiment of the present application, when the electronic device as the execution subject is a video player, the video player can calculate the average bit rate in the above manner. In this case, the video player can obtain the real-time bit rate of the video stream of each bit rate level from the server in real time, thereby obtaining the historical real-time bit rates of the currently played video stream. Alternatively, the average bit rate can be calculated by the transcoding server in the above manner, and the video player can directly obtain the calculated average bit rate from the transcoding server.
[0053] The transcoding server can obtain the real-time bit rate of the video stream at each bit rate level by calculating the generation rate of the transcoded stream. For the video stream at the original bit rate level sent by the push end, the real-time bit rate of the video stream at the original bit rate level can be calculated by calculating the generation rate of the original video stream. In other words, the real-time bit rate of the video stream is used to indicate the real-time rate at which the video stream is generated. The specific calculation method is: the data volume (in bytes) of the transcoded stream or original video stream generated within the statistical time granularity (such as 250ms, 500ms, 1s, etc.), that is, the real-time bit rate = data volume / time, which can be converted into megabits per second Mbps or kilobits per second Kbps.
[0054] In the embodiment of the present application, the average bit rate corresponding to the video stream currently played by the video playback end can also be determined by other methods, and the specific calculation method is not limited. The average bit rate can be calculated by a server such as a transcoding server or a CDN server, or by the video playback end, that is, the electronic device that executes the present application can calculate the average bit rate, or obtain the calculated average bit rate from the server. Those skilled in the art can flexibly set it according to actual conditions.
[0055] The electronic device can determine the average network performance parameters of the video playback end through the following steps: obtain the historical real-time network performance parameters of the video playback end at each historical moment, and determine the average network performance parameters of the video playback end based on each historical real-time performance parameter. Similar to the method of calculating the average bit rate, specifically, the electronic device can also calculate the average value of each historical real-time network performance parameter through a sliding time window or exponential weighted average, etc., to obtain the average network performance parameters of the video playback end. The specific calculation method refers to the calculation method of the average bit rate, which will not be described in detail here. Alternatively, the electronic device can also obtain the average network performance parameters of the video playback end from other devices, and the other devices calculate the average network performance parameters of the video playback end through the above steps. When the electronic device is the video playback end, the other device can be a CDN server or a transcoding server. When the electronic device is the server, the other device can be a video server. The present application does not limit the execution subject of calculating the average network performance parameters.
[0056] The above average network performance parameters may include average network bandwidth, average packet loss rate, average network delay, average network throughput, average network jitter, and average bandwidth utilization.
[0057] The average bit rate of the video stream is used to indicate the average rate at which the video stream is generated, and the average network performance parameter is used to indicate the average network performance of the video playback end.
[0058] Step S130: Based on the average bit rate, the real-time network performance parameter and the average network performance parameter, determine a video stream with a target bit rate from video streams with multiple bit rate levels corresponding to the video currently being played by the video player.
[0059] The target bit rate gear video stream is used to adjust the video stream played by the video player, specifically to adjust the video stream played by the video player to the target bit rate gear video stream.
[0060] Since the real-time bit rate of a video stream is usually difficult to obtain accurately, that is, the accuracy of the obtained real-time bit rate is usually low, the present application determines the target bit rate level based on the average bit rate level. The average bit rate can more accurately reflect the bit rate of the video stream as a whole.
[0061] Since the real-time network performance parameters often fluctuate greatly, the accuracy of the obtained real-time network performance parameters is not high. Therefore, when determining the target bit rate level in step S130, the bit rate can be adjusted based on the comprehensive consideration of the real-time network performance parameters and the average network performance parameters. The real-time network performance parameters and the average network performance parameters can be combined to more comprehensively and accurately reflect the network conditions of the playback end. Specifically, the target bit rate level can be selected based on whether the real-time network performance parameters and the average network performance parameters can meet the network performance required for the above-mentioned average bit rate. For example, if both the real-time network performance parameter and the average network performance parameter exceed the network performance required for the average bit rate, then a bit rate level that is one higher than the bit rate level of the currently played video stream can be determined as the target bit rate level; if one of the real-time network performance parameter or the average network performance parameter is lower than the network performance required for the average bit rate, then a bit rate level that is one lower than the bit rate level of the currently played video stream can be determined as the target bit rate level; alternatively, those skilled in the art may also determine the target bit rate by other means based on the above average bit rate, the above real-time network performance parameter and the above average network performance parameter; other methods for determining the target bit rate will be described in detail later.
[0062] In one implementation, step S130 may be implemented according to the following steps S131 to S133.
[0063] Step S131: Determine the real-time data transmission performance of the playback end according to the average bit rate of the currently played video stream and the real-time network performance parameters of the video playback end.
[0064] The real-time data transmission performance is used to represent the instantaneous performance of the network transmission of the currently played video stream at the video playback end.
[0065] Step S132: Determine the average data transmission performance of the playback end according to the average bit rate of the currently played video stream and the average network performance parameter of the video playback end.
[0066] The average data transmission performance is used to represent the average performance of the network transmission of the currently played video stream at the playback end.
[0067] Specifically, the real-time data transmission performance and the average data transmission performance can be expressed as strong or weak. For example, strong real-time data transmission performance is used to indicate that the instantaneous performance of the network status of the video playback end at the current moment in transmitting the currently played video stream is strong; strong average data transmission performance is used to indicate that the average network status of the video playback end at the current moment in transmitting the currently played video stream is strong, thereby indicating that the current video stream can be played in the streaming field; weak real-time data transmission performance is used to indicate that the instantaneous performance of the network of the video playback end in transmitting the currently played video stream is weak, and the current video stream cannot be played smoothly; weak average data transmission performance is used to indicate that the average network status of the video playback end at the current moment in transmitting the currently played video stream is weak, and the current video stream cannot be played smoothly.
[0068] In a specific embodiment, when the above-mentioned real-time network performance parameter includes real-time bandwidth and the above-mentioned average network performance parameter includes average bandwidth, step S131 can be implemented according to the following step S131a.
[0069] Step S131a: Determine the real-time data transmission performance of the video playback end according to the ratio of the real-time bandwidth to the average bit rate.
[0070] For example, if the ratio of the real-time bandwidth to the above-mentioned average bit rate is less than the first preset ratio, it is determined that the video playback end is in weak real-time data transmission performance. If the ratio of the real-time bandwidth to the above-mentioned average bit rate is greater than the second preset ratio, it is determined that the video playback end is in strong real-time data transmission performance. The second preset ratio is greater than the first preset ratio. If the ratio of the real-time bandwidth to the above-mentioned average bit rate is between the first preset ratio and the second preset ratio, it can be determined that the video playback end is in medium real-time data transmission performance.
[0071] In the embodiment of the present application, since the network performance parameters and the bit rate of the video stream have a relatively high influence on adjusting the bit rate gear of the video stream played by the playback end, that is, the bit rate adjustment strategy is highly dependent on the network performance parameters and the bit rate of the video stream, it can also be understood that the network performance parameters and the bit rate of the video stream have a high effectiveness on the bit rate adjustment strategy. Therefore, when adjusting the bit rate, the bandwidth of the playback end and the bit rate of the currently played video stream are comprehensively considered to obtain a more accurate bit rate. In addition, when comparing the ratio between the bandwidth and the bit rate, by setting two thresholds of the first preset ratio and the second preset ratio to divide the data transmission performance into multiple stage intervals, instead of directly using a preset ratio to divide the two intervals to judge the strong and weak data transmission performance, the data with high effectiveness can be divided into more refined performance, thereby more finely defining the data transmission performance and improving the conversion defect of the bit rate adjustment.
[0072] The first preset ratio and the second preset ratio can be set according to actual needs. The first preset ratio and the second preset ratio can be numbers greater than 1, so that when defining data transmission performance, it is defined based on the principle that the bandwidth can be greater than the average bit rate to smoothly transmit the video stream.
[0073] When determining the real-time data transmission performance, real-time network performance such as real-time delay and real-time packet loss rate usually has a relatively large impact on the instantaneous data transmission performance. Therefore, the above step S131a can be implemented according to the following steps: according to the ratio of the above real-time bandwidth to the above average bit rate, the above real-time delay and the above real-time packet loss rate, the real-time data transmission performance of the video playback end is determined. In this way, the performance of the current instantaneous transmission of the video stream of the video playback end can be more comprehensively reflected.
[0074] Specifically, step S131a can be implemented according to the following steps: when the ratio of the real-time bandwidth of the video playback end to the above average bit rate is less than the first preset ratio, or when the real-time delay is greater than the preset delay, or when the real-time packet loss rate of the video playback end is greater than the preset packet loss rate, it is determined that the video playback end is in weak real-time data transmission performance; when the ratio of the above real-time bandwidth to the above average bit rate is greater than the second preset ratio, and the real-time delay is less than or equal to the preset delay, and the real-time packet loss rate is 0, it is determined that the video playback end is in strong real-time data transmission performance, and the second preset ratio is greater than or equal to the first preset ratio. That is, when the condition of the following formula (1) is met, it is determined that the video playback end is in weak real-time data transmission performance, and when the condition of formula (2) is met, it is determined that the video playback end is in strong real-time data transmission performance.
[0075]
[0076] Among them, BW t represents the above-mentioned real-time bandwidth, Ratio1 represents the above-mentioned first preset ratio, Indicates the average bit rate of the currently playing video stream, RTT t Represents the above real-time delay, RTT th Indicates the above preset delay, Loss t Indicates the above real-time packet loss rate, Loss th represents the above-mentioned preset packet loss rate, and Ratio2 represents the above-mentioned second preset ratio.
[0077] In this embodiment, the video playback end is determined to be in strong real-time data transmission performance only when the real-time bandwidth, real-time packet loss rate and real-time delay all meet the requirements. Through strict judgment conditions, the determined strong real-time data transmission performance can be made more stable and reliable, thereby creating a more reliable network environment for subsequently improving the bit rate level of the video stream. When any one of the real-time bandwidth, real-time packet loss rate and real-time delay does not meet the requirements, it is determined that the video playback end is in weak real-time data transmission performance, so that when the video bit rate level is subsequently reduced, the level can be reduced in time when any network performance parameter is not good, and the live video can be played smoothly.
[0078] Step S132 can be implemented according to the following steps S132a.
[0079] Step S132a: Determine the average data transmission performance of the video playback end according to the ratio of the above average bandwidth to the above average bit rate.
[0080] For example, if the ratio of the average bandwidth to the above average bit rate is less than the third preset ratio, it is determined that the video playback end is in weak average data transmission performance; if the ratio of the average bandwidth to the above average bit rate is greater than the fourth preset ratio, it is determined that the video playback end is in strong average data transmission performance; the fourth preset ratio is greater than the third preset ratio; if the ratio of the average bandwidth to the above average bit rate is between the third preset ratio and the fourth preset ratio, it can be determined that the video playback end is in medium average data transmission performance.
[0081] The third preset ratio and the fourth preset ratio can be set according to actual needs. The third preset ratio and the fourth preset ratio can be the same as the first preset ratio and the second preset ratio, respectively, or they can be different. This application does not specifically limit this. The third preset ratio and the fourth preset ratio can be a number greater than 1, so that when defining data transmission performance, it is defined based on the principle that the bandwidth can be greater than the average bit rate to smoothly transmit the video stream.
[0082] This embodiment determines the real-time data transmission performance and the average data transmission performance by comparing the real-time bandwidth with the average bit rate, and by comparing the average bandwidth with the average bit rate. Since the network bandwidth is a very important parameter that determines the video stream transmission, the network bandwidth can reflect the performance of the network transmission data as a whole. Therefore, based on the comparison of the real-time bandwidth and the average bandwidth with the average bit rate respectively, the data transmission performance of the video playback end can be more accurately described as a whole.
[0083] Specifically, step S132a can be implemented according to the following steps: when the ratio of the average bandwidth of the video playback terminal to the above average bit rate is less than the third preset ratio, it is determined that the video playback terminal is in a weak average data transmission performance; when the ratio of the average bandwidth of the video playback terminal to the above average bit rate is greater than the fourth preset ratio, it is determined that the video playback terminal is in a strong average data transmission performance, and the fourth preset ratio is greater than or equal to the third preset ratio. That is, when the condition of the following formula (3) is met, it is determined that the video playback terminal is in a weak average data transmission performance, and when the condition of formula (4) is met, it is determined that the video playback terminal is in a strong average data transmission performance.
[0084]
[0085] Among them, BW avg represents the average bandwidth of the video playback end, Ratio3 represents the third preset ratio, and Ratio4 represents the fourth preset ratio.
[0086] In this embodiment, since the packet loss rate and delay are often related to the instantaneous state of the network, the impact of the two on the long-term average data transmission performance is relatively small. Therefore, when determining the average data transmission performance, the performance of the video playback end in transmitting the current video stream can be accurately described by the relationship between the average bandwidth and the average bit rate.
[0087] Step S133: determining a video stream at a target bit rate level from the video streams at the multiple bit rate levels according to the real-time data transmission performance and the average data transmission performance.
[0088] Exemplarily, when both the real-time data transmission performance and the average data transmission performance are strong, a video stream with a bit rate level higher than that of the currently played video stream can be selected from multiple video streams with bit rate levels as the video stream with the target bit rate level; when there is a poor performance between the real-time data transmission performance and the average data transmission performance, a video stream with a bit rate level lower than that of the currently played video stream can be selected from multiple video streams with bit rate levels as the video stream with the target bit rate level.
[0089] Since the real-time data transmission performance and the average data transmission performance can respectively represent the performance status of the network transmission of the currently played video stream at the video playback end from the current instantaneous and long-term average dimensions, the real-time data transmission performance and the average data transmission performance of this real-time method can more accurately and conveniently obtain the code table bit rate gear.
[0090] The video playback control method provided in the embodiment of the present application obtains the real-time network performance parameters of the video playback end and the average bit rate corresponding to the video stream currently played by the video playback end, and determines the average network performance parameters of the video playback end. The real-time network performance parameters can reflect the instantaneous network transmission performance of the video playback end at the current moment, and the average network performance parameters can reflect the average network transmission performance of the video playback end up to the current moment. Since the real-time bit rate corresponding to each video stream is usually difficult to obtain accurately, that is, the real-time bit rate of the video stream currently played by the video playback end is obtained with low accuracy, it may not be possible to accurately provide the user with the video with the best playback flow field and picture quality directly through the real-time bit rate. Therefore, based on the above-mentioned average bit rate, real-time network performance parameters and average network performance parameters, the present application determines a video stream with a target bit rate level from the video stream with multiple bit rate levels corresponding to the video played by the video playback end. The video stream with the target bit rate level is used to adjust the video stream played by the video playback end so that the video playback end plays the video stream with the adjusted target bit rate level.
[0091] It can be seen that the video playback control method provided by the present application comprehensively considers the real-time network performance parameters, average network performance parameters and the average bit rate of the currently played video stream of the video playback end when adjusting the bit rate level of the video played by the video playback end. By making joint decisions based on the real-time network performance and average network performance of the video playback end, the influence of the fluctuation of the bandwidth of the playback end on the accuracy of the bit rate adjustment can be reduced, and the bit rate level of the video stream played by the playback end is adjusted based on the average bit rate of the video stream. Compared with the bit rate adjustment by the real-time bit rate with lower accuracy in the related art, the average bit rate can more accurately reflect the bit rate of the currently played video. Therefore, the solution provided by the present application can more accurately provide users with live videos with the best picture quality that suits their network status, thereby making the comprehensive effect of picture quality and smoothness of the video playback end better, thereby improving the user's viewing experience.
[0092] In one implementation, before step S133, the method may further include the following step S130a.
[0093] Step S130a: Obtain the player cache duration of the video player at the current moment.
[0094] During video playback, the player usually pre-loads and stores video data of a certain length into the local cache to ensure that the video content can be played smoothly and continuously during playback. When the player is used to play live video, the player pre-caches the live video for a certain length to better ensure the real-time performance of the live broadcast. The player will set a maximum cache duration, which can be 3 seconds, 5 seconds, 8 seconds, etc., or other specific durations. The maximum cache duration should be appropriate and should not be set too large or too small. If the maximum cache is too large, the video playback end will have a longer delay in watching the live video relative to the streaming end, affecting the real-time performance of the live video playback. If the maximum cache is too small, it is more likely to cause video playback interruptions or freezes when the network fluctuates or is unstable.
[0095] In this implementation, the video player can directly and conveniently obtain the duration of the currently cached video, and therefore can directly use the cache duration of the player obtained in real time.
[0096] When the data transmission performance of the video playback end is relatively good, the player can cache video streams that are no longer than the maximum cache time. When the data transmission performance of the video playback end is relatively poor and no new video streams reach the player in time, the player can play the cached video streams. When the player has finished playing the cached video streams, if the new video stream still does not reach the player in time, the video stream played by the player will be stuck.
[0097] Step S133 can be implemented according to the following steps S133a.
[0098] Step S133a: determining a video stream at a target bit rate level from the video streams at the multiple bit rate levels according to the real-time data transmission performance, the average data transmission performance and the cache duration.
[0099] Specifically, as shown in Table 1, when the player cache time of the video playback end is less than the preset time (i.e., the small cache state in Table 1), if the video playback end is in weak real-time data transmission performance or weak average data transmission performance, a video stream with a bit rate level less than the current level is determined from the video streams of multiple bit rate levels corresponding to the video played by the video playback end as the video stream with the target bit rate level; if the video playback end is in strong real-time data transmission performance and strong average data transmission performance, a video stream with a bit rate level greater than the current level is determined from the video streams of multiple bit rate levels as the video stream with the target bit rate level, and the current level is the bit rate level corresponding to the video stream currently played by the video playback end. Specifically, determining a video stream with a bit rate gear greater than the current gear from video streams at multiple bit rate gears can be implemented in the following steps: determining a video stream with a bit rate gear greater than the current gear by one gear from video streams at multiple bit rate gears as a video stream with a target bit rate gear, for example, the current gear is a bit rate gear with a resolution of 720p, and the multiple bit rate gears include three bit rate gears of 1080p, 720p, and 540p, and the bit rate gear greater than the current gear by one gear is a bit rate gear with a resolution of 1080p. If the current gear is already the largest bit rate gear among the multiple bit rate gears, the target bit rate gear is still the current gear.
[0100] Table 1 Relationship between cache status, data transmission performance and target bit rate
[0101]
[0102] In this embodiment, when the cache duration is less than the preset duration, it means that the video cached in the video playback end is short. When encountering network abnormalities, it is easy to cause playback jams due to insufficient cache. In this case, if either the real-time data transmission performance or the average data transmission performance is weak, it may cause playback jams. Therefore, in this case, lowering the bit rate gear can better ensure the smoothness of video playback. If both the real-time data transmission performance and the average data transmission performance are strong, it means that the video playback end can play the current video stream very smoothly. In this case, the bit rate can be increased to make full use of the playback end network to play clearer video.
[0103] As shown in Table 1, when the cache duration of the video playback end is greater than or equal to the preset duration (i.e., the large cache state in Table 1), if the video playback end is in a strong real-time data transmission performance or a strong average data transmission performance, a video stream with a bit rate greater than the current bit rate is determined from the video streams of multiple bit rate levels as the video stream with the target bit rate level.
[0104] In this embodiment, when the cache duration is greater than or equal to the preset duration, it means that the video cached in the video playback end is relatively long. When encountering network abnormalities, the playback is not easily jammed due to sufficient cache. In this case, if the real-time data transmission performance or the average data transmission performance is strong, it means that the video playback end can currently play the current video stream in a relatively fast manner. In this case, since the cache duration is long and the network is strong, the bit rate can be increased to make full use of the playback end network to play clearer videos.
[0105] Since the cache duration at the video playback end is relatively ineffective in adjusting the bit rate, when dividing the cache state, it is sufficient to distinguish between the large cache state and the small cache state based on a preset duration threshold, thereby reducing the amount of calculation for bit rate adjustment while ensuring the accuracy of the strategy adjustment.
[0106] In this embodiment, as shown in Table 1, if the above conditions are not met, the video stream of the currently played bit rate level can be maintained, that is, the current level is determined as the target bit rate level. If the above conditions are met as time goes by, the bit rate level is adjusted.
[0107] This implementation method takes into account the player's cache time when adjusting the bit rate. In this way, a joint decision is made based on multi-dimensional information such as ship switching time, real-time data transmission performance, and average data transmission performance to determine how to adjust the video stream gear on the playback end. This can more accurately provide users with video streams that meet their network performance in the face of various complex networks, thereby improving the overall effect of playback smoothness and clarity on the video playback end.
[0108] Embodiment 2
[0109] The second embodiment of the present application provides a video playback control method, which is applied to a video live broadcast system. The video live broadcast system includes a streaming end, a transcoding server, a CDN server, and a streaming end. The various device ends of the video live broadcast system have been described in detail above and will not be described in detail here. Figure 3 As shown, the video playback control method provided in this embodiment includes the following steps S1 to S11.
[0110] Step S1: The streaming end sends the recorded original video to the transcoding server.
[0111] For example, after the streaming end records the original live video with a resolution of 1080p, it sends the recorded original video to the transcoding server.
[0112] Step S2: The transcoding server converts the original video into video streams at various bit rate levels.
[0113] For example, the transcoding server converts the original 1080p video into video streams of various bitrate levels corresponding to resolutions such as 720p and 540p.
[0114] Step S3: The transcoding server sends the video streams of each gear to the CDN server.
[0115] Step S4: The transcoding server calculates the real-time bit rate of the video stream at each gear.
[0116] Step S5: the transcoding server sends the real-time bit rates of the video streams at each bit rate level to the stream pulling end, so that the stream pulling end can obtain the historical real-time bit rates at each historical moment of the currently played video stream.
[0117] Step S6: The CDN server estimates the real-time network performance parameters of the streaming end.
[0118] Step S7: The CDN server sends the real-time network performance parameters to the streaming end.
[0119] Step S8: The streaming end obtains the buffering time length of the player.
[0120] Step S9: The stream pulling end determines the video stream of the target bit rate level.
[0121] The execution process of step S9 refers to steps S120 to S130 in the first embodiment, and will not be described in detail here.
[0122] Step S10: The stream pulling end sends a request to the CDN server to pull the video stream with the target bit rate level.
[0123] Step 11: The CDN server sends the video stream of the target bit rate level to the stream pulling end, so that the stream pulling end plays the video stream of the target bit rate level.
[0124] This embodiment explains the above-mentioned video playback control method from the perspective of which steps are respectively executed by each terminal device of the video live broadcast system. The specific content has been explained in the first embodiment and will not be repeated here.
[0125] Embodiment 3
[0126] The third embodiment of the present application also provides a video playback control method, which is applied to a video live broadcast system. The video live broadcast system includes a streaming end, a transcoding server, a CDN server, and a streaming end. The various device ends of the video live broadcast system have been described in detail above and will not be described in detail here. Figure 4 As shown, the video playback control method provided in this embodiment includes the following steps S1 to S10.
[0127] Step S1: The streaming end sends the recorded original video to the transcoding server.
[0128] Step S2: The transcoding server converts the original video into video streams at various bit rate levels.
[0129] Step S3: The transcoding server sends the video streams of each gear to the CDN server.
[0130] Step S4: The transcoding server calculates the real-time bit rate of the video stream at each gear.
[0131] Step S5: the transcoding server sends the real-time bitrate of the video stream at each bitrate level to the CDN server, so that the CDN server can obtain the historical real-time bitrate of the video stream currently played by the stream pulling end at each historical moment.
[0132] Step S6: The CDN server estimates the real-time network performance parameters of the streaming end.
[0133] Step S7: The CDN server sends a request to obtain the cache duration to the streaming end.
[0134] Step S8: After receiving the cache duration acquisition request, the streaming end obtains the cache duration of the player and sends the cache duration to the CDN server.
[0135] Step S9: The CDN server determines the video stream at the target bit rate level.
[0136] Step S10: the CDN server sends the video stream of the target bit rate level to the stream pulling end, so that the stream pulling end plays the video stream of the target bit rate level.
[0137] This embodiment deploys the step of determining the target bit rate level of the video stream on the CDN server side, which can reduce the resource usage of the stream pulling end, lower the demand for the performance of the stream pulling end equipment, and make the stream pulling end run more smoothly. The specific content has been explained in the first embodiment and will not be repeated here.
[0138] Embodiment 4
[0139] The fourth embodiment of the present application also provides a video playback control device corresponding to the video playback control method embodiment provided in the first embodiment. Since the device embodiment is basically similar to the method embodiment, the description is relatively simple. For the details of the relevant technical features and the effects achieved, please refer to the corresponding description of the video playback control method embodiment provided above. Figure 5 As shown, the video playback control device provided in this embodiment includes:
[0140] The acquisition unit 401 is used to acquire the real-time network performance parameters of the video playback end;
[0141] A determination unit 402 is used to determine an average bit rate corresponding to a video stream currently played by the video player and an average network performance parameter of the video player, wherein the video played by the video player corresponds to a video stream with multiple bit rate levels;
[0142] The adjustment unit 403 is used to determine a video stream with a target bit rate level from the video streams with the multiple bit rate levels based on the average bit rate, the real-time network performance parameters and the average network performance parameters, and the video stream with the target bit rate level is used to adjust the video stream played by the video playback end.
[0143] Optionally, the adjustment unit is specifically used to: determine the real-time data transmission performance of the video playback end according to the average bit rate and the real-time network performance parameters, the real-time data transmission performance is used to represent the instantaneous performance of the network transmission of the video playback end for the currently playing video stream; determine the average data transmission performance of the video playback end according to the average bit rate and the average network performance parameters, the average data transmission performance is used to represent the average performance of the network transmission of the video playback end for the currently playing video stream; determine the video stream with a target bit rate level from the video streams with the multiple bit rate levels according to the real-time data transmission performance and the average data transmission performance.
[0144] Optionally, the real-time network performance parameter includes real-time bandwidth, and the average network performance parameter includes average bandwidth;
[0145] The adjustment unit is specifically used to: determine the real-time data transmission performance of the video playback end according to the ratio of the real-time bandwidth to the average bit rate; determine the average data transmission performance of the video playback end according to the ratio of the average bandwidth to the average bit rate.
[0146] Optionally, the real-time network performance parameters also include real-time delay and real-time packet loss rate;
[0147] The adjustment unit is specifically used to determine the real-time data transmission performance of the video playback end according to the ratio of the real-time bandwidth to the average bit rate, the real-time delay and the real-time packet loss rate.
[0148] Optionally, the adjustment unit is specifically used to: when the ratio of the real-time bandwidth to the average bit rate is less than a first preset ratio, or when the real-time delay is greater than a preset delay, or when the real-time packet loss rate is greater than a preset packet loss rate, determine that the video playback end is in weak real-time data transmission performance; when the ratio of the real-time bandwidth to the average bit rate is greater than a second preset ratio, and the real-time delay is less than or equal to the preset delay, and the real-time packet loss rate is 0, determine that the video playback end is in strong real-time data transmission performance, and the second preset ratio is greater than or equal to the first preset ratio.
[0149] Optionally, the adjustment unit is specifically used to: when the ratio of the average bandwidth to the average bit rate is less than a third preset ratio, determine that the video playback end is in weak average data transmission performance; when the ratio of the average bandwidth to the average bit rate is greater than a fourth preset ratio, determine that the video playback end is in strong average data transmission performance, and the fourth preset ratio is greater than or equal to the third preset ratio.
[0150] Optionally, the adjustment unit is specifically used to: obtain the player cache duration of the video playback end at the current moment; determine the video stream at a target bit rate level from the video streams at the multiple bit rate levels based on the real-time data transmission performance, the average data transmission performance and the cache duration.
[0151] Optionally, the adjustment unit is specifically used for: when the cache duration is less than the preset duration, if the video playback end is in weak real-time data transmission performance or weak average data transmission performance, then determining a video stream with a bit rate gear less than the current gear from the video streams of the multiple bit rate gears as the video stream with a target bit rate gear; if the video playback end is in strong real-time data transmission performance and strong average data transmission performance, then determining a video stream with a bit rate gear greater than the current gear from the video streams of the multiple bit rate gears as the video stream with a target bit rate gear, and the current gear is the bit rate gear corresponding to the currently played video stream; when the cache duration is greater than or equal to the preset duration, if the video playback end is in strong real-time data transmission performance or strong average data transmission performance, then determining a video stream with a bit rate gear greater than the current gear from the video streams of the multiple bit rate gears as the video stream with the target bit rate gear.
[0152] Optionally, the method is applied to a video playback end or a server end of a live video broadcast system.
[0153] Embodiment 5
[0154] The fifth embodiment of the present application also provides an electronic device embodiment corresponding to the video playback control method provided in the first embodiment. The electronic device is a video playback terminal that plays the original video to be watermarked. The following description of the electronic device embodiment is only exemplary. The electronic device embodiment is as follows:
[0155] Please refer to Figure 6 Understand the above electronic devices, Figure 6 The electronic device provided in this embodiment includes: a processor 601, a memory 602, a communication bus 603, and a communication interface 604;
[0156] The memory 602 is used to store computer instructions for data processing. When the computer instructions are read and executed by the processor 601, the following steps are performed:
[0157] Get the real-time network performance parameters of the video player;
[0158] Determine an average bit rate corresponding to a video stream currently played by the video player and an average network performance parameter of the video player, wherein the video played by the video player corresponds to a video stream with multiple bit rate levels;
[0159] Based on the average bit rate, the real-time network performance parameter and the average network performance parameter, a video stream with a target bit rate level is determined from the video streams with the multiple bit rate levels, and the video stream with the target bit rate level is used to adjust the video stream played by the video playback end.
[0160] The sixth embodiment of the present application also provides a computer-readable storage medium for implementing the method described in the first embodiment. The computer-readable storage medium embodiment provided in the present application is described relatively simply. For the relevant parts, please refer to the corresponding description of the above method embodiment. The embodiment described below is only illustrative.
[0161] The computer readable storage medium provided in this embodiment stores computer instructions, and when the instructions are executed by a processor, the following steps are implemented:
[0162] Determine the watermark content to be added corresponding to the original video to be watermarked;
[0163] Get the real-time network performance parameters of the video player;
[0164] Determine an average bit rate corresponding to a video stream currently played by the video player and an average network performance parameter of the video player, wherein the video played by the video player corresponds to a video stream with multiple bit rate levels;
[0165] Based on the average bit rate, the real-time network performance parameter and the average network performance parameter, a video stream with a target bit rate level is determined from the video streams with the multiple bit rate levels, and the video stream with the target bit rate level is used to adjust the video stream played by the video playback end.
[0166] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0167] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0168] 1. Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. Information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include non-transitory media such as modulated data signals and carrier waves.
[0169] 2. Those skilled in the art should understand that the embodiments of the present application can be provided as methods, systems or computer program products. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0170] Although the present application is disclosed as above in the form of a preferred embodiment, it is not intended to limit the present application. Any technical personnel in this field may make possible changes and modifications without departing from the spirit and scope of the present application. Therefore, the scope of protection of the present application shall be based on the scope defined by the claims of the present application.
Claims
1. A video playback control method, characterized in that: The method comprises: Get the real-time network performance parameters of the video player; Determine an average bit rate corresponding to a video stream currently played by the video player and an average network performance parameter of the video player, wherein the video played by the video player corresponds to a video stream with multiple bit rate levels; Based on the average bit rate, the real-time network performance parameter and the average network performance parameter, a video stream with a target bit rate level is determined from the video streams with the multiple bit rate levels, and the video stream with the target bit rate level is used to adjust the video stream played by the video playback end.
2. The video playback control method according to claim 1, characterized in that: The step of determining a video stream at a target bit rate level from the video streams at the multiple bit rate levels based on the average bit rate, the real-time network performance parameter, and the average network performance parameter comprises: Determine the real-time data transmission performance of the video playback end according to the average bit rate and the real-time network performance parameter, wherein the real-time data transmission performance is used to represent the instantaneous performance of the network transmission of the currently played video stream of the video playback end; Determine the average data transmission performance of the video playback end according to the average bit rate and the average network performance parameter, wherein the average data transmission performance is used to represent the average performance of the network transmission of the currently played video stream of the video playback end; A video stream at a target bit rate level is determined from the video streams at the multiple bit rate levels according to the real-time data transmission performance and the average data transmission performance.
3. The video playback control method according to claim 2, characterized in that: The real-time network performance parameter includes real-time bandwidth, and the average network performance parameter includes average bandwidth; Determining the real-time data transmission performance of the video playback terminal according to the average bit rate and the real-time network performance parameter includes: Determining the real-time data transmission performance of the video playback end according to the ratio of the real-time bandwidth to the average bit rate; Determining the average data transmission performance of the video playback terminal according to the average bit rate and the average network performance parameter includes: The average data transmission performance of the video playback terminal is determined according to the ratio of the average bandwidth to the average bit rate.
4. The video playback control method according to claim 3, characterized in that: The real-time network performance parameters also include real-time delay and real-time packet loss rate; Determining the real-time data transmission performance of the video playback end according to the ratio of the real-time bandwidth to the average bit rate includes: The real-time data transmission performance of the video playback end is determined according to the ratio of the real-time bandwidth to the average bit rate, the real-time delay and the real-time packet loss rate.
5. The video playback control method according to claim 4, characterized in that: Determining the real-time data transmission performance of the video playback end according to the ratio of the real-time bandwidth to the average bit rate, the real-time delay, and the real-time packet loss rate includes: When the ratio of the real-time bandwidth to the average bit rate is less than a first preset ratio, or when the real-time delay is greater than a preset delay, or when the real-time packet loss rate is greater than a preset packet loss rate, it is determined that the video playback end is in a weak real-time data transmission performance; When the ratio of the real-time bandwidth to the average bit rate is greater than a second preset ratio, and the real-time delay is less than or equal to the preset delay, and the real-time packet loss rate is 0, it is determined that the video playback end is in strong real-time data transmission performance, and the second preset ratio is greater than or equal to the first preset ratio.
6. The video playback control method according to claim 5, characterized in that: The determining the average data transmission performance of the video playback end according to the ratio of the average bandwidth to the average bit rate includes: When the ratio of the average bandwidth to the average bit rate is less than a third preset ratio, determining that the video playback end is in a weak average data transmission performance; When the ratio of the average bandwidth to the average bit rate is greater than a fourth preset ratio, it is determined that the video playback end is in a strong average data transmission performance, and the fourth preset ratio is greater than or equal to the third preset ratio.
7. The video playback control method according to claim 6, characterized in that: Before determining the video stream of the target bit rate level from the video streams of the multiple bit rate levels according to the real-time data transmission performance and the average data transmission performance, the method further includes: Obtain the player cache duration of the video player at the current moment; The step of determining a video stream at a target bit rate level from the video streams at the multiple bit rate levels according to the real-time data transmission performance and the average data transmission performance includes: A video stream at a target bit rate level is determined from the video streams at the multiple bit rate levels according to the real-time data transmission performance, the average data transmission performance, and the cache duration.
8. The video playback control method according to claim 7, characterized in that: The step of determining a video stream at a target bit rate level from the video streams at the multiple bit rate levels according to the real-time data transmission performance, the average data transmission performance, and the cache duration includes: In the case where the cache duration is less than the preset duration, if the video playback end is in a weak real-time data transmission performance or a weak average data transmission performance, a video stream with a bit rate gear less than the current gear is determined from the video streams of the multiple bit rate gears as the video stream with the target bit rate gear; if the video playback end is in a strong real-time data transmission performance and a strong average data transmission performance, a video stream with a bit rate gear greater than the current gear is determined from the video streams of the multiple bit rate gears as the video stream with the target bit rate gear, and the current gear is the bit rate gear corresponding to the currently played video stream; When the cache duration is greater than or equal to the preset duration, if the video playback end is in a strong real-time data transmission performance or a strong average data transmission performance, a video stream with a bit rate level greater than the current level is determined from the video streams of the multiple bit rate levels as the video stream with the target bit rate level.
9. The video playback control method according to any one of claims 1 to 8, characterized in that: The method is applied to a video player or server in a live video broadcast system.
10. A video playback control device, characterized in that: The device comprises: An acquisition unit, used to acquire real-time network performance parameters of the video playback end; A determination unit, used to determine an average bit rate corresponding to a video stream currently played by the video player and an average network performance parameter of the video player, wherein the video played by the video player corresponds to a video stream with multiple bit rate levels; An adjustment unit is used to determine a video stream with a target bit rate level from the video streams with the multiple bit rate levels based on the average bit rate, the real-time network performance parameter and the average network performance parameter, and the video stream with the target bit rate level is used to adjust the video stream played by the video playback end.
11. An electronic device, characterized in that: include: A processor, a memory, and computer program instructions stored on the memory and executable on the processor; When the processor executes the computer program instructions, the method according to any one of claims 1 to 9 is implemented.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, they are used to implement the method according to any one of claims 1 to 9.
Citation Information
Cited By
Efficient and collaborative multimedia equipment intelligent management method and system
CN119883655A
Intelligent Management Method and System for Highly Efficient Collaborative Multimedia Devices
CN119883655B
Video stream playing method and system, terminal and storage medium
CN121486615A