CN114501083A - Code rate adjusting method, device, equipment, medium and program product - Google Patents

Code rate adjusting method, device, equipment, medium and program product Download PDF

Info

Publication number
CN114501083A
CN114501083A CN202210116766.0A CN202210116766A CN114501083A CN 114501083 A CN114501083 A CN 114501083A CN 202210116766 A CN202210116766 A CN 202210116766A CN 114501083 A CN114501083 A CN 114501083A
Authority
CN
China
Prior art keywords
code rate
key frame
video stream
frame retransmission
retransmission request
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.)
Pending
Application number
CN202210116766.0A
Other languages
Chinese (zh)
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202210116766.0A priority Critical patent/CN114501083A/en
Publication of CN114501083A publication Critical patent/CN114501083A/en
Pending legal-status Critical Current

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The disclosure provides a code rate adjusting method, a code rate adjusting device, code rate adjusting equipment, a code rate adjusting medium and a program product, relates to the field of computers, particularly to the field of cloud computing, and can be applied to scenes such as cloud desktops. The specific implementation scheme is as follows: acquiring a key frame retransmission request initiated by a cloud desktop client; and adjusting the first code rate of the current transmitted video stream data according to the key frame retransmission request. According to the technical scheme of the embodiment of the disclosure, the cloud desktop video playing fluency can be improved when the network bandwidth is insufficient.

Description

Code rate adjusting method, device, equipment, medium and program product
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method, an apparatus, a device, a medium, and a program product for adjusting a code rate.
Background
With the rapid development of the cloud computing field, the cloud desktop is applied to more and more scenes, such as a mobile teaching scene, a mobile office scene and the like. The cloud desktop technology can deliver the display content of the cloud server to the local desktop, and the user experience almost the same as that of the server is provided.
The cloud desktop video stream is transmitted to the client side depending on a network, under the condition that network signals are poor, the client side can have the condition that the interface is jammed or not clear, and how to guarantee the playing fluency of the cloud desktop video stream at the client side is very important for improving user experience.
Disclosure of Invention
The disclosure provides a code rate adjustment method, apparatus, device, medium, and program product.
According to an aspect of the present disclosure, there is provided a code rate adjustment method, including:
acquiring a key frame retransmission request initiated by a cloud desktop client;
and adjusting the first code rate of the current transmitted video stream data according to the key frame retransmission request.
According to another aspect of the present disclosure, there is provided a code rate adjusting apparatus, including:
the system comprises a retransmission request acquisition module, a retransmission request acquisition module and a retransmission request processing module, wherein the retransmission request acquisition module is used for acquiring a key frame retransmission request initiated by a cloud desktop client; and the code rate adjusting module is used for adjusting the first code rate of the currently sent video stream data according to the key frame retransmission request.
According to another aspect of the present disclosure, there is provided an electronic device including:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the code rate adjustment method of any of the embodiments of the present disclosure.
According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the code rate adjustment method of any of the embodiments of the present disclosure.
According to another aspect of the present disclosure, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the code rate adjustment method of any of the embodiments of the present disclosure.
According to the embodiment of the disclosure, when the network bandwidth is insufficient, the cloud desktop video playing fluency is improved.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present disclosure, nor do they limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The drawings are included to provide a better understanding of the present solution and are not to be construed as limiting the present disclosure. Wherein:
fig. 1a is a schematic diagram of a code rate adjustment method according to an embodiment of the present disclosure;
fig. 1b is a schematic diagram of a cloud desktop system provided in accordance with an embodiment of the present disclosure;
fig. 2 is a schematic diagram of another code rate adjustment method provided in accordance with an embodiment of the present disclosure;
fig. 3 is a schematic diagram of another code rate adjustment method provided in accordance with an embodiment of the present disclosure;
fig. 4 is a signaling diagram of a cloud desktop client and a video streaming push streaming service provided according to an embodiment of the present disclosure;
fig. 5 is a schematic diagram of a code rate adjustment apparatus according to an embodiment of the disclosure;
fig. 6 is a block diagram of an electronic device for implementing a code rate adjustment method according to an embodiment of the disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the disclosure are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Fig. 1a is a flowchart of a code rate adjustment method disclosed in an embodiment of the present disclosure, which may be applied to a case of performing code rate adjustment according to a key frame retransmission request. The method of this embodiment may be executed by a code rate adjustment device, which may be implemented in a software and/or hardware manner and is specifically configured in an electronic device with a certain data operation capability, where the electronic device may be a client device or a server device, and the client device may be, for example, a mobile phone, a tablet computer, a vehicle-mounted terminal, a desktop computer, and the like.
S110, acquiring a key frame retransmission request initiated by the cloud desktop client.
The key frame is an I frame, and in the video coding in the prior art, the I frame, the P frame and the B frame are generally used for coding transmission. I frames are mainly encoded with reference to the current frame, P frames are mainly encoded with reference to I frames or P frames, and B frames are generally encoded with reference to I frames, P frames, or B frames. Therefore, under the condition of poor network quality, in order to ensure the integrity of the video stream interface, the cloud desktop client sends a key frame retransmission request to the video stream push streaming service in the cloud desktop system.
As shown in fig. 1b, the cloud desktop system architecture is an ARM chip server, and the ARM chip server may include a CPU, a Mali GPU (Graphics Processing Unit, mary Graphics processor), an NIC (Network Interface Controller), and the like. The LINUX operating system is operated in the ARM chip server, and parameters such as Namespace, Cgroup, Overlayfs, Veth and the like of a LINUX kernel are configured in the LINUX operating system, so that the LINUX operating system can support the container manager. The container manager is used for creating, managing and destroying the container, and specifically, after the container is created in the cloud server, the cloud desktop system is operated by loading the cloud desktop mirror image file in the container. The cloud desktop image file comprises a cloud desktop operating system, a real-time control stream server and a video stream plug-flow service. The cloud desktop operating system is used for executing a cloud desktop control instruction sent by the client, the video stream plug-flow service is used for sending the video stream of the cloud desktop to the client, and the real-time control stream service is used for transmitting the cloud desktop control instruction sent by the client to the cloud desktop operating system and meeting different using requirements of a client user. Various third-party applications, such as entertainment applications, office applications or communication applications, can be installed and run in the cloud desktop operating system. Notably, the video streaming push flow service and the real-time control flow service in the cloud desktop system are services developed based on an ARM chip server and used for interacting with the cloud desktop system and the client.
The key frame retransmission request is a request sent by the cloud desktop client to the video stream push streaming service in the cloud desktop system, and is used for instructing the video stream push streaming service to retransmit the key frame to the cloud desktop client so as to ensure the integrity of a cloud desktop video stream interface. Illustratively, the key frame retransmission request is a PLI message.
In the embodiment of the disclosure, the video streaming push service sends the cloud desktop video streaming data to the cloud desktop client depending on the network. When the network bandwidth is insufficient, the cloud desktop client plays a cloud desktop video, and the conditions of interface jamming or mosaic and the like easily occur on the interface, so that the use experience of a cloud desktop user is influenced. At this time, the cloud desktop client sends a key frame retransmission request to the video stream push streaming service to ensure the integrity of the cloud desktop video interface.
And S120, adjusting the first code rate of the currently sent video stream data according to the key frame retransmission request.
The first bitrate is a default bitrate of the video stream data sent by the video stream push streaming service to the cloud desktop client, and is 10Mbps as an example. After the video stream push service acquires a video stream data acquisition request sent by the cloud desktop client, the video stream push service sends the video stream data to the cloud desktop client according to the first code rate.
In the embodiment of the disclosure, after the video stream push service obtains the key frame retransmission request sent by the cloud desktop client, the first code rate of the currently sent video stream data can be adjusted according to the key frame retransmission request. Specifically, the video stream plug-flow service receives a key frame retransmission request sent by the cloud desktop client, which indicates that the current network condition is bad, and can reduce the code rate of the current sent video stream data to ensure the integrity of the cloud desktop video stream in order to alleviate the problem of video fluency.
In a specific example, after acquiring a key frame retransmission request sent by a cloud desktop client, a video stream push streaming service retransmits the key frame to the cloud desktop client, and at the same time, adjusts a first code rate of currently sent video stream data to a second code rate, where the second code rate is lower than the first code rate.
In another specific example, after the video stream push streaming service acquires a key frame retransmission request sent by the cloud desktop client, counting the key frame retransmission request, if the acquired key frame retransmission request exceeds a quantity threshold within a set time length, adjusting a first code rate of currently sent video stream data to a lower second code rate, and resetting the count. For example, the first code rate is 10Mbps, and the second code rate is 5 Mbps. If the obtained key frame retransmission request does not exceed the number threshold within the set time length, the video stream data is continuously sent according to the first code rate, the count is cleared, and the count is re-counted when the key frame retransmission request is received again.
According to the technical scheme of the embodiment, the video stream plug-flow service in the cloud desktop system obtains the key frame retransmission request initiated by the cloud desktop client, and adjusts the first code rate of the currently sent video stream data according to the key frame retransmission request, so that the playing fluency of the cloud desktop video stream can be improved under the condition of insufficient network bandwidth.
Fig. 2 is a schematic diagram of a code rate adjustment method in the embodiment of the present disclosure, which is further refined on the basis of the above embodiment and provides a specific step of adjusting a first code rate of currently transmitted video stream data according to the key frame retransmission request. A code rate adjustment method provided in the embodiment of the present disclosure is described below with reference to fig. 2, which includes the following steps:
s210, acquiring a key frame retransmission request initiated by the cloud desktop client.
And S220, counting the received key frame retransmission requests in a target time interval with the acquired key frame retransmission requests as a starting point.
In the embodiment of the present disclosure, after obtaining the key frame retransmission request, the video streaming push service counts the received key frame retransmission requests in a target time interval with the time of receiving the key frame retransmission request as a starting point. Specifically, within a period of time from the reception of the key frame retransmission request, the received key frame retransmission request is counted, so as to adjust the code rate according to the counting result.
In a specific example, after a key frame retransmission request sent by a cloud desktop client is received, a key frame is retransmitted to the cloud desktop client, and meanwhile, within 2 seconds from the time the key frame retransmission request is received, the key frame retransmission request is counted, so that the code rate for sending video stream data is adjusted according to the frequency of receiving the key frame retransmission request.
And S230, adjusting the first code rate of the current transmitted video stream data according to the counting result of the key frame retransmission request.
In the embodiment of the disclosure, the key frame retransmission requests are counted in the target time interval, and the first code rate of the currently transmitted video stream data is adjusted according to the counting result. Specifically, if the number of received key frame retransmission requests in the target time interval exceeds a preset number threshold, the first code rate of the currently transmitted video stream data may be adjusted to the second code rate, and the second code rate is lower than the first code rate. And code rate adjustment is performed according to the counting result of the key frame retransmission request, the required calculation amount is small, and the real-time property of code rate adjustment can be improved.
In a specific example, within 2 seconds from the time of receiving the key frame retransmission request sent by the cloud desktop client, counting the key frame retransmission request, and if the number of key frame retransmission requests received within 2 seconds exceeds 10 times, which indicates that the current network signal is poor, adjusting the first code rate low. And if the number of the received key frame retransmission requests does not exceed 10 times within 2 seconds, continuously sending the video stream data to the cloud desktop client according to the first code rate.
Optionally, adjusting the first code rate of the currently sent video stream data according to the counting result of the key frame retransmission request includes:
under the condition that the received key frame retransmission request reaches the request quantity threshold value in the target time interval, regulating the first code rate of the currently transmitted video stream data to be a second code rate; the second code rate is lower than the first code rate;
and clearing the counting result of the key frame retransmission request.
In this optional embodiment, a specific way of adjusting the first code rate of the currently transmitted video stream data according to the counting result of the key frame retransmission request is provided: and under the condition that the received key frame retransmission request in the target time interval reaches the request quantity threshold, regulating a first code rate of the currently transmitted video stream data to a second code rate lower than the first code rate. Meanwhile, the counting result of the key frame retransmission request is cleared. By counting the key frame retransmission requests in the target time interval and carrying out code rate adjustment according to the counting result, the calculation amount is small, the real-time performance of code rate adjustment can be improved, and the integrity and the playing fluency of a cloud desktop video stream interface are ensured when the network bandwidth is insufficient.
Illustratively, within 2 seconds from the beginning of the first time of receiving the key frame retransmission request, counting the received key frame retransmission requests, and if the number of the received key frame retransmission requests reaches 10 times at the end of the 1 st second, directly adjusting the first code rate of the currently transmitted video stream data to be the second code rate, and clearing the counting result of the key frame retransmission requests.
Optionally, the adjusting the first code rate of the currently sent video stream data according to the counting result of the key frame retransmission request further includes:
under the condition that the key frame retransmission request acquired in the target time interval is smaller than the request quantity threshold, continuously transmitting video stream data according to the first code rate;
and clearing the counting result of the key frame retransmission request.
In this optional embodiment, a specific way of adjusting the first code rate of the currently sent video stream data according to the counting result of the key frame retransmission request is provided: when the number of the acquired key frame retransmission requests in the target time interval is smaller than the request number threshold, the video stream data can be continuously transmitted according to the first code rate, and when the time point of the target time interval ending is reached, the counting result of the key frame retransmission requests is cleared. On one hand, the key frame retransmission requests are counted in the target time interval, code rate adjustment is carried out according to counting results, the calculated amount is small, the real-time performance of code rate adjustment can be improved, on the other hand, when the number of the key frame retransmission requests in the target time interval is smaller than the threshold value of the number of the requests, the code rate is not adjusted, and the situation that the user experience is influenced due to frequent code rate adjustment when the network is unstable can be avoided.
According to the technical scheme of the embodiment, the key frame retransmission request initiated by the cloud desktop client is obtained, the received key frame retransmission request is counted in the target time interval with the obtained key frame retransmission request as the starting point, the first code rate of the currently sent video stream data is adjusted according to the counting result, the fluency of a cloud desktop video stream interface can be guaranteed under the condition of poor network state, the code rate is adjusted according to the counting condition of the key frame retransmission request, the calculation amount can be reduced, and the code rate adjustment real-time performance is improved.
Fig. 3 is a schematic diagram of a code rate adjustment method in the embodiment of the present disclosure, which is further refined on the basis of the above embodiment and provides specific steps after adjusting a code rate for sending video stream data and before acquiring a key frame retransmission request initiated by a cloud desktop client. A code rate adjustment method provided in the embodiment of the present disclosure is described below with reference to fig. 3, which includes the following steps:
s310, responding to a video stream data acquisition request initiated by the cloud desktop client, and sending the video stream data to the cloud desktop client according to the first code rate.
In the embodiment of the disclosure, video stream data transmission in a cloud desktop scene relates to a mouse event, a keyboard event and the like initiated by a client, in order to enable a cloud desktop user to have experience the same as or better than that of using local equipment when using a cloud desktop, after receiving a video stream data acquisition request initiated by the cloud desktop client, a video stream push service sends video stream data to the cloud desktop client according to a first code rate, so that the efficiency of video stream data transmission can be ensured, and the use experience of the cloud desktop user can be improved.
And S320, acquiring a key frame retransmission request initiated by the cloud desktop client.
S330, adjusting the first code rate of the current transmitted video stream data according to the key frame retransmission request.
And S340, after the code rate of the transmitted video stream data is adjusted, timing is started.
In the embodiment of the disclosure, under the condition of poor network bandwidth, after the first code rate is adjusted, the real-time performance of the transmission of the cloud desktop video stream data is relatively reduced. Therefore, in order to ensure the user experience, it is still necessary to continue monitoring the network condition and restore the code rate to the first code rate after the network is restored. Specifically, after the code rate for sending the video stream data is adjusted, timing is started to determine whether to recover the code rate for transmitting the video stream data to the first code rate according to the duration of the unreceived key frame retransmission request.
And S350, under the condition that the key frame retransmission request is not received within the continuous set time, the code rate for sending the video stream data is adjusted back to the first code rate.
In the embodiment of the disclosure, when the key frame retransmission request is not received for the continuously set duration, it is determined that the current network has recovered to be normal, and the current network bandwidth is sufficient, and at this time, the code rate for sending the video stream data can be recovered to the first code rate.
In a specific example, after the first code rate (10Mbps) is adjusted to 5Mbps, timing is started, if no key frame retransmission request is received within 5 seconds continuously, the network is considered to be recovered to be normal, and the code rate for sending the video stream data is recovered to the first code rate, so that the fluency of a cloud desktop video stream interface can be ensured under the adverse condition of the network, and the code rate can be timely recovered to the first code rate after the network is recovered, so that the real-time property of the cloud desktop video stream data transmission is ensured, and the influence of network instability on a cloud desktop user is reduced.
According to the technical scheme of the embodiment of the disclosure, the video stream plug-flow service responds to a video stream data acquisition request initiated by the cloud desktop client and sends the video stream data to the cloud desktop client according to the first code rate. Furthermore, after a key frame retransmission request initiated by the cloud desktop client is acquired, a first code rate of the currently sent video stream data is adjusted according to the key frame retransmission request, timing is started after the code rate of the sent video stream data is adjusted, and the code rate of the sent video stream data is adjusted back to the first code rate under the condition that the key frame retransmission request is not received within a continuously set time length, so that the fluency of a cloud desktop video stream interface can be ensured under the bad condition of a network, the code rate can be timely restored to the first code rate after the network is restored, and the influence of network instability on a cloud desktop user is reduced.
Fig. 4 is a signaling diagram between a cloud desktop client and a video streaming push streaming service provided according to an embodiment of the present disclosure.
S410, the cloud desktop client initiates a video stream data acquisition request to the video stream push streaming service.
And S420, the video stream push service sends the video stream data to the cloud desktop client according to the first code rate.
S430, the cloud desktop client sends a key frame retransmission request to the video streaming push-streaming service under the condition of insufficient network bandwidth;
s440, the video streaming push service retransmits the key frame, and counts the received key frame retransmission requests in a target time interval with the acquired key frame retransmission requests as a starting point.
S450, under the condition that the received key frame retransmission request in the target time interval reaches the request quantity threshold value, adjusting the first code rate of the currently sent video stream data to be a second code rate; the second code rate is lower than the first code rate.
And S460, under the condition that the key frame retransmission request acquired in the target time interval is smaller than the request quantity threshold, continuing to transmit the video stream data according to the first code rate.
And S470, after the code rate of the transmitted video stream data is adjusted, timing is started, and the code rate of the transmitted video stream data is adjusted back to the first code rate under the condition that the key frame retransmission request is not received within the continuous set time.
According to the technical scheme of the embodiment, the video stream plug-flow service in the cloud desktop system obtains the key frame retransmission request initiated by the cloud desktop client, and adjusts the first code rate of the currently sent video stream data according to the key frame retransmission request, so that the playing fluency of the cloud desktop video stream can be improved under the condition of insufficient network bandwidth.
Fig. 5 is a structural diagram of a code rate adjustment apparatus in an embodiment of the present disclosure, and the embodiment of the present disclosure is applicable to a case of performing code rate adjustment according to a key frame retransmission request. The device is realized by software and/or hardware and is specifically configured in electronic equipment with certain data operation capacity.
A code rate adjustment apparatus 500 shown in fig. 5 comprises: a retransmission request obtaining module 510 and a code rate adjusting module 520; wherein the content of the first and second substances,
a retransmission request obtaining module 510, configured to obtain a key frame retransmission request initiated by a cloud desktop client;
and a code rate adjusting module 520, configured to adjust a first code rate of the currently sent video stream data according to the key frame retransmission request.
According to the technical scheme of the embodiment, the video stream plug-flow service in the cloud desktop system obtains the key frame retransmission request initiated by the cloud desktop client, and adjusts the first code rate of the currently sent video stream data according to the key frame retransmission request, so that the playing fluency of the cloud desktop video stream can be improved under the condition of insufficient network bandwidth.
Further, the code rate adjusting module 520 includes:
the request counting unit is used for counting the received key frame retransmission requests in a target time interval with the obtained key frame retransmission requests as a starting point;
and the code rate adjusting unit is used for adjusting the first code rate of the currently sent video stream data according to the counting result of the key frame retransmission request.
Further, the code rate adjusting unit includes:
the first code rate adjusting subunit is configured to adjust a first code rate of currently transmitted video stream data to a second code rate when the number of received key frame retransmission requests reaches the request number threshold within the target time interval; the second code rate is lower than the first code rate;
and the first count zero clearing subunit is used for clearing the count result of the key frame retransmission request.
Further, the code rate adjusting apparatus 500 further includes:
the timing module is used for starting timing after the code rate of the transmitted video stream data is adjusted;
and the code rate callback module is used for calling back the code rate of the transmitted video stream data to the first code rate under the condition that the key frame retransmission request is not received within the continuous set duration.
Further, the code rate adjusting unit further includes:
a second code rate adjusting subunit, configured to continue to send video stream data according to the first code rate when the key frame retransmission request acquired within the target time interval is smaller than the request number threshold;
and the second count zero clearing subunit is used for clearing the count result of the key frame retransmission request.
Further, the code rate adjusting apparatus 500 further includes:
the video stream sending module is used for responding to a video stream data obtaining request initiated by a cloud desktop client before obtaining a key frame retransmission request initiated by the cloud desktop client, and sending video stream data to the cloud desktop client according to a first code rate.
The code rate adjusting device provided by the embodiment of the disclosure can execute the code rate adjusting method provided by any embodiment of the disclosure, and has corresponding functional modules and beneficial effects of the executing method.
In the technical scheme of the disclosure, the processes of collecting, storing, using, processing, transmitting, providing, disclosing and the like of the personal information of the related user all accord with the regulations of related laws and regulations, and do not violate the common customs of public order.
The present disclosure also provides an electronic device, a readable storage medium, and a computer program product according to embodiments of the present disclosure.
FIG. 6 illustrates a schematic block diagram of an example electronic device 600 that can be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 6, the apparatus 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM)602 or a computer program loaded from a storage unit 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The calculation unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
A number of components in the device 600 are connected to the I/O interface 605, including: an input unit 606 such as a keyboard, a mouse, or the like; an output unit 607 such as various types of displays, speakers, and the like; a storage unit 608, such as a magnetic disk, optical disk, or the like; and a communication unit 609 such as a network card, modem, wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The computing unit 601 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various dedicated Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, and so forth. The calculation unit 601 performs the various methods and processes described above, such as the rate adjustment method. For example, in some embodiments, the rate adjustment method may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 600 via the ROM 602 and/or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the rate adjustment method described above may be performed. Alternatively, in other embodiments, the calculation unit 601 may be configured to perform the rate adjustment method in any other suitable way (e.g. by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), system on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server combining a blockchain.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present disclosure may be executed in parallel, sequentially, or in different orders, and are not limited herein as long as the desired results of the technical solutions disclosed in the present disclosure can be achieved.
The above detailed description should not be construed as limiting the scope of the disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present disclosure should be included in the scope of protection of the present disclosure.

Claims (15)

1. A method for rate adjustment, comprising:
acquiring a key frame retransmission request initiated by a cloud desktop client;
and adjusting the first code rate of the current transmitted video stream data according to the key frame retransmission request.
2. The method of claim 1, wherein adjusting the first bitrate of currently transmitted video stream data in accordance with the key frame retransmission request comprises:
counting the received key frame retransmission requests in a target time interval with the obtained key frame retransmission requests as a starting point;
and adjusting the first code rate of the current transmitted video stream data according to the counting result of the key frame retransmission request.
3. The method of claim 2, wherein adjusting the first bitrate of the currently transmitted video stream data according to the counting result of the key frame retransmission requests comprises:
under the condition that the received key frame retransmission request reaches the request quantity threshold value in the target time interval, regulating the first code rate of the currently transmitted video stream data to be a second code rate; the second code rate is lower than the first code rate;
and clearing the counting result of the key frame retransmission request.
4. The method of claim 1, further comprising:
after the code rate of sending video stream data is adjusted, timing is started;
and under the condition that the key frame retransmission request is not received within the continuous set duration, the code rate for sending the video stream data is returned to the first code rate.
5. The method of claim 2, wherein adjusting the first bitrate of the currently transmitted video stream data according to the counting result of the key frame retransmission requests further comprises:
under the condition that the key frame retransmission request acquired in the target time interval is smaller than the request quantity threshold, continuously transmitting video stream data according to a first code rate;
and clearing the counting result of the key frame retransmission request.
6. The method of claim 1, before obtaining the key frame retransmission request initiated by the cloud desktop client, further comprising:
responding to a video stream data acquisition request initiated by a cloud desktop client, and sending the video stream data to the cloud desktop client according to a first code rate.
7. A code rate adjustment apparatus, comprising:
the system comprises a retransmission request acquisition module, a retransmission request acquisition module and a retransmission request processing module, wherein the retransmission request acquisition module is used for acquiring a key frame retransmission request initiated by a cloud desktop client;
and the code rate adjusting module is used for adjusting the first code rate of the currently sent video stream data according to the key frame retransmission request.
8. The apparatus of claim 7, wherein the code rate adjustment module comprises:
the request counting unit is used for counting the received key frame retransmission requests in a target time interval with the obtained key frame retransmission requests as a starting point;
and the code rate adjusting unit is used for adjusting the first code rate of the currently sent video stream data according to the counting result of the key frame retransmission request.
9. The apparatus of claim 8, wherein the code rate adjustment unit comprises:
the first code rate adjusting subunit is configured to adjust a first code rate of currently transmitted video stream data to a second code rate when the number of received key frame retransmission requests reaches the request number threshold within the target time interval; the second code rate is lower than the first code rate;
and the first count zero clearing subunit is used for clearing the count result of the key frame retransmission request.
10. The apparatus of claim 7, further comprising:
the timing module is used for starting timing after the code rate of the transmitted video stream data is adjusted;
and the code rate callback module is used for calling back the code rate of the transmitted video stream data to the first code rate under the condition that the key frame retransmission request is not received within the continuous set duration.
11. The apparatus of claim 8, wherein the code rate adjustment unit further comprises:
a second code rate adjusting subunit, configured to continue to send video stream data according to the first code rate when the key frame retransmission request acquired within the target time interval is smaller than the request number threshold;
and the second count zero clearing subunit is used for clearing the count result of the key frame retransmission request.
12. The apparatus of claim 7, further comprising:
the video stream sending module is used for responding to a video stream data obtaining request initiated by a cloud desktop client before obtaining a key frame retransmission request initiated by the cloud desktop client, and sending video stream data to the cloud desktop client according to a first code rate.
13. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the code rate adjustment method of any of claims 1-6.
14. A non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the code rate adjustment method according to any one of claims 1-6.
15. A computer program product comprising a computer program/instructions which, when executed by a processor, implement the code rate adjustment method according to any of claims 1-6.
CN202210116766.0A 2022-02-07 2022-02-07 Code rate adjusting method, device, equipment, medium and program product Pending CN114501083A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210116766.0A CN114501083A (en) 2022-02-07 2022-02-07 Code rate adjusting method, device, equipment, medium and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210116766.0A CN114501083A (en) 2022-02-07 2022-02-07 Code rate adjusting method, device, equipment, medium and program product

Publications (1)

Publication Number Publication Date
CN114501083A true CN114501083A (en) 2022-05-13

Family

ID=81477599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210116766.0A Pending CN114501083A (en) 2022-02-07 2022-02-07 Code rate adjusting method, device, equipment, medium and program product

Country Status (1)

Country Link
CN (1) CN114501083A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090158371A1 (en) * 2007-10-19 2009-06-18 Lawrence Lo System and Method for Communicating Among Multicast Transceivers
US20150117468A1 (en) * 2013-10-29 2015-04-30 Samsung Sds Co., Ltd. Apparatus and method for transmitting data
CN106850579A (en) * 2017-01-03 2017-06-13 北京飞讯数码科技有限公司 Streaming media self-adapting flow rate adjusting method and device
CN106937073A (en) * 2015-12-29 2017-07-07 展讯通信(上海)有限公司 Video calling code rate adjustment method, device and mobile terminal based on VoLTE
CN107333153A (en) * 2016-04-28 2017-11-07 华为技术有限公司 A kind of video transmission method, base station and system
CN111901642A (en) * 2020-07-31 2020-11-06 成都云格致力科技有限公司 Real-time video code rate self-adaptive control method and system based on reinforcement learning
CN113778593A (en) * 2021-08-24 2021-12-10 北京百度网讯科技有限公司 Cloud desktop control method and device, electronic equipment, storage medium and program product

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090158371A1 (en) * 2007-10-19 2009-06-18 Lawrence Lo System and Method for Communicating Among Multicast Transceivers
US20150117468A1 (en) * 2013-10-29 2015-04-30 Samsung Sds Co., Ltd. Apparatus and method for transmitting data
CN106937073A (en) * 2015-12-29 2017-07-07 展讯通信(上海)有限公司 Video calling code rate adjustment method, device and mobile terminal based on VoLTE
CN107333153A (en) * 2016-04-28 2017-11-07 华为技术有限公司 A kind of video transmission method, base station and system
CN106850579A (en) * 2017-01-03 2017-06-13 北京飞讯数码科技有限公司 Streaming media self-adapting flow rate adjusting method and device
CN111901642A (en) * 2020-07-31 2020-11-06 成都云格致力科技有限公司 Real-time video code rate self-adaptive control method and system based on reinforcement learning
CN113778593A (en) * 2021-08-24 2021-12-10 北京百度网讯科技有限公司 Cloud desktop control method and device, electronic equipment, storage medium and program product

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴建松;宋国新;: "移动环境中视频编码的码率控制算法研究" *

