CN110881136A - Video frame rate control method and device, computer equipment and storage medium - Google Patents

Video frame rate control method and device, computer equipment and storage medium Download PDF

Info

Publication number
CN110881136A
CN110881136A CN201911114447.0A CN201911114447A CN110881136A CN 110881136 A CN110881136 A CN 110881136A CN 201911114447 A CN201911114447 A CN 201911114447A CN 110881136 A CN110881136 A CN 110881136A
Authority
CN
China
Prior art keywords
frame rate
terminal
video
server
specified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911114447.0A
Other languages
Chinese (zh)
Other versions
CN110881136B (en
Inventor
朱春林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911114447.0A priority Critical patent/CN110881136B/en
Publication of CN110881136A publication Critical patent/CN110881136A/en
Application granted granted Critical
Publication of CN110881136B publication Critical patent/CN110881136B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Abstract

The application relates to a video frame rate control method, a video frame rate control device, computer equipment and a storage medium, and relates to the technical field of video playing control. The method comprises the following steps: the method comprises the steps of obtaining a video playing performance index of a terminal in a specified time interval, wherein the video playing performance index is used for indicating the performance of the terminal in playing a video frame sent by a server instantly; the specified time interval is a specified length time interval before the current time; acquiring the relation between the video playing performance index and an index threshold; and when the relation between the video playing performance index and the index threshold value meets the specified relation, adjusting the frame rate of the video frame sent to the terminal by the server. By the scheme, the frame rate of the video frame can be matched with the video playing performance of the terminal, and the control effect of the frame rate of the video frame sent to the terminal by the server is improved.

Description

Video frame rate control method and device, computer equipment and storage medium
Technical Field
The present application relates to the field of video playing control technologies, and in particular, to a method and an apparatus for controlling a video frame rate, a computer device, and a storage medium.
Background
In video playing scenes such as a cloud game, an online video or a live webcast, the decoding and rendering capabilities of different terminals on video frames are different, and in order to ensure that each terminal can achieve a good video playing effect, the frame rate of the video frames pushed to the terminal by the server needs to be controlled.
In the related art, the server may preset mapping relationships between various terminal capability parameters and various frame rates, where the terminal capability parameters may include a terminal device model, an operating system version number, a browser kernel version number, and so on. Before sending the video frame to the terminal, the server can receive the terminal capability parameter reported by the terminal, inquire the corresponding frame rate according to the terminal capability parameter, and subsequently send the video frame to the terminal according to the frame rate obtained by inquiry, so that the terminal can play immediately.
However, even if the same terminal plays video at different time points, processing resources for playing video will be different, and the frame rate determined by the terminal capability parameter in the related art is a fixed value, which has a poor effect of controlling the frame rate of video frames.
Disclosure of Invention
The embodiment of the application provides a video frame rate control method, a video frame rate control device, a computer device and a storage medium, which can improve the control effect of the frame rate of sending video frames to a terminal by a server, and the technical scheme is as follows:
in one aspect, a video frame rate control method is provided, and the method includes:
the method comprises the steps of obtaining a video playing performance index of a terminal in a specified time interval, wherein the video playing performance index is used for indicating the performance of the terminal in playing a video frame sent by a server instantly; the specified time interval is a specified length time interval before the current time;
acquiring the relation between the video playing performance index and an index threshold;
and when the relation between the video playing performance index and the index threshold value meets the specified relation, adjusting the frame rate of the video frame sent to the terminal by the server.
In one aspect, an apparatus for controlling a video frame rate is provided, the apparatus comprising:
the system comprises a performance index acquisition module, a video playing performance index acquisition module and a video playing performance index acquisition module, wherein the performance index acquisition module is used for acquiring the video playing performance index of a terminal in a specified time interval, and the video playing performance index is used for indicating the performance of the terminal in playing a video frame sent by a server in real time; the specified time interval is a specified length time interval before the current time;
the relation acquisition module is used for acquiring the relation between the video playing performance index and an index threshold value;
and the frame rate adjusting module is used for adjusting the frame rate of the video frames sent to the terminal by the server when the relation between the video playing performance index and the index threshold value meets the specified relation.
Optionally, the video playing performance index includes: at least one of a decode buffer, a decode delay, a decode elapsed time, and a render elapsed time; the decode buffer is a buffer amount of video frames that the terminal has received and not decoded.
Optionally, the index threshold includes a first index threshold and a second index threshold, and the first index threshold is higher than the second index threshold;
optionally, the apparatus further comprises:
a first relation determining module, configured to determine that a first specified relation is satisfied between the video playing performance index and the first index threshold when the video playing performance index is higher than the first index threshold before the frame rate adjusting module adjusts the frame rate of the video frame sent by the server to the terminal;
a second relation determining module, configured to determine that a second specified relation is satisfied between the video playing performance index and the second index threshold when the video playing performance index is lower than the second index threshold before the frame rate adjusting module adjusts the frame rate of the video frame sent to the terminal by the server.
Optionally, the frame rate adjusting module includes:
a first adjusting unit, configured to adjust, when the video playing performance index and the first index threshold satisfy the first specified relationship and a first frame rate of a video frame sent by the server to the terminal at a current time is higher than a lower frame rate limit, a frame rate of the video frame sent by the server to the terminal to a second frame rate, where the second frame rate is lower than the first frame rate;
and a second adjusting unit, configured to adjust, when the video playing performance indicator and the second indicator threshold satisfy the second specified relationship, and a first frame rate of video frames sent to the terminal by the server at the current time is lower than an upper frame rate limit, a frame rate of video frames sent to the terminal by the server to a third frame rate, where the third frame rate is higher than the first frame rate.
Optionally, the frame rate adjusting module further includes:
a frame rate reduction unit, configured to reduce a specified frame rate step length based on the first frame rate to obtain a second frame rate before the first adjustment unit adjusts the frame rate of the video frame sent by the server to the terminal to the second frame rate.
Optionally, the frame rate adjusting module further includes:
a frame rate increasing unit, configured to increase a specified frame rate step length based on the first frame rate to obtain the third frame rate before the second adjusting unit adjusts the frame rate of the video frame sent by the server to the terminal to the second frame rate.
Optionally, the apparatus further comprises:
an adjustment mode obtaining module, configured to obtain an adjustment mode for last frame rate adjustment;
and the step length updating module is used for updating the specified frame rate step length according to the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment.
Optionally, the step size updating module includes:
a first updating unit, configured to, when the adjustment mode of the last frame rate adjustment is to increase the frame rate, and the adjustment mode of the current frame rate adjustment is to decrease the frame rate; or, when the adjustment mode of the last frame rate adjustment is to reduce the frame rate and the adjustment mode of the current frame rate adjustment is to increase the frame rate, reducing the specified frame rate step by the unit frame rate.
Optionally, the step size updating module includes:
a second updating unit, configured to reduce the frame rate when both the last frame rate adjustment mode and the current frame rate adjustment mode are frame rate reduction; or, when the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment are frame rate up, increasing the specified frame rate step length by a unit frame rate.
Optionally, the frame rate adjusting module further includes:
and the first frame rate acquisition unit is used for acquiring the second frame rate according to the difference value between the video playing performance index and the first index threshold value.
Optionally, the frame rate adjusting module further includes:
and the second frame rate obtaining unit is used for obtaining the third frame rate according to the difference value between the video playing performance index and the second index threshold.
Optionally, the performance index obtaining module is configured to,
acquiring the sum of the decoding buffers of the terminal at each time point in the appointed time interval as the decoding buffer of the terminal in the appointed time interval;
alternatively, the first and second electrodes may be,
and acquiring the average value of the decoding buffers of the terminal at each time point in the appointed time interval as the decoding buffer of the terminal in the appointed time interval.
In another aspect, a computer device is provided, which includes a processor and a memory, where at least one instruction, at least one program, a set of codes, or a set of instructions is stored in the memory, and the at least one instruction, the at least one program, the set of codes, or the set of instructions is loaded and executed by the processor to implement the above video frame rate control method.
In yet another aspect, a computer-readable storage medium is provided, in which at least one instruction, at least one program, a set of codes, or a set of instructions is stored, and loaded and executed by a processor to implement the above video frame rate control method.
According to the method and the device, the video playing performance index of the terminal in the appointed time interval is obtained, and the frame rate of the video frame sent to the terminal by the server is dynamically adjusted according to the relation between the video playing performance index and the index threshold value, so that the frame rate of the video frame is matched with the video playing performance of the terminal, and the control effect of the frame rate of the video frame sent to the terminal by the server is improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application.
Fig. 1 is a system configuration diagram of a video push and play system according to various embodiments of the present application;
fig. 2 is a schematic structural diagram of a terminal according to the embodiment shown in fig. 1;
FIG. 3 is a schematic diagram of a video frame rate control flow provided by an exemplary embodiment of the present application;
FIG. 4 is a flowchart of a method for controlling a video frame rate according to an exemplary embodiment of the present application;
FIG. 5 is a schematic diagram illustrating an interaction flow in frame rate adjustment according to the embodiment shown in FIG. 4;
fig. 6 is a schematic diagram illustrating an interaction flow in another frame rate adjustment according to the embodiment shown in fig. 4;
FIG. 7 is a flow chart of video frame rate control provided by an exemplary embodiment of the present application;
fig. 8 is a block diagram illustrating a structure of a video frame rate control apparatus according to an exemplary embodiment of the present disclosure;
fig. 9 is a block diagram of a computer device according to an exemplary embodiment of the present application.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
Referring to fig. 1, a system configuration diagram of a video push and play system according to various embodiments of the present application is shown. As shown in fig. 1, the system includes a server 120, a database 140, and a number of terminals 160.
The server 120 is a server, or a plurality of servers, or a virtualization platform, or a cloud computing service center.
The server 120 may be composed of one or more functional units. Alternatively, as shown in fig. 1, the server 120 may include a video frame encoding unit 120a, a video frame transmitting unit 120b, and a frame rate control unit 120 c.
The video frame encoding unit 120a is configured to encode a video stream picture to obtain a video frame.
The video frame transmitting unit 120b is configured to transmit the video frame encoded by the video frame encoding unit 120a to the terminal.
A frame rate control unit 120 c. For controlling the frame rate of the video frames encoded by the video frame encoding unit 120 a.
The database 140 may be a Redis database, or may be another type of database. The database 140 is used for storing various types of data, such as video pictures, user data, and the like.
The terminal 160 may be a terminal device having a network connection function and a video function, for example, the terminal 160 may be a mobile phone, a tablet computer, an electronic book reader, smart glasses, a smart watch, an MP3 player (Moving picture Experts Group Audio Layer III, motion picture Experts compression standard Audio Layer 3), an MP4 player (Moving picture Experts Group Audio Layer IV, motion picture Experts compression standard Audio Layer 4), an on-board terminal, a laptop portable computer, a desktop computer, and the like.
The terminal 160 may also receive an operation performed by the user in the video playing interface of the terminal, upload the operation performed by the user to the server 120, update the video picture by the server 120 according to the user operation, encode the updated video picture, and send the encoded video picture to the terminal 160.
Please refer to fig. 2, which illustrates a schematic structural diagram of a terminal according to an embodiment of the present application. As shown in fig. 2, the terminal includes a main board 161, an external input/output device 162, a memory 163, an external interface 164, a touch system 165, and a power supply 166.
The main board 161 is integrated with a processor, a controller, and other processing elements.
The external input/output device 162 may include a display component (e.g., a display screen), a sound playing component (e.g., a speaker), a sound collecting component (e.g., a microphone), and various keys.
The memory 163 stores program codes and data.
The external interface 154 may include a headset interface, a charging interface, a data interface, and the like.
The touch system 165 may be integrated into a display component or a key of the external input/output device 162, and the touch system 165 is used to detect a touch operation performed by a user on the display component or the key.
The power supply 166 is used to power the various other components in the terminal.
In this embodiment, the processor in the main board 161 may execute or call the video frame stored in the memory and sent by the server 120, decode and render the video frame, and then display the video frame through the external input/output device 162. Optionally, in the display process, a touch operation performed when the user interacts with the video frame may be detected by the capacitive touch system 162.
The terminal 160 is connected to the server 120 via a communication network. Optionally, the communication network is a wired network or a wireless network.
Optionally, the system may further include a management device (not shown in fig. 1), which is connected to the server 120 through a communication network. Optionally, the communication network is a wired network or a wireless network.
Optionally, the wireless network or wired network described above uses standard communication techniques and/or protocols. The Network is typically the Internet, but may be any Network including, but not limited to, a Local Area Network (LAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), a mobile, wireline or wireless Network, a private Network, or any combination of virtual private networks. In some embodiments, data exchanged over a network is represented using techniques and/or formats including Hypertext Mark-up Language (HTML), Extensible markup Language (XML), and the like. All or some of the links may also be encrypted using conventional encryption techniques such as Secure Socket Layer (SSL), Transport Layer Security (TLS), Virtual Private Network (VPN), Internet protocol Security (IPsec). In other embodiments, custom and/or dedicated data communication techniques may also be used in place of, or in addition to, the data communication techniques described above.
Please refer to fig. 3, which illustrates a schematic diagram of a video frame rate control flow according to an exemplary embodiment of the present application. As shown in fig. 3, the computer device may control the frame rate of the video frames transmitted by the server to the terminal by performing the following steps. The computer device may be the terminal 160 in the system shown in fig. 1, or may also be the server 120 in the system shown in fig. 1; alternatively, the computer device may be a combination of the terminal 160 and the server 120.
Step 31, obtaining a video playing performance index of the terminal in a specified time interval, where the video playing performance index is used to indicate the performance of the terminal in playing the video frames sent by the server in real time.
Wherein the specified time interval is a specified length time interval before the current time.
Optionally, the video playing performance index is an index indicating a video playing performance bottleneck of the terminal when the terminal plays the video frames sent by the server in real time.
In which, the video playing performance index of the terminal may fluctuate at different times or stages.
For example, when a terminal plays a video frame sent by a server in real time, if there are many background processes or the background processes occupy more processing resources, the processing resources used by the terminal for playing the video will be correspondingly less, and at this time, the video playing performance index of the terminal will indicate that the video playing performance of the terminal is lower.
On the contrary, when the terminal plays the video frame sent by the server in real time, if the background process is less or the processing resource occupied by the background process is less, the processing resource used by the terminal for playing the video is correspondingly more, and at this time, the video playing performance index of the terminal indicates that the video playing performance of the terminal is higher.
And step 32, acquiring the relation between the video playing performance index and the index threshold value.
The index threshold may be a threshold preset by a developer or an operation and maintenance worker.
Optionally, the relationship between the video playing performance index and the index threshold may include a size relationship.
And step 33, when the relation between the video playing performance index and the index threshold value meets a specified relation, adjusting the frame rate of the video frame sent to the terminal by the server.
In the above scheme, the computer device may dynamically adjust the frame rate at which the server sends the video frame to the terminal according to the relationship between the video playing performance index and the preset index threshold, so that the frame rate of the video frame is adapted to the video playing performance of the terminal, for example, when the video playing performance of the terminal is low, the frame rate of the video frame sent by the server to the terminal is properly reduced, and situations such as jamming are avoided.
To sum up, in the scheme shown in the embodiment of the present application, the computer device obtains the video playing performance index of the terminal in the specified time interval, and dynamically adjusts the frame rate of the video frame sent to the terminal by the server according to the relationship between the video playing performance index and the index threshold, so that the frame rate of the video frame is adapted to the video playing performance of the terminal, and the control effect of the frame rate of the video frame sent to the terminal by the server is improved.
The cloud game is that a game runs on a cloud server, and a rendered game picture is compressed by the cloud server and then transmitted to a terminal of a user side through a network for decoding and rendering. Correspondingly, the terminal also uploads the operation executed by the user in the terminal to the cloud server, and the cloud server updates the game picture according to the operation executed by the user.
The problem that the decoding performance and the rendering performance of a Web (webpage) cloud game are not uniform exists in a terminal, particularly a mobile terminal, the decoding performance and the rendering performance may have great differences under different terminals, operating system versions and browser kernel versions, and even the decoding performance and the rendering performance of the same terminal at different moments can also dynamically change. By the scheme in the embodiment shown in fig. 3, in a cloud game scene, the frame rate of a cloud game video image when the terminal plays can be dynamically adjusted, so that the problem of terminal performance adaptation of the Web cloud game can be effectively solved.
Besides cloud game scenes, the scheme in the embodiment shown in fig. 3 may also be applied to a scene in which other terminals play video frames sent by a server instantly.
For example, in a live scene, when the live server pushes a live video stream to the terminal, the frame rate of the live video stream pushed to the terminal by the live server may be adjusted according to a video playing performance index when the terminal plays the live video.
For another example, in a scene of playing an online video, when the video server pushes a live video stream to the terminal, the frame rate of the online video pushed to the terminal by the video server may be adjusted according to a video playing performance index when the online video is played by the terminal.
Referring to fig. 4, a flowchart of a method for controlling a video frame rate according to an exemplary embodiment of the present application is shown. Wherein the method may be performed by a computer device. The computer device may be the terminal 160 in the system shown in fig. 1, or may also be the server 120 in the system shown in fig. 1; alternatively, the computer device may be a combination of the terminal 160 and the server 120. Taking the example of controlling the frame rate of the video frame of the game picture sent by the cloud game server to the terminal in the Web cloud game scene, as shown in fig. 4, the video frame rate control method may include the following steps:
step 401, obtaining a video playing performance index of the terminal in a specified time interval, where the video playing performance index is used to indicate the performance of the terminal in playing the video frames sent by the server in real time.
Wherein the specified time interval is a specified length time interval before the current time.
Optionally, the video playing performance index includes: at least one of a decode buffer, a decode delay, a decode elapsed time, and a render elapsed time.
Wherein the decoding buffer is a buffer amount of video frames which are received and not decoded by the terminal.
Optionally, the decoding buffer may be a buffer number of video frames that have been received and are not decoded by the terminal, that is, a buffer frame number; alternatively, the decoding buffer may be a buffer data amount of a video frame that has been received and not decoded by the terminal. However, when the resolution of the video frame is fixed, the number of buffered frames increases as the amount of buffered data increases.
In this embodiment of the application, when the terminal plays the video frame sent by the server, the decoding buffer of the video frame sent by the server is negatively related to the performance of the terminal for instant playing of the video frame, that is, the higher the decoding buffer in the specified time interval is, the more video frames are not ready for decoding and rendering, that is, the worse the performance of the terminal for instant playing of the video frame in the specified time interval is; on the contrary, the lower the decoding buffer in the specified time interval is, the less the video frames are available for decoding and rendering, that is, the better the performance of the terminal in playing the video frames in the specified time interval is.
The decoding delay may be a time delay between the terminal receiving a video frame and the decoding or rendering of the video frame being completed.
The decoding delay is inversely related to the performance of the terminal for immediately playing the video frame. That is, the higher the decoding delay in the specified time interval is, the worse the performance of the terminal in instantly playing the video frame in the specified time interval is; on the contrary, the lower the decoding delay in the specified time interval is, the better the performance of the terminal in instantly playing the video frame in the specified time interval is.
The decoding time may be a time taken between the terminal starting decoding a video frame and the terminal completing decoding the video frame. The rendering time may be a time taken from the terminal starting rendering a video frame to the rendering completion of the video frame.
The decoding time consumption or the rendering time consumption is inversely related to the performance of the terminal for immediately playing the video frame. That is, the longer the decoding time consumption or rendering time consumption in the specified time interval is, the worse the performance of the terminal in instantly playing the video frame in the specified time interval is; on the contrary, the shorter the decoding time consumption or the rendering time consumption in the specified time interval is, the better the performance of the terminal in instantly playing the video frame in the specified time interval is.
In a possible implementation manner, when the video playing performance index includes a decoding buffer, the computer device may obtain a sum of the decoding buffers of the terminal at various time points within the specified time interval as the decoding buffer of the terminal within the specified time interval.
In this embodiment of the present application, the computer device may obtain, at regular intervals, decoding buffers (buffer frame numbers or buffer data amounts) in the terminal, and obtain a sum of the decoding buffers obtained in a specified time interval as the decoding buffers of the terminal in the specified time interval.
For example, the computer device may set a timer, set the timing duration of the timer to the fixed interval, and trigger the obtaining of the decoding buffer in the terminal every time when the timer reaches the timing duration, for example, the timing duration of the timer is 1s, the computer device may obtain the decoding buffer in the terminal every 1s, and when the video playing performance index of the terminal in the specified time interval is obtained, the computer device may accumulate the decoding buffers obtained in the past in the specified time interval, that is, may obtain the decoding buffer of the terminal in the specified time interval.
In another possible implementation manner, when the video playing performance indicator includes a decoding buffer, the computer device may obtain an average value of the decoding buffers of the terminal at various time points within the specified time interval as the decoding buffer of the terminal within the specified time interval.
In this embodiment of the present application, the computer device may also average decoding buffers obtained in all times within a specified time interval to obtain a decoding buffer of the terminal within the specified time interval.
Step 402, obtaining the relationship between the video playing performance index and the index threshold.
The relationship between the video playing performance index and the index threshold may be a magnitude relationship between the video playing performance index and the index threshold.
The type of the index threshold is the same as the type of the video playing performance index.
For example, when the video playing performance index includes a decoding cache, the index threshold also includes a decoding cache threshold; when the video playing performance index comprises decoding delay, the index threshold also comprises a decoding delay threshold; when the video playing performance index comprises decoding time consumption, the index threshold also comprises a decoding time consumption threshold; when the video playing performance index includes rendering time consumption, the index threshold also includes a rendering time consumption threshold.
When the video playing performance index includes two or more indexes, the relationship between the video playing performance index and the index threshold may include a relationship between two or more indexes and the corresponding types of index thresholds.
For example, when the video playback performance indicator includes a decoding buffer and a decoding delay, the relationship between the video playback performance indicator and the indicator threshold may include a size relationship between the decoding buffer and a decoding buffer threshold, and a size relationship between the decoding delay and a decoding delay threshold.
Step 403, determine whether the relationship between the video playing performance index and the index threshold satisfies a specified relationship, if yes, go to step 404, otherwise, go to step 405.
In the embodiment of the present application, for each video playing performance index, the index threshold includes a first index threshold and a second index threshold, where the first index threshold is higher than the second index threshold;
before adjusting the frame rate of the video frame sent by the server to the terminal, the computer device may determine whether the relationship between the video playing performance index and the index threshold satisfies a specified relationship by:
when the video playing performance index is higher than the first index threshold, determining that the video playing performance index and the first index threshold satisfy a first specified relation;
and when the video playing performance index is lower than the second index threshold value, determining that the video playing performance index and the second index threshold value meet a second specified relation.
And step 404, adjusting the frame rate of the video frame sent to the terminal by the server according to the specified relation.
For example, when the video playing performance index and the first index threshold satisfy the first specified relationship, and the first frame rate of the video frame sent by the server to the terminal at the current time is higher than the lower frame rate limit, the computer device adjusts the frame rate of the video frame sent by the server to the terminal to a second frame rate, where the second frame rate is lower than the first frame rate;
when the video playing performance index and the second index threshold value satisfy the second specified relationship, and the first frame rate of the video frame sent to the terminal by the server at the current moment is lower than the upper limit of the frame rate, the computer device adjusts the frame rate of the video frame sent to the terminal by the server to a third frame rate, and the third frame rate is higher than the first frame rate.
In this embodiment of the present application, according to a difference between a video playing performance index and an index threshold, the computer device may perform different adjustments on the frame rate of a video frame sent to the terminal by the server.
For example, when the decoding buffer of the terminal is higher than the first decoding buffer threshold, the decoding delay is higher than the first decoding delay threshold, the decoding consumed time is higher than the first decoding consumed time threshold, and/or the rendering consumed time is higher than the first rendering consumed time threshold in the specified time interval, it indicates that the video playing performance of the terminal in the specified event interval is poor, and it is necessary to reduce the frame rate of the subsequent video frame.
For another example, when the decoding buffer of the terminal is lower than the second decoding buffer threshold, the decoding delay is lower than the second decoding delay threshold, the decoding consumed time is lower than the second decoding consumed time threshold, and/or the rendering consumed time is lower than the second rendering consumed time threshold, it indicates that the video playing performance of the terminal in the specified event interval is good, and the frame rate of the subsequent video frame may be increased.
Optionally, before the computer device adjusts the frame rate of the video frame sent by the server to the terminal to the second frame rate, the step length of the designated frame rate may be reduced on the basis of the first frame rate to obtain the second frame rate.
Optionally, before the computer device adjusts the frame rate of the video frame sent by the server to the terminal to the second frame rate, a step length of a specified frame rate may be increased on the basis of the first frame rate to obtain the third frame rate.
In this embodiment of the application, when the computer device adjusts the frame rate of the video frame sent to the terminal by the server, the computer device may adjust according to a certain step length, that is, when the frame rate needs to be increased, the computer device increases the step length of the specified frame rate on the basis of the first frame rate, and when the frame rate needs to be decreased, the computer device decreases the step length of the specified frame rate on the basis of the first frame rate.
For example, assume that the first frame rate is 20fps, and the frame rate step size is specified to be 5 fps; assuming that the first decoding buffer threshold is 30 frames, when the decoding buffer (assumed to be 35 frames) of the terminal in the specified time interval is higher than the first decoding buffer threshold, the computer device may adjust the frame rate of the video frames sent by the server to the terminal to 15fps (i.e. the second frame rate) according to the specified frame rate step, and then the server will send the video frames to the terminal at a lower frame rate.
Assuming that the second decoding buffer threshold is 10 frames, when the decoding buffer (assumed as 5 frames) of the terminal in the specified time interval is lower than the second decoding buffer threshold, the computer device may adjust the frame rate of the video frames sent by the server to the terminal to 25fps (i.e. the third frame rate) according to the specified frame rate step, and then the server will send the video frames to the terminal at a higher frame rate.
Optionally, the computer device may further obtain an adjustment mode of the last frame rate adjustment; and updating the step length of the appointed frame rate according to the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment.
In the embodiment of the present application, in order to avoid frequently adjusting the frame rate of the video frame sent by the server to the terminal, the computer device may further update the specified frame rate step according to an adjustment manner of the current adjustment and the previous adjustment.
Optionally, in the process of updating the specified frame rate step according to the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment, when the adjustment mode of the last frame rate adjustment is to increase the frame rate and the adjustment mode of the current frame rate adjustment is to decrease the frame rate; or, when the last frame rate adjustment is to lower the frame rate and the current frame rate adjustment is to raise the frame rate, the computer device decreases the specified frame rate step by the unit frame rate.
The value of the unit frame rate may be preset by a developer, for example, the value of the unit frame rate may be set to 1, 2, or 3, and so on.
If the specified frame rate step length is not changed, under a certain specific condition, after the computer device raises the frame rate of the video frame sent by the server to the terminal from the frame rate 1 to the frame rate 2, the performance of the video played by the terminal is not enough to support the timely processing of the video frame of the frame rate, when the adjustment is performed this time, the computer device lowers the frame rate of the video frame sent by the server to the terminal back to the frame rate 1 before the previous adjustment, and if the performance of the video played by the terminal is excessive at the frame rate 1, the computer device adjusts the frame rate of the video frame sent by the server to the terminal to the frame rate 2 at the next adjustment, which causes the repeated adjustment of the frame rate by the computer device due to the fact that the frame rate adapted by the terminal is between the frame rate 1 and the frame rate 2.
In order to avoid the above repeated adjustment, in this embodiment of the application, the computer device may further obtain a previous frame rate adjustment condition after adjusting the frame rate each time, and if the current frame rate adjustment is opposite to the previous frame rate adjustment, that is, the current frame rate adjustment is to increase the frame rate and the previous frame rate adjustment is to decrease the frame rate, or the current frame rate adjustment is to decrease the frame rate and the previous frame rate adjustment is to increase the frame rate, it is indicated that the repeated adjustment may occur.
For example, by taking the first frame rate as 20fps and the specified frame rate step as 5fps as an example, assuming that the frame rate of the video frames sent by the server to the terminal gradually approaches to the frame rate adaptive to the terminal as 18fps, if the specified frame rate step is fixed, when the first frame rate is 20fps, the computer device determines that the frame rate is too high according to the decoding buffer in the specified time interval, and at this time, the frame rate is reduced to 15fps according to the specified frame rate step; and then, the server sends the video frames to the terminal at the frame rate of 15fps, the computer equipment subsequently judges that the frame rate is too low according to the decoding cache, the step size of the specified frame rate is increased to 20fps again, and then the switching is repeatedly carried out between 15fps and 20 fps.
If the designated frame rate step is fixed and adjustable, when the first frame rate is 20fps, the computer device judges that the frame rate is too high according to the decoding buffer in the designated time interval, at this time, the frame rate is reduced to 15fps according to the designated frame rate step, and judges the modes of the previous frame rate adjustment and the current frame rate adjustment, the computer device reduces the designated frame rate step by 1, namely the designated frame rate step is set to 4fps, when the subsequent adjustment is carried out again, the computer device judges that the frame rate is too low according to the decoding buffer, the frame rate is increased from 15fps to 19fps according to the adjusted designated frame rate step (4fps), and judges whether the mode of the previous frame rate adjustment and the current frame rate adjustment is opposite, the designated frame rate step is reduced by 1, namely the designated frame rate step is set to 3fps, and after the above process is executed, the computer device can finally adjust the frame rate of the video frames sent from the server to the terminal to 18fps, namely, the frame rate of the video frames sent to the terminal by the server gradually approaches the frame rate adapted by the terminal.
Optionally, in the process of updating the specified frame rate step length according to the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment, when both the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment are frame rate reduction; alternatively, when the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment are frame rate up, the computer device may increase the specified frame rate step by a unit frame rate.
In another possible implementation manner, when the performance of the terminal playing the video changes greatly, for example, the increase or decrease amplitude is large in a short time, at this time, the computer device needs to gradually adjust the frame rate of the video frame sent to the terminal by the server to the frame rate adapted to the performance of the terminal playing the video, and if the specified frame rate step length is small, the frame rate may need to be adjusted many times to achieve the performance adaptation to the performance of the terminal playing the video, thereby resulting in low frame rate control efficiency.
In contrast, according to the scheme shown in the embodiment of the present application, after the computer device adjusts the frame rate each time, the computer device may further obtain a previous frame rate adjustment condition, and if the current frame rate adjustment is the same as the previous frame rate adjustment, that is, both the current adjustment and the previous adjustment increase the frame rate or decrease the frame rate, it is described that the video playing performance of the terminal may have a large change, at this time, the computer device increases the specified frame rate step length by a unit frame rate to decrease the adjustment times, so as to improve the frame rate control efficiency.
For example, suppose that the frame rate of the video frame sent by the server to the terminal gradually approaches the frame rate adapted by the terminal to be 18fps, the frame rate of the video frame sent by the server to the terminal is stabilized at 18fps in a certain period of time, the performance of the terminal for playing the video is enhanced subsequently due to the end of the background thread, the frame rate adapted by the terminal is increased, and at this time, the step length of the designated frame rate is 2 fps; if the step length of the designated frame rate is fixed and unchanged, the computer equipment needs to adjust the frame rate of the video frame sent to the terminal by the server for multiple times according to the step length of 2fps so as to adjust the frame rate to be adapted to the terminal. If the specified frame rate step length is adjustable, assuming that the unit frame rate is 1fps, the computer device adjusts the specified frame rate step length to be 2fps when adjusting for the 1 st time and the 2 nd time, adjusts the specified frame rate step length to be 3fps when adjusting for the 3 rd time, adjusts the specified frame rate step length to be 4fps when adjusting for the 4 th time, and so on, so that the computer device can adjust the frame rate of the video frames sent to the terminal by the server to the frame rate adaptive to the terminal only by adjusting for a few times; correspondingly, if the performance enhancement of the terminal playing the video is reduced, the step length of the specified frame rate can be increased step by step according to the steps to shorten the adjustment times.
Optionally, before the computer device adjusts the frame rate of the video frame sent by the server to the terminal to a second frame rate, the second frame rate may also be obtained according to a difference between the video playing performance index and the first index threshold;
before the computer device adjusts the frame rate of the video frame sent to the terminal by the server to the third frame rate, the third frame rate can be obtained according to the difference between the video playing performance index and the second index threshold.
In another possible implementation manner, when the computer device adjusts the frame rate of the video frame sent to the terminal by the server, the computer device may also directly adjust the frame rate of the video frame sent to the terminal by the server to a frame rate matching the performance of playing the video by the terminal.
For example, before the computer device adjusts the frame rate of the video frame sent by the server to the terminal to the second frame rate, a first target frame rate table may be queried according to a difference between the video playing performance index and the first index threshold, where the first target frame rate table includes a correspondence relationship between different difference intervals between each video playing performance index and the first index threshold and different target frame rates when the frame rate reduction is included, and the computer device directly obtains the target frame rate corresponding to the interval where the difference between the video playing performance index and the first index threshold is located as the second frame rate.
For another example, before the computer device adjusts the frame rate of the video frame sent by the server to the terminal to the third frame rate, a second target frame rate table may be queried according to a difference between the video playing performance index and the second index threshold, where, when the second target frame rate table includes a frame rate increasing rate, a corresponding relationship between different difference intervals between each video playing performance index and the second index threshold and different target frame rates may be obtained, and the computer device directly obtains the target frame rate corresponding to an interval where the difference between the video playing performance index and the second index threshold is located as the third frame rate.
When the frame rate of the video frame sent to the terminal by the server is adjusted, the adjustment mode is different according to different device forms of the computer device.
For example, when the computer device is the terminal, the server provides a dynamic frame rate adjustment interface for the terminal, and when the terminal determines that the frame rate needs to be adjusted, the server sends a frame rate adjustment instruction to the server through the interface, where the frame rate adjustment instruction may include an adjusted frame rate (i.e., the second frame rate or the third frame rate), and after receiving the frame rate adjustment instruction, the server adjusts the frame rate of the video frame to the second frame rate or the third frame rate.
For example, please refer to fig. 5, which shows a schematic diagram of an interaction flow in frame rate adjustment according to an embodiment of the present application. Taking the example that the video playing performance index includes the decoding buffer, as shown in fig. 5, the interaction flow between the terminal and the server when sending and playing the video frame is as follows:
s51, the server sends video frames to the terminal according to the frame rate 1;
s52, the terminal acquires a local decoding buffer memory in a specified time interval (such as 5S) before the current time;
s53, the terminal determines to adjust the frame rate 1 to the frame rate 2 according to the decoding buffer;
s54, the terminal sends frame rate adjusting instruction to the server through the dynamic frame rate adjusting interface;
s55, the server transmits the video frame to the terminal at frame rate 2 according to the frame rate adjustment command.
For another example, when the computer device is a server, the server directly adjusts the frame rate of the video frame to the second frame rate or the third frame rate when determining that the frame rate needs to be adjusted.
For example, please refer to fig. 6, which shows an interaction flow diagram in another frame rate adjustment according to an embodiment of the present application. Taking the example that the video playing performance index includes the decoding buffer, as shown in fig. 6, the interaction flow between the terminal and the server when sending and playing the video frame is as follows:
s61, the server sends video frames to the terminal according to the frame rate 1;
s62, the terminal reports the decoding cache at each time point to the server through the cache reporting interface;
s63, the server determines to adjust the frame rate 1 to the frame rate 2 according to the decoding buffer of the terminal in the appointed time interval (such as 5S) before the current time;
s64, the server sends the video frame to the terminal at frame rate 2.
Step 405, keeping the frame rate of the video frame sent to the terminal by the server unchanged.
In the embodiment of the application, when the relation between the video playing performance index and the index threshold value does not meet the specified relation, it is indicated that the performance of the video currently played by the terminal is matched with the frame rate of the video frame sent to the terminal by the server, and frame rate adjustment is not needed.
To sum up, in the scheme shown in the embodiment of the present application, the computer device obtains the video playing performance index of the terminal in the specified time interval, and dynamically adjusts the frame rate of the video frame sent to the terminal by the server according to the relationship between the video playing performance index and the index threshold, so that the frame rate of the video frame is adapted to the video playing performance of the terminal, and the control effect of the frame rate of the video frame sent to the terminal by the server is improved.
In addition, according to the scheme shown in the embodiment of the present application, when the adjustment mode of the last frame rate adjustment is to increase the frame rate, and the adjustment mode of the current frame rate adjustment is to decrease the frame rate; or, when the last frame rate adjustment mode is to reduce the frame rate and the current frame rate adjustment mode is to increase the frame rate, the specified frame rate step length is reduced by the unit frame rate, so as to avoid the problem of repeated frame rate adjustment.
Taking a Web cloud game and taking the video playing performance index as an example of decoding and caching, the server needs to provide an interface for dynamically adjusting the encoding frame rate to be called by the Web end. When the performance of the terminal equipment is insufficient or performance is reduced, the decoding cache is accumulated, through the scheme of the application, when the decoding cache exceeds a preset threshold value, the coding frame rate is triggered to be reduced, and the coding frame rate is dynamically adjusted for multiple times and then is finally adapted to the appropriate stable frame rate. When the performance of the terminal equipment is higher than the performance requirement of the initial coding, the decoding cache can be stabilized at a lower value for a long time, through the scheme, when the decoding cache is lower than a preset threshold value within a period of time, the coding frame rate is triggered to be increased, the coding frame rate is finally adapted to a higher frame rate after being dynamically adjusted for multiple times, the higher frame rate can improve the operation smoothness, and the game experience is improved.
Referring to fig. 7, a flow chart of video frame rate control provided by an exemplary embodiment of the present application is shown. Taking the example of controlling the frame rate of the video frame of the game picture sent by the cloud game server to the terminal in the Web cloud game scene, the frame rate control flow is as follows:
and S71, the terminal receives the video frame sent by the server, and renders and plays the video frame after decoding the video frame by a decoder in the Web player.
S72, in the above process, the terminal obtains the statistical information of decoding buffer (number of frames of buffer or buffering duration) per second through the decoder or the Web player, and retains and calculates the statistical information of the latest time interval (configurable, usually several seconds).
Meanwhile, the terminal is preset with frame rate upper limit, frame rate lower limit, frame rate adjustment step (corresponding to the specified frame rate step in the above embodiment), frame rate up average decoding buffer (corresponding to the second index threshold in the above embodiment), frame rate down average decoding buffer (corresponding to the first index threshold in the above embodiment), and time interval length and other thresholds.
When the statistical information meets the following statistical conditions, triggering the dynamic frame rate adjustment:
s73, the total decoding buffer of the latest time interval is lower than the frame rate increasing threshold, and the frame rate is triggered to increase when the current frame rate is lower than the upper limit of the frame rate;
s74, when the total decoding buffer in the latest time interval is higher than the frame rate reduction threshold and the current set frame rate is higher than the frame rate lower limit, the frame rate reduction is triggered;
s75, otherwise, the frame rate is not processed.
In the embodiment of the present application, the server may provide an interface for dynamically adjusting the frame rate, and the Web end sends an instruction for adjusting the frame rate to the server through a network request when the dynamic frame rate adjustment is triggered.
In addition, to avoid the frame rate being repeatedly adjusted back and forth, when the frame rate adjustment satisfies the repeated condition, the frame rate adjustment step length is triggered to be decreased, which is specifically as follows:
s76, the local trigger decreases the frame rate and increases the frame rate last time, or increases the frame rate this time and decreases the frame rate last time, and decreases the frame rate adjustment step by 1.
S77, otherwise, the frame rate adjustment step is not processed.
Wherein, the formula of the above algorithm can be expressed as follows:
first, the variables are defined as follows:
decoding and buffering: decodeBuffer
Frame rate adjustment step length: updateFpsStep
Frame rate upper limit: MaxFps
Lower limit of frame rate: minFps
Frame rate set most recently: AdaptFps
Time interval: n is
Raising frame rate average decoding buffer threshold: incrusteFpsAvgFrame
Frame rate reduction average decoding buffer threshold: reduceFpsAvgFrame
In one possible implementation, the algorithm for adjusting the frame rate and the step size is as follows:
total decoding buffer totaldecodbuffer in the most recent time interval:
Figure BDA0002273681690000181
the frame rate incrasefpsstep is triggered to be increased when the following conditions are met:
Figure BDA0002273681690000191
wherein, the adjusted adaptFps is adaptFps + increaseFpsStep;
the frame rate reduction FpsStep is triggered to be reduced when the following conditions are met:
Figure BDA0002273681690000192
wherein, the adjusted adaptFps is adaptFps-reduced FpsStep;
wherein, the frame rate adjustment step value is corrected as follows when the frame rate is increased or decreased:
Figure BDA0002273681690000193
the scheme shown in the application can be used in cooperation with other frame rate control schemes, for example, when a terminal initially accesses a server and plays a video frame sent by the server, the terminal can send terminal capability parameters including a terminal device model, an operating system version number, a browser kernel version number and the like to the server, the server sets an initial frame rate for the terminal according to the terminal capability parameters and sends the video frame to the terminal according to the initial frame rate, in the subsequent process, the terminal periodically determines an adjusted frame rate according to decoding cache of the terminal and requests the server to transmit the video frame at the adjusted frame rate, so that the dynamic adjustment of the frame rate is realized.
Fig. 8 is a block diagram illustrating a structure of a video frame rate control apparatus according to an exemplary embodiment. The video frame rate control apparatus may be implemented as all or part of a computer device in a form of hardware or a combination of hardware and software, so as to execute all or part of the steps of the method shown in the corresponding embodiment of fig. 3 or 4; the computer device may be the terminal 160 in the system shown in fig. 1, or may also be the server 120 in the system shown in fig. 1; alternatively, the computer device may be a combination of the terminal 160 and the server 120. The video frame rate control apparatus may include:
a performance index obtaining module 801, configured to obtain a video playing performance index of a terminal in a specified time interval, where the video playing performance index is used to indicate performance of the terminal in playing a video frame sent by a server in real time; the specified time interval is a specified length time interval before the current time;
a relation obtaining module 802, configured to obtain a relation between the video playing performance index and an index threshold;
a frame rate adjusting module 803, configured to adjust a frame rate of a video frame sent by the server to the terminal when a relationship between the video playing performance index and the index threshold satisfies a specified relationship.
Optionally, the video playing performance index includes: at least one of a decode buffer, a decode delay, a decode elapsed time, and a render elapsed time; the decode buffer is a buffer amount of video frames that the terminal has received and not decoded.
Optionally, the index threshold includes a first index threshold and a second index threshold, and the first index threshold is higher than the second index threshold;
optionally, the apparatus further comprises:
a first relation determining module, configured to determine that a first specified relation is satisfied between the video playing performance index and the first index threshold when the video playing performance index is higher than the first index threshold before the frame rate adjusting module 803 adjusts the frame rate of the video frame sent by the server to the terminal;
a second relation determining module, configured to determine that a second specified relation is satisfied between the video playing performance index and the second index threshold when the video playing performance index is lower than the second index threshold before the frame rate adjusting module 803 adjusts the frame rate of the video frame sent by the server to the terminal.
Optionally, the frame rate adjusting module 803 includes:
a first adjusting unit, configured to adjust, when the video playing performance index and the first index threshold satisfy the first specified relationship and a first frame rate of a video frame sent by the server to the terminal at a current time is higher than a lower frame rate limit, a frame rate of the video frame sent by the server to the terminal to a second frame rate, where the second frame rate is lower than the first frame rate;
and a second adjusting unit, configured to adjust, when the video playing performance indicator and the second indicator threshold satisfy the second specified relationship, and a first frame rate of video frames sent to the terminal by the server at the current time is lower than an upper frame rate limit, a frame rate of video frames sent to the terminal by the server to a third frame rate, where the third frame rate is higher than the first frame rate.
Optionally, the frame rate adjusting module 803 further includes:
a frame rate reduction unit, configured to reduce a specified frame rate step length based on the first frame rate to obtain a second frame rate before the first adjustment unit adjusts the frame rate of the video frame sent by the server to the terminal to the second frame rate.
Optionally, the frame rate adjusting module 803 further includes:
a frame rate increasing unit, configured to increase a specified frame rate step length based on the first frame rate to obtain the third frame rate before the second adjusting unit adjusts the frame rate of the video frame sent by the server to the terminal to the second frame rate.
Optionally, the apparatus further comprises:
an adjustment mode obtaining module, configured to obtain an adjustment mode for last frame rate adjustment;
and the step length updating module is used for updating the specified frame rate step length according to the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment.
Optionally, the step size updating module includes:
a first updating unit, configured to, when the adjustment mode of the last frame rate adjustment is to increase the frame rate, and the adjustment mode of the current frame rate adjustment is to decrease the frame rate; or, when the adjustment mode of the last frame rate adjustment is to reduce the frame rate and the adjustment mode of the current frame rate adjustment is to increase the frame rate, reducing the specified frame rate step by the unit frame rate.
Optionally, the step size updating module includes:
a second updating unit, configured to reduce the frame rate when both the last frame rate adjustment mode and the current frame rate adjustment mode are frame rate reduction; or, when the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment are frame rate up, increasing the specified frame rate step length by a unit frame rate.
Optionally, the frame rate adjusting module 803 further includes:
and the first frame rate acquisition unit is used for acquiring the second frame rate according to the difference value between the video playing performance index and the first index threshold value.
Optionally, the frame rate adjusting module 803 further includes:
and the second frame rate obtaining unit is used for obtaining the third frame rate according to the difference value between the video playing performance index and the second index threshold.
Optionally, the performance index obtaining module 801 is configured to,
acquiring the sum of the decoding buffers of the terminal at each time point in the appointed time interval as the decoding buffer of the terminal in the appointed time interval;
alternatively, the first and second electrodes may be,
and acquiring the average value of the decoding buffers of the terminal at each time point in the appointed time interval as the decoding buffer of the terminal in the appointed time interval.
To sum up, in the scheme shown in the embodiment of the present application, the computer device obtains the video playing performance index of the terminal in the specified time interval, and dynamically adjusts the frame rate of the video frame sent to the terminal by the server according to the relationship between the video playing performance index and the index threshold, so that the frame rate of the video frame is adapted to the video playing performance of the terminal, and the control effect of the frame rate of the video frame sent to the terminal by the server is improved.
In addition, according to the scheme shown in the embodiment of the present application, when the adjustment mode of the last frame rate adjustment is to increase the frame rate, and the adjustment mode of the current frame rate adjustment is to decrease the frame rate; or, when the last frame rate adjustment mode is to reduce the frame rate and the current frame rate adjustment mode is to increase the frame rate, the specified frame rate step length is reduced by the unit frame rate, so as to avoid the problem of repeated frame rate adjustment.
Fig. 9 is a block diagram illustrating the structure of a computer device 900 according to an example embodiment.
Generally, computer device 900 includes: a processor 901 and a memory 902.
Processor 901 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and so forth. The processor 901 may be implemented in at least one hardware form of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), and a PLA (Programmable Logic Array). The processor 901 may also include a main processor and a coprocessor, where the main processor is a processor for processing data in an awake state, and is also called a Central Processing Unit (CPU); a coprocessor is a low power processor for processing data in a standby state. In some embodiments, the processor 901 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the display screen. In some embodiments, the processor 901 may further include an AI (Artificial Intelligence) processor for processing computing operations related to machine learning.
Memory 902 may include one or more computer-readable storage media, which may be non-transitory. The memory 902 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments, a non-transitory computer readable storage medium in memory 902 is used to store at least one instruction for execution by processor 901 to implement all or part of the steps of a method provided by method embodiments herein.
In some embodiments, computer device 900 may also optionally include: a peripheral interface 903 and at least one peripheral. The processor 901, memory 902, and peripheral interface 903 may be connected by buses or signal lines. Various peripheral devices may be connected to the peripheral interface 903 via a bus, signal line, or circuit board. Specifically, the peripheral device includes: at least one of a radio frequency circuit 904, a touch display screen 905, a camera 906, an audio circuit 907, a positioning component 908, and a power supply 909.
The peripheral interface 903 may be used to connect at least one peripheral related to I/O (Input/Output) to the processor 901 and the memory 902. In some embodiments, the processor 901, memory 902, and peripheral interface 903 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 901, the memory 902 and the peripheral interface 903 may be implemented on a separate chip or circuit board, which is not limited by this embodiment.
The Radio Frequency circuit 904 is used for receiving and transmitting RF (Radio Frequency) signals, also called electromagnetic signals. The radio frequency circuitry 904 communicates with communication networks and other communication devices via electromagnetic signals. The radio frequency circuit 904 converts an electrical signal into an electromagnetic signal to transmit, or converts a received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 904 comprises: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and so forth. The radio frequency circuit 904 may communicate with other terminals via at least one wireless communication protocol. The wireless communication protocols include, but are not limited to: the world wide web, metropolitan area networks, intranets, generations of mobile communication networks (2G, 3G, 4G, and 5G), Wireless local area networks, and/or WiFi (Wireless Fidelity) networks. In some embodiments, the radio frequency circuit 904 may also include NFC (Near Field Communication) related circuits, which are not limited in this application.
The display screen 905 is used to display a UI (user interface). The UI may include graphics, text, icons, video, and any combination thereof. When the display screen 905 is a touch display screen, the display screen 905 also has the ability to capture touch signals on or over the surface of the display screen 905. The touch signal may be input to the processor 901 as a control signal for processing. At this point, the display 905 may also be used to provide virtual buttons and/or a virtual keyboard, also referred to as soft buttons and/or a soft keyboard. In some embodiments, the display screen 905 may be one, providing the front panel of the computer device 900; in other embodiments, the number of the display screens 905 may be at least two, and each of the display screens may be disposed on a different surface of the computer device 900 or may be in a foldable design; in still other embodiments, the display 905 may be a flexible display, disposed on a curved surface or on a folded surface of the computer device 900. Even more, the display screen 905 may be arranged in a non-rectangular irregular figure, i.e. a shaped screen. The Display panel 905 can be made of LCD (Liquid Crystal Display), OLED (Organic Light-emitting diode), and other materials.
The camera assembly 906 is used to capture images or video. Optionally, camera assembly 906 includes a front camera and a rear camera. Generally, a front camera is disposed at a front panel of the terminal, and a rear camera is disposed at a rear surface of the terminal. In some embodiments, the number of the rear cameras is at least two, and each rear camera is any one of a main camera, a depth-of-field camera, a wide-angle camera and a telephoto camera, so that the main camera and the depth-of-field camera are fused to realize a background blurring function, and the main camera and the wide-angle camera are fused to realize panoramic shooting and VR (Virtual Reality) shooting functions or other fusion shooting functions. In some embodiments, camera assembly 906 may also include a flash. The flash lamp can be a monochrome temperature flash lamp or a bicolor temperature flash lamp. The double-color-temperature flash lamp is a combination of a warm-light flash lamp and a cold-light flash lamp, and can be used for light compensation at different color temperatures.
Audio circuit 907 may include a microphone and a speaker. The microphone is used for collecting sound waves of a user and the environment, converting the sound waves into electric signals, and inputting the electric signals to the processor 901 for processing, or inputting the electric signals to the radio frequency circuit 904 for realizing voice communication. The microphones may be multiple and placed at different locations on the computer device 900 for stereo sound acquisition or noise reduction purposes. The microphone may also be an array microphone or an omni-directional pick-up microphone. The speaker is used to convert electrical signals from the processor 901 or the radio frequency circuit 904 into sound waves. The loudspeaker can be a traditional film loudspeaker or a piezoelectric ceramic loudspeaker. When the speaker is a piezoelectric ceramic speaker, the speaker can be used for purposes such as converting an electric signal into a sound wave audible to a human being, or converting an electric signal into a sound wave inaudible to a human being to measure a distance. In some embodiments, audio circuit 907 may also include a headphone jack.
The Location component 908 is used to locate the current geographic Location of the computer device 900 for navigation or LBS (Location Based Service). The positioning component 908 may be a positioning component based on the GPS (global positioning System) in the united states, the beidou System in china, the GLONASS (global navigation Satellite System) in russia, or the galileo System in europe.
The power supply 909 is used to supply power to the various components in the computer device 900. The power source 909 may be alternating current, direct current, disposable or rechargeable. When the power source 909 includes a rechargeable battery, the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery. The wired rechargeable battery is a battery charged through a wired line, and the wireless rechargeable battery is a battery charged through a wireless coil. The rechargeable battery may also be used to support fast charge technology.
In some embodiments, computer device 900 also includes one or more sensors 910. The one or more sensors 910 include, but are not limited to: acceleration sensor 911, gyro sensor 912, pressure sensor 913, fingerprint sensor 914, optical sensor 915, and proximity sensor 916.
The acceleration sensor 911 may detect the magnitude of acceleration in three coordinate axes of a coordinate system established with the computer apparatus 900. For example, the acceleration sensor 911 may be used to detect the components of the gravitational acceleration in three coordinate axes. The processor 901 can control the touch display 905 to display the user interface in a landscape view or a portrait view according to the gravitational acceleration signal collected by the acceleration sensor 911. The acceleration sensor 911 may also be used for acquisition of motion data of a game or a user.
The gyro sensor 912 may detect a body direction and a rotation angle of the computer apparatus 900, and the gyro sensor 912 may cooperate with the acceleration sensor 911 to acquire a 3D motion of the user with respect to the computer apparatus 900. The processor 901 can implement the following functions according to the data collected by the gyro sensor 912: motion sensing (such as changing the UI according to a user's tilting operation), image stabilization at the time of photographing, game control, and inertial navigation.
The pressure sensors 913 may be disposed on the side bezel of the computer device 900 and/or underneath the touch display screen 905. When the pressure sensor 913 is disposed on the side frame of the computer device 900, the holding signal of the user to the computer device 900 may be detected, and the processor 901 performs left-right hand recognition or shortcut operation according to the holding signal collected by the pressure sensor 913. When the pressure sensor 913 is disposed at a lower layer of the touch display 905, the processor 901 controls the operability control on the UI interface according to the pressure operation of the user on the touch display 905. The operability control comprises at least one of a button control, a scroll bar control, an icon control and a menu control.
The fingerprint sensor 914 is used for collecting a fingerprint of the user, and the processor 901 identifies the user according to the fingerprint collected by the fingerprint sensor 914, or the fingerprint sensor 914 identifies the user according to the collected fingerprint. Upon recognizing that the user's identity is a trusted identity, processor 901 authorizes the user to perform relevant sensitive operations including unlocking the screen, viewing encrypted information, downloading software, paying, and changing settings, etc. The fingerprint sensor 914 may be disposed on the front, back, or side of the computer device 900. When a physical key or vendor Logo is provided on the computer device 900, the fingerprint sensor 914 may be integrated with the physical key or vendor Logo.
The optical sensor 915 is used to collect ambient light intensity. In one embodiment, the processor 901 may control the display brightness of the touch display 905 based on the ambient light intensity collected by the optical sensor 915. Specifically, when the ambient light intensity is high, the display brightness of the touch display screen 905 is increased; when the ambient light intensity is low, the display brightness of the touch display screen 905 is turned down. In another embodiment, the processor 901 can also dynamically adjust the shooting parameters of the camera assembly 906 according to the ambient light intensity collected by the optical sensor 915.
The proximity sensor 916, also known as a distance sensor, is typically disposed on a front panel of the computer device 900. The proximity sensor 916 is used to capture the distance between the user and the front of the computer device 900. In one embodiment, the touch display 905 is controlled by the processor 901 to switch from a bright screen state to a dark screen state when the proximity sensor 916 detects that the distance between the user and the front face of the computer device 900 is gradually decreased; when the proximity sensor 916 detects that the distance between the user and the front of the computer device 900 becomes gradually larger, the touch display 905 is controlled by the processor 901 to switch from the breath screen state to the bright screen state.
Those skilled in the art will appreciate that the configuration illustrated in FIG. 9 is not intended to be limiting of the computer device 900 and may include more or fewer components than those illustrated, or some components may be combined, or a different arrangement of components may be employed.
In an exemplary embodiment, a non-transitory computer readable storage medium including instructions, such as a memory including at least one instruction, at least one program, set of codes, or set of instructions, executable by a processor to perform all or part of the steps of the method shown in the corresponding embodiment of fig. 3 or fig. 4 is also provided.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
It will be understood that the present application is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (15)

1. A method for controlling video frame rate, the method comprising:
the method comprises the steps of obtaining a video playing performance index of a terminal in a specified time interval, wherein the video playing performance index is used for indicating the performance of the terminal in playing a video frame sent by a server instantly; the specified time interval is a specified length time interval before the current time;
acquiring the relation between the video playing performance index and an index threshold;
and when the relation between the video playing performance index and the index threshold value meets the specified relation, adjusting the frame rate of the video frame sent to the terminal by the server.
2. The method of claim 1,
the video playing performance indexes comprise: at least one of a decode buffer, a decode delay, a decode elapsed time, and a render elapsed time;
wherein the decoding buffer is a buffer amount of video frames which have been received and are not decoded by the terminal.
3. The method of claim 1, wherein the metric threshold comprises a first metric threshold and a second metric threshold, the first metric threshold being higher than the second metric threshold;
when the relationship between the video playing performance index and the index threshold value satisfies a specified relationship, before adjusting the frame rate of the video frame sent by the server to the terminal, the method further includes:
when the video playing performance index is higher than the first index threshold, determining that the video playing performance index and the first index threshold satisfy a first specified relationship;
and when the video playing performance index is lower than the second index threshold, determining that the video playing performance index and the second index threshold satisfy a second specified relation.
4. The method of claim 3, wherein the adjusting the frame rate of the video frames sent by the server to the terminal comprises:
when the video playing performance index and the first index threshold value meet the first specified relationship and the first frame rate of the video frames sent to the terminal by the server at the current moment is higher than the lower limit of the frame rate, adjusting the frame rate of the video frames sent to the terminal by the server to be a second frame rate, wherein the second frame rate is lower than the first frame rate;
when the video playing performance index and the second index threshold value meet the second specified relationship, and the first frame rate of the video frames sent to the terminal by the server at the current moment is lower than the upper limit of the frame rate, adjusting the frame rate of the video frames sent to the terminal by the server to be a third frame rate, wherein the third frame rate is higher than the first frame rate.
5. The method of claim 4, wherein before adjusting the frame rate of the video frames sent by the server to the terminal to the second frame rate, the method further comprises:
and reducing the step length of the appointed frame rate on the basis of the first frame rate to obtain the second frame rate.
6. The method of claim 4, wherein before adjusting the frame rate of the video frames sent by the server to the terminal to the second frame rate, the method further comprises:
and increasing the step length of the appointed frame rate on the basis of the first frame rate to obtain the third frame rate.
7. The method of claim 5 or 6, further comprising:
obtaining an adjusting mode of last frame rate adjustment;
and updating the step length of the appointed frame rate according to the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment.
8. The method as claimed in claim 7, wherein the updating the specified frame rate step according to the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment comprises:
when the adjustment mode of the last frame rate adjustment is to increase the frame rate, and the adjustment mode of the current frame rate adjustment is to decrease the frame rate; or, when the adjustment mode of the last frame rate adjustment is to reduce the frame rate and the adjustment mode of the current frame rate adjustment is to increase the frame rate, reducing the specified frame rate step by the unit frame rate.
9. The method as claimed in claim 7, wherein the updating the specified frame rate step according to the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment comprises:
when the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment are both frame rate reduction; or, when the adjustment mode of the last frame rate adjustment and the adjustment mode of the current frame rate adjustment are frame rate up, increasing the specified frame rate step length by a unit frame rate.
10. The method of claim 4, wherein before adjusting the frame rate of the video frames sent by the server to the terminal to the second frame rate, the method further comprises:
and acquiring the second frame rate according to the difference value between the video playing performance index and the first index threshold value.
11. The method of claim 4, wherein before adjusting the frame rate of the video frames sent by the server to the terminal to the third frame rate, the method further comprises:
and acquiring the third frame rate according to the difference value between the video playing performance index and the second index threshold.
12. The method according to claim 2, wherein when the video playing performance indicator includes a decoding buffer, the obtaining of the video playing performance indicator of the terminal in a specified time interval includes:
acquiring the sum of the decoding buffers of the terminal at each time point in the appointed time interval as the decoding buffer of the terminal in the appointed time interval;
alternatively, the first and second electrodes may be,
and acquiring the average value of the decoding buffers of the terminal at each time point in the appointed time interval as the decoding buffer of the terminal in the appointed time interval.
13. An apparatus for controlling a video frame rate, the apparatus comprising:
the system comprises a performance index acquisition module, a video playing performance index acquisition module and a video playing performance index acquisition module, wherein the performance index acquisition module is used for acquiring the video playing performance index of a terminal in a specified time interval, and the video playing performance index is used for indicating the performance of the terminal in playing a video frame sent by a server in real time; the specified time interval is a specified length time interval before the current time;
the relation acquisition module is used for acquiring the relation between the video playing performance index and an index threshold value;
and the frame rate adjusting module is used for adjusting the frame rate of the video frames sent to the terminal by the server when the relation between the video playing performance index and the index threshold value meets the specified relation.
14. A computer device comprising a processor and a memory, wherein at least one instruction, at least one program, a set of codes, or a set of instructions is stored in the memory, and wherein the at least one instruction, the at least one program, the set of codes, or the set of instructions is loaded and executed by the processor to implement the video frame rate control method in a virtual scene according to any one of claims 1 to 12.
15. A computer readable storage medium having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, which is loaded and executed by a processor to implement the video frame rate control method according to any one of claims 1 to 12.
CN201911114447.0A 2019-11-14 2019-11-14 Video frame rate control method and device, computer equipment and storage medium Active CN110881136B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911114447.0A CN110881136B (en) 2019-11-14 2019-11-14 Video frame rate control method and device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911114447.0A CN110881136B (en) 2019-11-14 2019-11-14 Video frame rate control method and device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN110881136A true CN110881136A (en) 2020-03-13
CN110881136B CN110881136B (en) 2021-11-02

Family

ID=69729611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911114447.0A Active CN110881136B (en) 2019-11-14 2019-11-14 Video frame rate control method and device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN110881136B (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385637A (en) * 2020-03-18 2020-07-07 Oppo广东移动通信有限公司 Media data encoding method and device and electronic equipment
CN112423124A (en) * 2020-11-20 2021-02-26 广州欢网科技有限责任公司 Dynamic playing method, device and system based on large-screen video player
CN112587920A (en) * 2020-12-01 2021-04-02 Oppo(重庆)智能科技有限公司 Device control method, device, electronic device and storage medium
CN112689111A (en) * 2020-12-21 2021-04-20 峰米(北京)科技有限公司 Video processing method, device, terminal and storage medium
CN112788235A (en) * 2020-12-31 2021-05-11 深圳追一科技有限公司 Image processing method, image processing device, terminal equipment and computer readable storage medium
CN113098946A (en) * 2021-03-26 2021-07-09 西安万像电子科技有限公司 Cloud desktop scene identification method and device, storage medium and electronic device
CN113395592A (en) * 2020-11-18 2021-09-14 腾讯科技(北京)有限公司 Video playing control method, device, equipment and computer storage medium
CN113691862A (en) * 2020-05-19 2021-11-23 深圳市环球数码科技有限公司 Video processing method, electronic equipment for video playing and video playing system
WO2022052102A1 (en) * 2020-09-14 2022-03-17 华为技术有限公司 Communication method and apparatus
WO2022083326A1 (en) * 2020-10-20 2022-04-28 华为技术有限公司 Method and apparatus for displaying scroll bar, and electronic device and readable storage medium
CN114727011A (en) * 2022-03-07 2022-07-08 深圳创维-Rgb电子有限公司 Camera optimization method and device, electronic equipment and readable storage medium
CN114827668A (en) * 2022-03-23 2022-07-29 百果园技术(新加坡)有限公司 Video gear selection method, device and equipment based on decoding capability
CN115278289A (en) * 2022-09-27 2022-11-01 海马云(天津)信息技术有限公司 Cloud application rendering video frame processing method and device
CN115623248A (en) * 2022-12-19 2023-01-17 腾讯科技(深圳)有限公司 Data processing method, frame rate adjustment method, device, equipment and computer medium
WO2023045649A1 (en) * 2021-09-26 2023-03-30 腾讯科技(深圳)有限公司 Video frame playing method and apparatus, and device, storage medium and program product
WO2023151489A1 (en) * 2022-02-10 2023-08-17 百果园技术(新加坡)有限公司 Video processing method, apparatus and device, and storage medium
CN116684668A (en) * 2023-08-03 2023-09-01 湖南马栏山视频先进技术研究院有限公司 Self-adaptive video frame processing method and playing terminal

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100303146A1 (en) * 2009-05-26 2010-12-02 Yaniv Kamay Mechanism for dynamically changing streaming video quality
CN103167318A (en) * 2011-12-13 2013-06-19 中国电信股份有限公司 Streaming media processing method, device, server and system
US20140028779A1 (en) * 2012-07-30 2014-01-30 Kabushiki Kaisha Toshiba Video transmitting apparatus and video transmitting method
CN104244083A (en) * 2014-10-08 2014-12-24 联想(北京)有限公司 Online video downloading method and electronic device
CN104580067A (en) * 2013-10-11 2015-04-29 北京大学 Multiserver-based stream media transmitting device and stream media transmitting method
CN105657321A (en) * 2015-11-09 2016-06-08 乐视致新电子科技(天津)有限公司 Adaptive video definition adjusting method, apparatus and terminal
CN108966008A (en) * 2018-08-02 2018-12-07 腾讯科技(深圳)有限公司 Live video back method and device
CN110149555A (en) * 2018-08-14 2019-08-20 腾讯科技(深圳)有限公司 Method for processing video frequency and video receiving apparatus

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100303146A1 (en) * 2009-05-26 2010-12-02 Yaniv Kamay Mechanism for dynamically changing streaming video quality
CN103167318A (en) * 2011-12-13 2013-06-19 中国电信股份有限公司 Streaming media processing method, device, server and system
US20140028779A1 (en) * 2012-07-30 2014-01-30 Kabushiki Kaisha Toshiba Video transmitting apparatus and video transmitting method
CN104580067A (en) * 2013-10-11 2015-04-29 北京大学 Multiserver-based stream media transmitting device and stream media transmitting method
CN104244083A (en) * 2014-10-08 2014-12-24 联想(北京)有限公司 Online video downloading method and electronic device
CN105657321A (en) * 2015-11-09 2016-06-08 乐视致新电子科技(天津)有限公司 Adaptive video definition adjusting method, apparatus and terminal
CN108966008A (en) * 2018-08-02 2018-12-07 腾讯科技(深圳)有限公司 Live video back method and device
CN110149555A (en) * 2018-08-14 2019-08-20 腾讯科技(深圳)有限公司 Method for processing video frequency and video receiving apparatus

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385637A (en) * 2020-03-18 2020-07-07 Oppo广东移动通信有限公司 Media data encoding method and device and electronic equipment
CN113691862A (en) * 2020-05-19 2021-11-23 深圳市环球数码科技有限公司 Video processing method, electronic equipment for video playing and video playing system
CN113691862B (en) * 2020-05-19 2023-09-01 深圳市环球数码科技有限公司 Video processing method, electronic device for video playing and video playing system
WO2022052102A1 (en) * 2020-09-14 2022-03-17 华为技术有限公司 Communication method and apparatus
WO2022083326A1 (en) * 2020-10-20 2022-04-28 华为技术有限公司 Method and apparatus for displaying scroll bar, and electronic device and readable storage medium
CN113395592A (en) * 2020-11-18 2021-09-14 腾讯科技(北京)有限公司 Video playing control method, device, equipment and computer storage medium
CN112423124A (en) * 2020-11-20 2021-02-26 广州欢网科技有限责任公司 Dynamic playing method, device and system based on large-screen video player
CN112587920A (en) * 2020-12-01 2021-04-02 Oppo(重庆)智能科技有限公司 Device control method, device, electronic device and storage medium
CN112689111B (en) * 2020-12-21 2023-04-07 峰米(北京)科技有限公司 Video processing method, device, terminal and storage medium
CN112689111A (en) * 2020-12-21 2021-04-20 峰米(北京)科技有限公司 Video processing method, device, terminal and storage medium
CN112788235A (en) * 2020-12-31 2021-05-11 深圳追一科技有限公司 Image processing method, image processing device, terminal equipment and computer readable storage medium
CN112788235B (en) * 2020-12-31 2022-01-28 深圳追一科技有限公司 Image processing method, image processing device, terminal equipment and computer readable storage medium
CN113098946A (en) * 2021-03-26 2021-07-09 西安万像电子科技有限公司 Cloud desktop scene identification method and device, storage medium and electronic device
CN113098946B (en) * 2021-03-26 2023-12-22 西安万像电子科技有限公司 Cloud desktop scene identification method and device, storage medium and electronic device
WO2023045649A1 (en) * 2021-09-26 2023-03-30 腾讯科技(深圳)有限公司 Video frame playing method and apparatus, and device, storage medium and program product
WO2023151489A1 (en) * 2022-02-10 2023-08-17 百果园技术(新加坡)有限公司 Video processing method, apparatus and device, and storage medium
CN114727011A (en) * 2022-03-07 2022-07-08 深圳创维-Rgb电子有限公司 Camera optimization method and device, electronic equipment and readable storage medium
CN114827668A (en) * 2022-03-23 2022-07-29 百果园技术(新加坡)有限公司 Video gear selection method, device and equipment based on decoding capability
CN114827668B (en) * 2022-03-23 2024-02-13 百果园技术(新加坡)有限公司 Video gear selection method, device and equipment based on decoding capability
CN115278289A (en) * 2022-09-27 2022-11-01 海马云(天津)信息技术有限公司 Cloud application rendering video frame processing method and device
CN115623248A (en) * 2022-12-19 2023-01-17 腾讯科技(深圳)有限公司 Data processing method, frame rate adjustment method, device, equipment and computer medium
CN116684668A (en) * 2023-08-03 2023-09-01 湖南马栏山视频先进技术研究院有限公司 Self-adaptive video frame processing method and playing terminal
CN116684668B (en) * 2023-08-03 2023-10-20 湖南马栏山视频先进技术研究院有限公司 Self-adaptive video frame processing method and playing terminal

Also Published As

Publication number Publication date
CN110881136B (en) 2021-11-02

Similar Documents

Publication Publication Date Title
CN110881136B (en) Video frame rate control method and device, computer equipment and storage medium
CN108495142B (en) Video coding method and device
CN111372126B (en) Video playing method, device and storage medium
CN108966008B (en) Live video playback method and device
US11388403B2 (en) Video encoding method and apparatus, storage medium, and device
WO2019140952A1 (en) Video encoding method, device, apparatus and storage medium
CN108833963B (en) Method, computer device, readable storage medium and system for displaying interface picture
CN109788303B (en) Live video stream pushing method and device, electronic equipment and storage medium
CN111417006A (en) Video screen projection method, device, terminal and storage medium
CN109120933B (en) Method, device and equipment for dynamically adjusting code rate and storage medium
CN109951398B (en) Data sending method and device and computer equipment
CN111586431B (en) Method, device and equipment for live broadcast processing and storage medium
CN108769738B (en) Video processing method, video processing device, computer equipment and storage medium
CN111586413B (en) Video adjusting method and device, computer equipment and storage medium
CN111813367A (en) Method, device and equipment for adjusting volume and storage medium
CN110996117B (en) Video transcoding method and device, electronic equipment and storage medium
CN108845777B (en) Method and device for playing frame animation
CN111787347A (en) Live broadcast time length calculation method, live broadcast display method, device and equipment
CN107888975B (en) Video playing method, device and storage medium
CN111083554A (en) Method and device for displaying live gift
WO2021143388A1 (en) Bitrate switching method and device
CN109714628B (en) Method, device, equipment, storage medium and system for playing audio and video
CN110113669B (en) Method and device for acquiring video data, electronic equipment and storage medium
CN110543403A (en) power consumption evaluation method and device
CN110321059B (en) Data processing method, device and computer readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40022265

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant