Screen recording processing method and apparatus, electronic device, storage medium, and program product

By detecting when device performance degrades and reducing the video frame generation rate, the problem of screen stuttering caused by insufficient device performance during screen recording and live streaming is solved, thus improving the smoothness and user experience of screen recording and live streaming.

WO2026002123A1PCT designated stage Publication Date: 2026-01-02BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/103867
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-28
Filing Date
2025-06-26
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

In screen recording and live streaming scenarios, insufficient device performance can cause issues such as screen stuttering or freezing.

Method used

When the device performance is reduced, the video frame generation rate is decreased to adapt to the device performance and avoid screen stuttering or freezing.

Benefits of technology

It improves the smoothness of screen recording and live streaming, enhancing the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025103867_02012026_PF_FP_ABST
    Figure CN2025103867_02012026_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a screen recording processing method and apparatus, an electronic device, a storage medium, and a program product. The method comprises: during screen recording using an electronic device, acquiring a video frame from screen content of the electronic device at a first rate for encoding; detecting whether performance reduction of the electronic device occurs in processing of the screen content; and in response to detecting the performance reduction of the electronic device in the processing of the screen content, acquiring a video frame from screen content of the electronic device at a second rate for encoding, the second rate being lower than the first rate. In this way, a screen recording frame rate can be adaptively determined in a screen recording scenario, so that lagging or freezing of a livestreaming picture when performance reduction of an electronic device occurs is avoided, thereby improving the smoothness of the image quality, and thus improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Screen recording processing method and device, electronic device, storage medium and program product

[0001] The present application claims priority to the Chinese Patent Application No. 202410870293.2, filed on June 28, 2024, and entitled "Screen recording processing method and device, electronic device, storage medium and program product", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0002] Example embodiments of the present disclosure generally relate to the field of computers, and in particular, to a screen recording processing method and device, electronic device, storage medium and program product. BACKGROUND

[0003] In a screen recording live streaming scenario, video frames are usually collected at a fixed rate and submitted to an encoding queue, so that the encoder produces encoded pictures at a relatively constant speed. However, in the case of dramatic changes in pictures, if the performance of the screen recording live streaming device is insufficient, it will cause the live streaming picture to lag or completely freeze. SUMMARY

[0004] In a first aspect of the present disclosure, a screen recording processing method is provided, comprising: during screen recording using an electronic device, acquiring video frames from screen content of the electronic device at a first rate for encoding; detecting whether performance reduction of the electronic device in processing of the screen content occurs; in response to detecting the performance reduction of the electronic device in processing of the screen content, acquiring video frames from the screen content of the electronic device at a second rate for encoding, the second rate being lower than the first rate.

[0005] In a second aspect of the present disclosure, a screen recording processing device is provided, comprising: a first acquisition module configured to acquire video frames from screen content of an electronic device at a first rate for encoding during screen recording using the electronic device; a performance detection module configured to detect whether performance reduction of the electronic device in processing of the screen content occurs; and a second acquisition module configured to acquire video frames from the screen content of the electronic device at a second rate for encoding in response to detecting the performance reduction of the electronic device in processing of the screen content, the second rate being lower than the first rate.

[0006] In a third aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and at least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor, the instructions, when executed by the at least one processor, causing the electronic device to perform the method of the first aspect.

[0007] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided, having stored thereon computer-executable instructions that, when executed by a processor, implement the method of the first aspect.

[0008] In a fifth aspect of the present disclosure, a computer program product is provided, comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the method of the first aspect.

[0009] It should be understood that nothing in the Summary is to be construed as a limitation of the key or important features of embodiments of the disclosure or as limiting the scope of the disclosure. Other features of the disclosure will be apparent from review of the disclosure, which is discussed in its entirety in the following detailed description. BRIEF DESCRIPTION OF DRAWINGS

[0010] The above and other features, aspects and advantages of embodiments of the present disclosure will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings. In the drawings, like reference numerals refer to like elements, wherein:

[0011] FIG. 1 shows a schematic diagram of an example environment in which embodiments according to the present disclosure can be implemented;

[0012] FIG. 2 shows a flowchart of one example of a screen recording process according to some embodiments of the present disclosure;

[0013] FIG. 3 shows a flowchart of another example of a screen recording process according to some embodiments of the present disclosure;

[0014] FIG. 4 shows one example of a picture capturing and encoding process according to some embodiments of the present disclosure;

[0015] FIG. 5 shows one example of reducing the generation rate of video frames according to some embodiments of the present disclosure;

[0016] FIG. 6 shows a flowchart of yet another example of a screen recording process according to some embodiments of the present disclosure;

[0017] FIG. 7 shows a flowchart of yet another example of a screen recording process according to some embodiments of the present disclosure;

[0018] FIG. 8 shows a schematic block diagram of a screen recording device according to some embodiments of the present disclosure; and

[0019] FIG. 9 shows a block diagram of an electronic device capable of implementing embodiments of the present disclosure. DETAILED DESCRIPTION

[0020] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be implemented in various forms and should not be interpreted as being limited to the embodiments set forth herein, but rather, these embodiments are provided so as to more completely and thoroughly understand the present disclosure. It is understood that the drawings and embodiments of the present disclosure are for exemplary purposes only and are not intended to limit the scope of protection of the present disclosure.

[0021] In the description of embodiments of the present disclosure, the term "comprising" and its conjugations should be understood to encompass the meaning of "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions can also be included below.

[0022] In this document, unless explicitly stated, performing a step "in response to A" does not mean performing the step immediately after A, but can include one or more intermediate steps.

[0023] It can be understood that the data involved in the technical solutions of the present disclosure (including but not limited to the data itself, the obtaining, use, storage or deletion of the data) should comply with the requirements of relevant laws and regulations and relevant provisions.

[0024] It can be understood that before using the technical solutions disclosed in the embodiments of the present disclosure, the type of information involved in the present disclosure, the scope of use, the use scenario, etc. should be informed to the relevant user and the authorization of the relevant user should be obtained by appropriate means, wherein the relevant user can include any type of right subject, such as an individual, an enterprise or a group.

[0025] For example, in response to receiving the active request of the user, a prompt information is sent to the relevant user to explicitly prompt the relevant user that the operation requested to be performed will require the information of the relevant user to be obtained and used, so that the relevant user can voluntarily choose whether to provide the information to the software or hardware such as electronic device, application program, server or storage medium, etc. performing the operation of the technical solutions of the present disclosure according to the prompt information.

[0026] As an optional but non-limiting implementation manner, in response to receiving the active request of the relevant user, the prompt information can be sent to the relevant user in the form of a pop-up window, and the prompt information can be presented in the form of text in the pop-up window. In addition, the pop-up window can also carry selection controls for the user to select "agree" or "disagree" to provide information to the electronic device.

[0027] It can be understood that the above notification and user authorization process is only illustrative, and does not limit the implementation of the present disclosure, and other ways that meet the relevant laws and regulations can also be applied to the implementation of the present disclosure. The enabling of the digital assistant related functions of the embodiments of the present disclosure, the obtained data, the processing and storage mode of the data, and the like should obtain the prior authorization of the user and other right subjects associated with the user, and should comply with the relevant laws and regulations, the agreement rules between the right subjects.

[0028] As briefly mentioned above, in the screen recording live broadcast scenario, video frames are collected at a fixed speed and submitted to the encoding queue, so that the encoder generates encoded pictures at a relatively constant speed. However, in the case of dramatic changes in pictures, if the performance of the screen recording live broadcast device is insufficient, it will cause the live broadcast picture to be stuck or completely dead. For example, if the collection frame rate is set to 60fps, and the performance of the device is insufficient, the encoder can only encode at a coding frame rate of 40fps. Since the consumption speed of the encoding queue is lower than the generation speed of the picture frame, the encoding queue is accumulated, causing the picture to be stuck or dead.

[0029] To at least partially solve the above problems and other potential problems that may exist in the conventional solutions, the embodiments of the present disclosure provide a frame rate determination scheme. According to various embodiments of the present disclosure, during screen recording live broadcast using an electronic device, the electronic device reduces the generation rate of screen picture frames of the electronic device in response to detecting a decrease in performance of the electronic device, the first indication information indicating. In this way, the screen recording frame rate can be adaptively determined in the screen recording scenario, avoiding the live broadcast picture to be stuck or dead when the performance of the electronic device decreases, improving the smoothness of the picture quality, and thus improving the user experience.

[0030] Example embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.

[0031] FIG. 1 shows a schematic diagram of an example environment 100 in which example embodiments according to embodiments of the present disclosure can be implemented. In the environment 100, an electronic device 110 can run an application 120 supporting screen recording live broadcast, which can be any appropriate type of application for screen recording live broadcast, and the application 120 can also be used to detect the performance of the electronic device 110 and detect whether the encoding queue of the encoder in the electronic device 110 is accumulated. Alternatively, the electronic device 110 can also run an application 120 supporting screen recording live broadcast and an application 130 capable of detecting the performance of the electronic device 110. The application 120 can be any appropriate type of application for screen recording live broadcast, and the application 130 can be any appropriate type of application for detecting parameters reflecting the performance of the electronic device 110 (e.g., temperature, whether the message queue is accumulated, etc.). The application 120 and the application 130 can communicate with each other.

[0032] In some embodiments, the application 120 can include, for example, a screen loop capture device 121 and an encoder 122. The screen loop capture device 121 is configured to capture the screen content of the electronic device 110 at a frame rate, and the encoder 122 is configured to encode the screen content captured by the screen loop capture device 121 at a frame rate.

[0033] In some embodiments, the electronic device 110 can be any type of mobile terminal or portable terminal including a mobile handset, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a media computer, a multimedia tablet, a palmtop computer, a portable gaming terminal, a VR / AR device, a Personal Communication System (PCS) device, a personal navigation device, a Personal Digital Assistant (PDA), an audio / video player, a digital camera / camcorder, a positioning device, a television receiver, a radio broadcast receiver, an electronic book device, a game device, or any combination thereof, including accessories and peripherals for these devices or any combination thereof. In some embodiments, the electronic device 110 can also support any type of interface to the user (such as "wearable" circuitry, etc.).

[0034] It should be understood that the structure and function of the various elements in the environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of the present disclosure.

[0035] Some example embodiments of the present disclosure will be described below with continued reference to the accompanying drawings.

[0036] FIG. 2 shows a flowchart of a screen recording processing process 200 according to some embodiments of the present disclosure. The process 200 can be performed by the electronic device 110 shown in FIG. 1.

[0037] In some embodiments, before using the electronic device 110 to record the screen, the electronic device 110 can present a configuration interface to the user. The user can configure the rate of capturing the screen content of the electronic device 110 on the configuration interface. The rate can be the capture rate of the application 120 capturing the screen content of the electronic device 110, or the encoding rate of the encoder 122 in the electronic device 110.

[0038] In block 210, during the use of the electronic device 110 to record the screen, the electronic device 110 obtains video frames from the screen content of the electronic device 110 at a first rate for encoding.

[0039] In some embodiments, the screen recording using the electronic device 110 can be a live screen recording using the electronic device 110. In such scenarios, the video content corresponding to the screen recording will be encoded and transmitted to other devices for real-time playing. In some embodiments, the screen recording using the electronic device 110 can also be a screen recording operation using the electronic device 110 only, and the screen recording content can be saved locally or transmitted to other devices for subsequent playing.

[0040] In some embodiments, the screen content for the screen recording can be a game live screen recording content. In some embodiments, the screen content for the screen recording can be any other content on the screen of the electronic device 110 that is being played and allowed to be recorded. Embodiments of the present disclosure do not specifically limit the screen content of the electronic device.

[0041] In some embodiments, the screen content of the electronic device 110 includes the screen content presented on the screen of the electronic device during the screen recording, such as the screen content of the running application. The presentation of the screen content can be authorized by the user, and the user can select the screen content to be presented. In some embodiments, the video frame obtained from the screen content of the electronic device 110 refers to a video frame in the video content corresponding to the screen content of the electronic device 110 during the screen recording, and also corresponds to the capture unit of the screen content.

[0042] In block 220, the electronic device 110 detects whether the performance of the electronic device 110 in processing the screen content is reduced.

[0043] In some embodiments, the performance of the electronic device 110 in processing the screen content can be determined by the performance of the components in the electronic device 110 related to the processing of the screen content. For example, if the performance of at least one of the related components is reduced, it can be determined that the performance of the electronic device 110 is reduced. For example, the components in the electronic device 110 related to the processing of the screen content can include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), an encoder, and the like. In other embodiments, the performance of the electronic device 110 in processing the screen content can also be determined by the performance of other components in the electronic device 110. For example, the other components in the electronic device 110 can include, but are not limited to, a battery, a memory, and the like.

[0044] In some embodiments, the application 120 or the application 130 can detect the above-mentioned components. When detecting a performance degradation of at least one of the components, it is determined that the performance of the electronic device 110 is degraded. For example, the performance of the battery can be determined by detecting the temperature of the battery. For example, when the temperature of the battery is increased, it is determined that the performance of the battery is degraded, and it is determined that the performance of the electronic device 110 in processing the screen content is degraded. It should be noted that the performance detection of the components can be performed with the user's knowledge and authorization.

[0045] In some embodiments, determining that the performance of the electronic device in processing the screen content is degraded can determine a performance score of the electronic device 110 during the screen recording, and in response to the performance score of the electronic device 110 being lower than a score threshold, it is detected that the performance of the electronic device 110 in processing the screen content is degraded.

[0046] In some embodiments, the performance score of the electronic device 110 can be determined based on the performance score of each of the at least one component, and the performance score of the electronic device 110 during the screen recording is determined.

[0047] For example, the performance score of each of the at least one component can be determined based on the component parameter-component performance score relationship curve. For example, the performance parameter detected by the application 120 or the application 130 can be obtained by interpolation from the component parameter-component performance score relationship curve.

[0048] In some embodiments, the component parameter-component performance score relationship curve can be obtained by experiment in advance.

[0049] Specifically, in determining the performance score of the electronic device 110, the performance score of at least one component in the electronic device 110 is obtained first, and then the weighted average, weighted sum, or other operation result of the performance score of the at least one component is determined as the performance score of the electronic device 110.

[0050] For example, the components shown in the following table are taken as examples:

[0051] The performance score s of the electronic device 110 can be determined by the following method, for example:

[0052] It should be understood that the weight value corresponding to the at least one component can be set as needed, and the present disclosure does not limit this.

[0053] In some embodiments, the electronic device 110 can determine the dequeue rate and the enqueue rate of the encoding queue of the encoder, and in response to the dequeue rate being less than the enqueue rate, it is detected that the performance of the electronic device 110 in processing the screen content is degraded.

[0054] For example, the electronic device 110 can determine the dequeue rate and the enqueue rate by counting the number of tasks or messages processed by the encoder in a certain time.

[0055] In some embodiments, the electronic device 110 can determine the encoding queue length of the encoder; in response to the encoding queue length exceeding a length threshold, detect a performance decrease of the electronic device in processing of the screen content.

[0056] For example, the electronic device can determine the encoding queue of the encoder by querying the metadata of the encoding queue.

[0057] At block 230, the electronic device 110 acquires video frames from the screen content of the electronic device for encoding at a second rate in response to detecting the performance decrease of the electronic device in processing of the screen content, the second rate being lower than the first rate.

[0058] FIG. 3 illustrates another example of a screen recording processing process 300 according to some embodiments of the present disclosure. The process 300 can be performed by the electronic device 110 shown in FIG. 1. The process 600 can be understood as an example embodiment of reducing the rate of video frames for encoding.

[0059] At block 310, the electronic device 110 acquires video frames sampled from the screen content at a predetermined sampling rate. The predetermined sampling rate is the rate at which the video frames are sampled by the picture sampling loop device 121 in the electronic device 110. In some embodiments, the predetermined sampling rate can be the first rate. In some embodiments, the predetermined sampling rate can be any other rate value.

[0060] At block 320, the electronic device 110 acquires video frames for encoding at a second rate by discarding part of the sampled video frames.

[0061] As shown in FIG. 4, assuming that the picture loop sampling device 121 samples the screen content of the electronic device 110 at a first rate (e.g., a sampling rate of 60 fps) and submits the sampled video frames to the encoding queue, due to the performance decrease or deficiency of the encoder 122, the encoder can only encode at a lower frame rate (e.g., 40 fps). This will cause the encoding queue 123 to accumulate, resulting in frame loss and causing the audience to see a frozen or stuck screen. At this time, the electronic device 110 can acquire video frames of the screen content at a second lower rate (e.g., 40 fps) by discarding part of the sampled video frames, so that the generation rate of the video frames is equal to the encoding rate of the encoder, avoiding the audience to see a frozen or stuck screen.

[0062] In the example shown in FIG. 5, it is assumed that the encoder encoding rate is 40 fps, i.e., the encoder encodes one frame of picture every 25 ms. Therefore, the encoding period of the encoder can be divided into multiple time periods, each of which is 25 ms. In the first time period, the 1st, 2nd, and 3rd video frames collected from the screen content are sent to the encoding queue; in the second time period, the 4th and 5th video frames collected from the screen content are sent to the encoding queue; in the third time period, the 6th video frame collected from the screen content is sent to the encoding queue; in the fourth time period, the 7th and 8th video frames collected from the screen content are sent to the encoding queue; in the fifth time period, the 9th and 10th video frames are sent to the encoding queue; and in the sixth time period, the 11th video frame is sent to the encoding queue.

[0063] In some embodiments, in order to make the generation rate of the video frames and the encoding rate the same, an active frame dropping manner can be adopted. For example, the 2nd, 3rd, 5th, 8th, and 10th video frames are actively discarded, so that there is one frame of picture in each time period, thereby ensuring that the encoding queue does not accumulate and improving the picture fluency and user experience. By actively discarding part of the video frames, the generation rate corresponding to the video frames to be encoded is reduced.

[0064] FIG. 6 shows yet another example of a process 600 for screen recording processing according to some embodiments of the present disclosure. The process 600 can be performed by the electronic device 110 shown in FIG. 1. The process 600 can be understood as an example embodiment of reducing the rate of video frames for encoding.

[0065] At block 610, the electronic device 110 determines a step for reducing the first rate based on the first rate, the lower limit of the collection rate, and the score threshold.

[0066] At block 620, the electronic device 110 reduces the first rate to obtain a second rate based on the step, the score threshold, and the performance score of the electronic device.

[0067] At block 630, the electronic device 110 acquires video frames from the screen content of the electronic device 110 at the second rate for encoding.

[0068] In some embodiments, the first rate and the lower limit of the collection rate can be configured via a configuration interface presented by the electronic device 110.

[0069] In some embodiments, the electronic device 110 can determine the step for reducing the first rate in the following manner:

[0070] step = (init_fps - min_fps) / (score_up - 0)

[0071] wherein step is a step length, init_fps is the first rate, min_fps is the lower limit of the capture rate, and score_up is the score threshold.

[0072] In some embodiments, the electronic device 110 can determine the second rate in the following manner:

[0073] except_fps = init_fps - step * (score_up - score)

[0074] wherein except_fps is the second rate, and score is the performance score of the electronic device.

[0075] In some embodiments, when the performance score of the electronic device 110 is higher than the score threshold, it can be determined that the performance of the electronic device 110 in processing the screen content recovers, and the electronic device 110 acquires video frames from the screen content of the electronic device 110 at the first rate for encoding.

[0076] FIG. 7 shows yet another example of a process 700 for screen recording processing, according to some embodiments of the present disclosure. The process 700 can be performed by the electronic device 110 shown in FIG. 1.

[0077] At block 710, the electronic device 110 determines a third rate for acquiring video frames from the screen content of the electronic device 110 and an encoding rate of an encoder.

[0078] At block 720, the electronic device 110 transmits the video frames acquired at the third rate to the encoder for encoding in response to the third rate being less than the encoding rate.

[0079] For example, the electronic device 110 sets the starting frame rate to 60 fps in the configuration interface presented by the electronic device 110. During the screen recording live broadcast, when the picture changes are not intense, the capture rate can be 40 fps. At this time, the video frames acquired at the capture rate of 40 fps are sent to the encoder, and no frame interpolation operation is performed on the acquired video frames.

[0080] In this way, the encoder can be prevented from encoding invalid frames, saving computing resources, and ensuring the smoothness of the picture seen by the audience due to the fact that the picture changes are not intense.

[0081] Embodiments of the present disclosure also provide a corresponding device for implementing the above-mentioned method or process. FIG. 8 shows a schematic structural block diagram of a screen recording processing device, according to some embodiments of the present disclosure. The device 800 can be implemented as or included in the electronic device 110. Various modules / components in the device 800 can be implemented by hardware, software, firmware, or any combination thereof.

[0082] As shown in FIG. 8, the apparatus 800 includes a first obtaining module 810 configured to obtain, from screen content of an electronic device, video frames at a first rate for encoding during a screen recording using the electronic device; a performance detecting module 820 configured to detect whether a performance reduction occurs in processing of the screen content by the electronic device; and a second obtaining module 830 configured to obtain, from the screen content of the electronic device, video frames at a second rate for encoding in response to detecting the performance reduction in processing of the screen content by the electronic device, the second rate being lower than the first rate.

[0083] In some embodiments, the performance detecting module 820 is further configured to determine a dequeue rate and an enqueue rate of an encoding queue of an encoder configured to encode the obtained video frames; and detect the performance reduction in processing of the screen content by the electronic device in response to the dequeue rate being less than the enqueue rate.

[0084] In some embodiments, the performance detecting module 820 is further configured to determine a length of an encoding queue of an encoder configured to encode the obtained video frames; and detect the performance reduction in processing of the screen content by the electronic device in response to the length of the encoding queue exceeding a length threshold.

[0085] In some embodiments, the second obtaining module 830 is further configured to obtain the video frames from the screen content at a predetermined sampling rate; and cause the electronic device to obtain the video frames at the second rate for encoding by dropping part of the video frames obtained from the sampling.

[0086] In some embodiments, the performance detecting module 820 is further configured to determine a performance score of the electronic device during the screen recording; and detect the performance reduction in processing of the screen content by the electronic device in response to the performance score of the electronic device being lower than a score threshold.

[0087] In some embodiments, the performance detecting module 820 is further configured to determine a performance score of each of at least one component of the electronic device, the at least one component being related to data processing of the screen content in the live screen recording; and determine the performance score of the electronic device during the screen recording based on the performance score of each of the at least one component.

[0088] In some embodiments, the second obtaining module 830 is further configured to determine a step size for decreasing the first rate based on the first rate, the lower bound of the acquisition rate, and the score threshold; decrease the first rate to obtain the second rate based on the step size, the score threshold, and a performance score of the electronic device; and obtain video frames from the screen content of the electronic device at the second rate for encoding.

[0089] In some embodiments, the performance detecting module 820 is further configured to determine that the performance of the electronic device in processing of the screen content recovers; and the first obtaining module 810 is further configured to obtain video frames from the screen content of the electronic device at the first rate for encoding in response to determining that the performance of the electronic device in processing of the screen content recovers.

[0090] In some embodiments, the rate determining module is configured to determine a third rate for obtaining video frames from the screen content of the electronic device and an encoding rate of an encoder; and the third obtaining module is configured to transmit the video frames obtained at the third rate to the encoder for encoding in response to the third rate being less than the encoding rate.

[0091] FIG. 9 illustrates a block diagram of an electronic device 900 in which one or more embodiments of the disclosure can be implemented. It should be understood that the electronic device 900 illustrated in FIG. 9 is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. The electronic device 900 illustrated in FIG. 9 can be used to implement the electronic device 110 of FIG. 1.

[0092] As shown in FIG. 9, the electronic device 900 is in the form of a general electronic device. The components of the electronic device 900 can include, but are not limited to, one or more processors or processing units 910, a memory 920, a storage device 930, one or more communication units 940, one or more input devices 950, and one or more output devices 960. The processing unit 910 can be an actual or virtual processor and is capable of performing various processing according to programs stored in the memory 920. In a multi-processor system, multiple processing units perform computer-executable instructions in parallel to improve the parallel processing capability of the electronic device 900.

[0093] The electronic device 900 typically includes a plurality of computer storage media. Such media can be any available media that is accessible by the electronic device 900 and includes both volatile and nonvolatile media, removable and non-removable media. The memory 920 can be volatile (such as register, cache, RAM), non-volatile (such as ROM, EEPROM, flash memory), or some combination of the two. The storage device 930 can be a removable or non-removable media, and can include machine-readable media, such as flash drives, magnetic disks, or any other media that can be used to store information and / or data and that can be accessed by the electronic device 900.

[0094] The electronic device 900 can further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 9, a disk drive for reading from or writing to a removable, non- volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk (e.g., a CD-ROM) can be provided. In such instances, each drive can be connected to the bus (not shown) by one or more data media interfaces. The memory 920 can include a computer program product 925 having one or more program modules configured to carry out the various methods or actions of the various embodiments of the present disclosure.

[0095] The communication unit 940 enables communications with other electronic devices over a communication medium. Additionally, the functionality of the components of the electronic device 900 can be implemented in a single computing cluster or a plurality of computer machines that are capable of communicating with one another over a communication connection. As such, the electronic device 900 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network nodes.

[0096] The input device 950 can be one or more input devices, such as a mouse, a keyboard, a trackball, etc. The output device 960 can be one or more output devices, such as a display, a speaker, a printer, etc. The electronic device 900 can also communicate with one or more external devices (not shown) such as a storage device, a display device, etc. through the communication unit 940, with one or more devices that enable a user to interact with the electronic device 900, or with any devices (e.g., a network card, a modem, etc.) that enable the electronic device 900 to communicate with one or more other electronic devices. Such communication can be enabled by an input / output (I / O) interface (not shown).

[0097] According to an example implementation of the present disclosure, a computer readable storage medium is provided having computer executable instructions stored thereon, where the computer executable instructions are executed by a processor to implement the method described above. According to an example implementation of the present disclosure, a computer program product is also provided that is tangibly stored on a non-transitory computer readable medium and includes computer executable instructions, where the computer executable instructions are executed by a processor to implement the method described above.

[0098] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0099] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0100] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0101] The computer program product of the present disclosure can have a signal including said computer program. This signal can be electronic, electromagnetic, optical, or any other suitable type of signal. Such a signal can be provided through a communication connection, such as electrical wiring, optical fiber, wireless interface, etc. Examples of computer program products include computer program implemented on a personal computer, server, or other networked device. A non-transitory computer readable medium, such as a floppy disk, CD-ROM, DVD-ROM, Blu-ray Disc, hard disk, or memory stick, can also be used to implement the present disclosure. The computer program product of the present disclosure can also be provided as a service to download and use the computer program over a network, such as the Internet.

[0102] Having described several implementations of the present disclosure, it will be clear to those skilled in the art that many modifications, additions, and substitutions are possible without departing from the scope and spirit of the described implementations. Many modifications and variations of the present disclosure are possible in light of the above teachings. It is, therefore, to be understood that within the scope of the appended claims, the present disclosure can be practiced otherwise than as specifically described. While the present disclosure has been described with reference to the implementation figures, it will be understood by those skilled in the art that various changes can be made and equivalents can be substituted for elements thereof without departing from the scope of the present disclosure. In addition, many modifications can be made to adapt a particular situation or material to the teachings of the disclosure without departing from its scope. Therefore, it is contemplated to cover any and all adaptations and modifications falling within the scope of the appended claims. It should also be noted that, in this document, the term "can" is used to mean various possible constructions, for example, a structure, device, or apparatus can be configured to perform one or more functions.

Claims

1.A method for screen recording processing, comprising: acquiring video frames from screen content of an electronic device at a first rate for encoding during a screen recording using the electronic device; detecting whether a performance decrease occurs in processing of the screen content by the electronic device; and in response to detecting the performance decrease in processing of the screen content by the electronic device, acquiring video frames from the screen content of the electronic device at a second rate for encoding, the second rate being lower than the first rate. 2.The method of claim 1, wherein determining the performance decrease in processing of the screen content by the electronic device comprises: determining a dequeue rate and an enqueue rate of an encoding queue of an encoder configured to encode the acquired video frames; and in response to the dequeue rate being less than the enqueue rate, detecting the performance decrease in processing of the screen content by the electronic device. 3.The method of claim 1, wherein determining the performance decrease in processing of the screen content by the electronic device comprises: determining a length of an encoding queue of an encoder configured to encode the acquired video frames; and in response to the length of the encoding queue exceeding a length threshold, detecting the performance decrease in processing of the screen content by the electronic device. 4.The method of claim 1, wherein acquiring video frames from the screen content of the electronic device at a second rate for encoding comprises: utilizing video frames sampled from the screen content at a predetermined sampling rate; and acquiring the video frames from the screen content of the electronic device at the second rate for encoding by dropping a portion of the video frames sampled. 5.The method of claim 1, wherein determining the performance decrease in processing of the screen content by the electronic device comprises: determining a performance score of the electronic device during the screen recording; and in response to the performance score of the electronic device being lower than a score threshold, detecting the performance decrease in processing of the screen content by the electronic device. 6.The method of claim 5, wherein determining the performance score of the electronic device during the screen recording comprises: determining respective performance scores of at least one component of the electronic device, the at least one component being related to data processing of the screen content in the screen recording; and determining the performance score of the electronic device during the screen recording based on the respective performance scores of the at least one component. 7.The method of claim 5, wherein acquiring video frames from the screen content of the electronic device at a second rate for encoding comprises: determining a step size for decreasing the first rate based on the first rate, a lower bound of the sampling rate, and the score threshold; decreasing the first rate to obtain the second rate based on the step size, the score threshold, and the performance score of the electronic device; and acquiring the video frames from the screen content of the electronic device at the second rate for encoding. 8.The method of claim 1, further comprising: determining a performance recovery in processing of the screen content by the electronic device. ​ ​ ​ ​ ​ ​ ​ in response to determining that the performance of the electronic device in processing of the screen content recovers, acquiring video frames from the screen content of the electronic device at the first rate for encoding. 9.The method of claim 1, further comprising: determining a third rate for acquiring video frames from the screen content of the electronic device and an encoding rate of an encoder; and in response to the third rate being less than the encoding rate, transmitting the video frames acquired at the third rate to the encoder for encoding. 10.A screen recording processing apparatus, comprising: a first acquiring module configured to acquire video frames from screen content of an electronic device at a first rate for encoding during screen recording using the electronic device; a performance detecting module configured to detect whether performance of the electronic device in processing of the screen content decreases; and a second acquiring module configured to, in response to detecting that the performance of the electronic device in processing of the screen content decreases, acquire video frames from the screen content of the electronic device at a second rate for encoding, the second rate being lower than the first rate. 11.An electronic device, comprising: at least one processor; and at least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor, the instructions, when executed by the at least one processor, cause the electronic device to perform the method according to any one of claims 1 to 9. 12.A computer-readable storage medium having computer-executable instructions stored thereon, the computer-executable instructions executable by a processor to implement the method according to any one of claims 1 to 9. 13.A computer program product comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the method according to any one of claims 1 to 9. ​ ​ ​

Citation Information

Patent Citations

  • Mobile terminal, audio and video frame loss method in screen recording of mobile terminal and computer storage medium

    CN110177308A

  • Remote screen recording method, device and equipment and computer readable storage medium

    CN112543348A

  • Screen recording method and device

    CN115842938A

  • Fast and / or slow motion compensating timer display

    US20240040068A1