Similar Documents

Publication Publication Date Title
CN113259706B (en) Live broadcast processing method and device, electronic equipment and storage medium
WO2022105798A1 (en) Video processing method and apparatus, and storage medium
CN111010582A (en) Cloud desktop image processing method, device and equipment and readable storage medium
WO2023078142A1 (en) Image acquisition method and apparatus, device, storage medium, and program product
CN113556584A (en) Screenshot transmission method and device of cloud mobile phone, electronic equipment and storage medium
WO2023045551A1 (en) Camera control method and system, electronic device and storage medium
CN113132403A (en) Back-source method and device for content distribution network
CN112671742A (en) Audio card pause processing method and device, electronic equipment and storage medium
CN114245175A (en) Video transcoding method and device, electronic equipment and storage medium
CN116866658A (en) Video data processing method, device, equipment and medium
CN115278289B (en) Cloud application rendering video frame processing method and device
CN115209189B (en) Video stream transmission method, system, server and storage medium
CN114501083A (en) Code rate adjusting method, device, equipment, medium and program product
US20190332256A1 (en) Screen transmission method and screen transmission system
CN114501084B (en) Play method, device, equipment and medium of player
CN114401208B (en) Data transmission method and device, electronic equipment and storage medium
CN115767149A (en) Video data transmission method and device
CN113132758B (en) Control method, device and computer program product of content distribution network
CN110798700B (en) Video processing method, video processing device, storage medium and electronic equipment
CN116033235B (en) Data transmission method, digital person production equipment and digital person display equipment
CN112737971A (en) Data processing method, device, storage medium and network equipment
CN114071185A (en) Video stream issuing method, related device and computer program product
CN115632950A (en) Network capacity planning method and device, electronic equipment and readable medium
CN113824985B (en) Live streaming method, apparatus, device, storage medium and computer program product
CN113676746B (en) Method, apparatus, device and medium for detecting live broadcast jitter

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination