CN109089131B - Screen recording live broadcast method, device, equipment and storage medium based on IOS system - Google Patents

Screen recording live broadcast method, device, equipment and storage medium based on IOS system Download PDF

Info

Publication number
CN109089131B
CN109089131B CN201811105770.7A CN201811105770A CN109089131B CN 109089131 B CN109089131 B CN 109089131B CN 201811105770 A CN201811105770 A CN 201811105770A CN 109089131 B CN109089131 B CN 109089131B
Authority
CN
China
Prior art keywords
image frames
server
live broadcast
frame
cache region
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.)
Active
Application number
CN201811105770.7A
Other languages
Chinese (zh)
Other versions
CN109089131A (en
Inventor
林鸿彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huya Information Technology Co Ltd
Original Assignee
Guangzhou Huya Information 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 Guangzhou Huya Information Technology Co Ltd filed Critical Guangzhou Huya Information Technology Co Ltd
Priority to CN201811105770.7A priority Critical patent/CN109089131B/en
Publication of CN109089131A publication Critical patent/CN109089131A/en
Application granted granted Critical
Publication of CN109089131B publication Critical patent/CN109089131B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback

Abstract

The application provides a screen recording live broadcast method, device, equipment and storage medium based on an IOS system. The method comprises the following steps: in the live broadcast screen recording process, storing image frames obtained by screen recording in a buffer area, and sending each frame of image frame in the buffer area to a server; if the number of the image frames obtained in the unit time of the buffer area is less than the preset value, repeatedly sending part of the image frames in the buffer area to the server side so that the number of the image frames received by the server side in the unit time meets the preset condition. The method aims to solve the technical problem that when a main broadcasting client uses terminal equipment based on an IOS system to record a screen and broadcast the screen directly, the corresponding audience client has high jam probability.

Description

Screen recording live broadcast method, device, equipment and storage medium based on IOS system
Technical Field
The present application relates to internet technologies, and in particular, to a screen recording live broadcast method, device, apparatus, and storage medium based on an IOS system.
Background
The screen recording live broadcast is one of the common modes in the current live broadcast industry, and is a process that a main broadcast client end makes a live broadcast video stream by recording contents displayed on a screen and sends the live broadcast video stream to a server end so that the server end distributes the live broadcast video stream to corresponding audience client ends for playing.
However, in practical applications, it is found that when the anchor client uses the terminal device based on the IOS system to perform screen recording live broadcasting, the probability that the corresponding viewer client is stuck is higher, and sometimes, all the viewer clients corresponding to the anchor client are stuck at the same time. The IOS is a mobile operating system developed by apple Inc., is one of the mainstream operating systems at present, and is a difficult problem that technicians in the current live broadcast industry have not overcome by how to solve the technical problem of screen recording and live broadcast based on the IOS.
Disclosure of Invention
In view of this, the present application provides a screen recording live broadcast method, apparatus, device and storage medium based on an IOS system, and aims to solve the technical problem in the prior art that when a anchor client uses a terminal device based on the IOS system to perform screen recording live broadcast, the corresponding viewer client has a high jam probability.
Specifically, the method is realized through the following technical scheme:
in a first aspect of the present application, a screen recording live broadcast method based on an IOS system is provided, the method including the steps of:
in the live broadcast screen recording process, storing image frames obtained by screen recording in a buffer area, and sending each frame of image frame in the buffer area to a server;
if the number of the image frames obtained in the unit time of the buffer area is less than the preset value, repeatedly sending part of the image frames in the buffer area to the server side so that the number of the image frames received by the server side in the unit time meets the preset condition.
In some examples, the repeatedly sending the partial image frames in the buffer to the server includes: and acquiring a frame image frame with the latest time in the buffer area.
In some examples, the sending, to the server, each frame image frame in the buffer includes:
and sending the image frames in the cache region to the server one by one according to the sequence of the acquisition time and the preset time frequency.
In some examples, the method further comprises the steps of: and after one frame of image frame in the cache region is sent to the server, judging the number of the image frames in the cache region, and if the number is more than 1, releasing the image frames sent to the server in the cache region.
In some examples, the repeatedly sending, to the server, part of the image frames in the buffer area if the number of the image frames obtained in the buffer area in the unit time is less than a preset value includes:
if the number of the image frames in the cache region is 1, the image frames are reserved after being sent to a server;
and after the preset time is reached, sending the image frame to the server again.
In a second aspect of the present application, a screen recording live broadcast method based on an IOS system is provided, the method including the steps of:
receiving an image frame obtained by screen recording and sent by a main broadcasting client, and storing the image frame in a cache region;
if the number of the image frames obtained in the unit time of the buffer area is less than a preset value, repeatedly sending part of the image frames in the buffer area to the live broadcast client side corresponding to the anchor client side, so that the number of the image frames received by each corresponding live broadcast client side in the unit time meets a preset condition.
In some examples, the repeatedly sending, if the number of image frames obtained in the buffer per unit time is less than a preset value, a part of image frames in the buffer to a live broadcast client corresponding to the anchor client includes:
if the number of the image frames in the cache region is larger than 1, releasing the image frames after the image frames are sent to a live broadcast client corresponding to an anchor client;
if the number of the image frames in the cache region is 1, after the image frames are sent to the live broadcast client side corresponding to the anchor client side, the image frames are reserved, and after the preset time is reached, the image frames are sent to the live broadcast client side corresponding to the anchor client side again.
In a third aspect of the present application, there is provided a screen recording live broadcast device based on an IOS system, the device including:
the buffer module is used for storing image frames obtained by screen recording in a buffer area in the live broadcast screen recording process;
and the processing module is used for sending each frame of image frame in the cache region to the server, and if the number of the image frames obtained in the unit time of the cache region is less than a preset value, repeatedly sending part of the image frames in the cache region to the server so as to enable the number of the image frames received by the server in the unit time to meet a preset condition.
In some examples, the processing module is further to: and after one frame of image frame in the cache region is sent to the server, judging the number of the image frames in the cache region, and if the number is more than 1, releasing the image frames sent to the server in the cache region.
In some examples, if the number of image frames obtained in the unit time of the buffer area is less than a preset value, when part of the image frames in the buffer area are repeatedly sent to the server, the processing module is specifically configured to:
if the number of the image frames in the cache region is 1, the image frames are reserved after being sent to a server;
and after the preset time is reached, sending the image frame to the server again.
In a fourth aspect of the present application, there is provided a terminal device comprising:
a processor; a memory for storing the processor-executable instructions;
wherein the processor is configured to perform the operations of any one of the methods of the first aspect.
In a fifth aspect of the present application, there is provided a storage medium having a program stored thereon, the program being executable by a processor to perform the operations of any one of the methods as described in the first aspect above.
Aiming at the screen recording live broadcast based on the IOS system, in the screen recording live broadcast process, image frames obtained by screen recording are firstly stored in a cache region, and all the image frames in the cache region are sent to a server; when the fact that the number of the image frames obtained in the unit time of the cache region is smaller than a preset value is detected, the number of the image frames received in the unit time by the server side meets a preset condition by repeatedly sending part of the image frames in the cache region to the server side, and therefore the technical problem that in the traditional technology, when a main broadcasting client side uses terminal equipment based on an IOS system to conduct screen recording live broadcasting, the corresponding audience client side is high in jam probability is solved. The method provided by the embodiment of the application is particularly suitable for solving the problem that when the IOS-based terminal equipment records the screen for live broadcast, the IOS system refreshes less frequency due to the static screen picture, and the image frames actually captured by the screen are reduced, so that the client of the audience is blocked.
Drawings
FIG. 1 is a schematic diagram of a video recording live broadcast;
fig. 2 is a flowchart illustrating a screen recording live broadcast method based on an IOS system according to an exemplary embodiment of the present application;
fig. 3 is a flowchart illustrating another screen recording live broadcast method based on an IOS system according to an embodiment of the present application;
fig. 4 is a schematic diagram of a screen recording live broadcast exemplarily shown in an embodiment of the present application;
fig. 5 is an interaction flowchart illustrating an application of the screen recording live broadcast method based on the IOS system to a terminal device connected to the terminal device based on the IOS system according to an exemplary embodiment of the present application;
fig. 6 is a flowchart illustrating that a screen recording live broadcast method based on an IOS system is applied to a server according to an exemplary embodiment of the present application;
fig. 7 is a schematic structural diagram of a screen recording live device based on an IOS system according to an exemplary embodiment of the present application;
fig. 8 is a schematic diagram of a hardware structure of a terminal device according to an exemplary embodiment of the present application.
Detailed Description
The present application will now be described in detail with reference to specific embodiments thereof as illustrated in the accompanying drawings. These embodiments are not intended to limit the present application, and structural, methodological, or functional changes made by those skilled in the art according to these embodiments are included in the scope of the present application.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
The screen recording and live broadcasting are one of the common modes in the live broadcasting industry at present, and are particularly suitable for live broadcasting modes such as games, software teaching and the like. Referring to fig. 1, a schematic view of a screen-recording live broadcast scene is shown, in which a first viewer client, a second viewer client, and an anchor client are respectively installed on electronic devices 110, 120, and 130, the anchor client may produce live broadcast data through screen capture and other manners such as recording video and taking photos by using a camera in a coordinated manner, the live broadcast data includes a frame of image frame and audio data, and then send the produced live broadcast data to a server 100 through a network. The server 100 is configured to provide a live background service, for example, store a corresponding relationship between each anchor client and each audience client, and perform live data distribution, and when the first audience client, the second audience client and the anchor client are in the same live broadcast room, the anchor client may share live data to be displayed to the first audience client and the second audience client in the same live broadcast room through the server, so as to enable users of the first audience client and the second audience client to watch the live data. A client that is in the same live room as the anchor client is referred to as an anchor client-corresponding client in this application.
However, in practical applications, it is found that when the anchor client uses the terminal device based on the IOS system to perform screen recording live broadcasting, the probability that the corresponding viewer client is stuck is higher, and sometimes, all the viewer clients corresponding to the anchor client are stuck at the same time. The IOS is a mobile operating system developed by apple Inc., is one of the mainstream operating systems at present, and is a difficult problem that technicians in the current live broadcast industry have not overcome by how to solve the technical problem of screen recording and live broadcast based on the IOS.
Through a large number of experiments and researches, the applicant discovers that the problem that when a main broadcasting client uses a terminal device based on an IOS system to record and broadcast a screen directly, the corresponding audience client has high jam probability is caused by the following reasons: in order to save the power consumption of the device, the IOS system has a power consumption protection mechanism, which specifies: when the screen is still (no change of pixel point is detected), the screen refresh rate is reduced, thereby reducing the power consumption. Due to the power consumption protection mechanism of the IOS system and the correlation between the screen refresh rate and the image frame captured by the screen recording mode, when the screen recording live broadcast is performed based on the IOS system, if the screen of the terminal device is in a static state, the anchor client cannot capture the image frame with the specified frame rate, for example, the specified frame rate is 24 frames/second, the image frame actually captured by the anchor client may be less than 24 s, and when the anchor client does not capture the image frame with the specified frame rate, the video stream sent to the viewer client via the server is visually blocked.
Aiming at the technical problems and the reason analysis of the technical problems, the application provides a screen recording live broadcast scheme based on an IOS system. Referring to fig. 2, which is a flowchart illustrating a screen recording live broadcast method based on an IOS system according to an exemplary embodiment of the present application, the method according to the embodiment of the present application may be applied to a terminal device based on the IOS system, where the terminal device may be a smart phone, a tablet computer, a PDA (personal digital Assistant), and the like. The terminal device may be installed with an application program, and the screen recording and live broadcasting may be realized through the application program, where the application program may be: the internet live broadcast software, in some examples, when the internet live broadcast software is recorded and live broadcast, may be referred to as an anchor client. The screen recording live broadcast method based on the IOS system comprises the following steps:
s210: and in the live screen recording process, storing the image frames obtained by screen recording in a buffer area.
The image frame obtained by screen recording refers to the situation that a part of content or all content is obtained by means of screen recording. One common situation is: the image frames obtained by screen recording are synthesized in a picture-in-picture mode by the images obtained by the screen recording mode and the images collected by the camera, and certainly, the images may be in other forms, which are not repeated here.
The buffer area provided by the embodiment of the application can store the buffered image frames in a queue mode. In some examples, the buffer may include at least one queue, and in some examples, some buffers may include multiple queues.
S220: and sending each frame image frame in the buffer area to a server.
In some examples, this may be specifically: and sending the image frames in the cache region to the server one by one according to the sequence of the acquisition time and the preset time frequency. In some examples, the preset temporal frequency may be: 40 milliseconds, but the time frequency can also be determined according to the frame rate of the live data. In some examples, steps S210 and S220 may be: in the live broadcast screen recording process, after one frame of image frame is acquired through the screen recording, the image frame is stored in a cache region, and the image frame is sent to a server side according to a preset time frequency.
S230: if the number of the image frames obtained in the unit time of the buffer area is less than the preset value, repeatedly sending part of the image frames in the buffer area to the server side so that the number of the image frames received by the server side in the unit time meets the preset condition.
In this step, the phrase "the number of image frames obtained in the unit time of the buffer area is less than the preset value" may mean that the still duration of the screen recording image exceeds a certain value. Normally, the number of image frames acquired by screen recording in a unit time (e.g. each second) matches the frame rate of live broadcast data, for example, 24 frames per second, when the image frames acquired per second are less than 24 frames, it indicates that there is a screen recording still problem, and the still duration exceeds 1/24 seconds, under which condition, if no processing is performed, a corresponding client will be visually jammed when playing the live broadcast data.
In some examples, the repeatedly sending the partial image frames in the buffer to the server according to this step may include: and acquiring a frame image frame with the latest time in the buffer area. For example: and judging whether the number of the image frames obtained in the unit time of the buffer area is less than the preset value, wherein two image frames, namely an image frame a and an image frame b, are buffered in the buffer area, and the time for storing the image frame b in the buffer area is later than that of the image frame a, so that the image frame b can be repeatedly sent to the server, and the number of the image frames received by the server in the unit time meets the preset condition.
The preset condition provided by the embodiment of the application can be matched with the frame rate of live data. For example: the frame rate of the live broadcast data is 24 frames per second, and the preset condition may be that the server receives 24 frames per second of image frames, so that it can be ensured that the corresponding client does not visually jam due to lack of frames when playing the live broadcast data.
Referring to fig. 1, a specific example is described, an anchor client operates on a terminal device 130 based on an IOS system, after an anchor client user performs live screen recording, the anchor client captures an image displayed on a screen of an electronic device in a screen recording manner to obtain an image frame obtained by screen recording, and each time one image frame is obtained, the image frame is stored in a buffer area, and one frame image frame is sent to a server 100 from the buffer area, so that the server 100 sends the image frame to a client (such as a first audience client and a second audience client) corresponding to the anchor client for playing. And a child thread is started at the same time as the buffer is initialized, the child thread executing a task: continuously polling the buffer area to count the number of image frames obtained in the unit time of the buffer area, if the number of image frames obtained in the unit time of the buffer area is less than a preset value, repeatedly sending part of the image frames in the buffer area to the server end, for example, the preset value is 24 frames obtained in each second, and currently, only 22 image frames are obtained in 1s, repeatedly sending two image frames sent to the server (the two repeatedly sent image frames may be the same or different), so that the number of the image frames received in 1s of the server end is 24, that is, the number of the image frames received in the unit time of the server end meets a preset condition. If the number of the image frames obtained in the unit time of the cache region is not less than the preset value, the operation of releasing the image frames sent to the server can be executed, and the cache region is continuously polled.
To this end, in the method shown in fig. 2, for live screen recording based on the IOS system, in the live screen recording process, image frames obtained by screen recording are stored in a buffer area first, and each frame image frame in the buffer area is sent to a server; when the fact that the number of the image frames obtained in the unit time of the cache region is smaller than a preset value is detected, the number of the image frames received in the unit time by the server side meets a preset condition by repeatedly sending part of the image frames in the cache region to the server side, and therefore the technical problem that in the traditional technology, when a main broadcasting client side uses terminal equipment based on an IOS system to conduct screen recording live broadcasting, the corresponding audience client side is high in jam probability is solved. The method provided by the embodiment of the application is particularly suitable for solving the problem that the screen image is static when the terminal equipment based on the IOS system is in live broadcasting, and the IOS system is reduced in refreshing frequency due to the static screen image, so that the image frames actually captured by the screen are reduced, and the blocking of the audience client is caused.
Further, in some examples, after sending one frame of image frame in the buffer to the server each time, the number of the image frames in the buffer is determined, for example, the buffer is polled by using a sub-thread, the number of the image frames cached in the buffer is counted, and if the number is greater than 1, the image frames sent to the server in the buffer are released. So as to reduce the memory occupation of the cache region. In a specific example, after the image frame a is sent to the server, for example, two image frames, one image frame a and the other image frame b, are still in the buffer, where the image frame b is acquired later than the image frame a and is not sent to the server, and then the image frame a is released.
Referring to fig. 3, a flowchart of another video recording live broadcast method based on an IOS system exemplarily shown in an embodiment of the present application is shown, where the method includes the steps of:
s310: and in the live screen recording process, storing the image frames obtained by screen recording in a buffer area.
The specific implementation manner of this step may refer to step S210 of fig. 2, and is not described herein again.
S311: and sending each frame image frame in the buffer area to a server.
The specific implementation manner of this step may refer to step S220 of fig. 2, and is not described herein again.
S320: and after one frame of image frame in the buffer area is sent to the server, the number of the image frames in the buffer area is judged.
In this step, a sub thread may be run in the buffer area, and the buffer area is polled after one frame of image frame in the buffer area is sent to the server each time, so as to determine the number of image frames in the buffer area.
S330: and if the number is more than 1, releasing the image frames sent to the server side in the buffer area.
S340: if the number of the image frames in the cache region is 1, the image frames are reserved after being sent to a server; and after the preset time is reached, sending the reserved image frame to the server again.
In a specific example, the step may be: when there is only one image frame in the buffer, the image frame is sent to the server, and the image frame is continuously retained in the buffer, and meanwhile, a sub-thread is started, which sets a sleep mechanism and determines a sleep time (corresponding to a preset time), where the sleep time may be determined according to a frame rate, for example, when the frame rate is 24 frames (24 image frames are played in one second), the sleep time may be 40 milliseconds, and a specific way of calculating the sleep time may be: dividing 1 second by the frame rate, and determining the sleep time according to the obtained data value, for example, the 1 second/24 frame is about 40 ms/frame, so when the frame rate is 24, the sleep time may be 40 ms, and transmitting the image frame according to the sleep time can ensure that the video played by the corresponding viewer client is not pause. The sleep time may be the same as or correspond to the preset frequency. And when the sub-thread sleep mechanism is finished, sending the image frame to a server.
After the step S330 or S340 is executed, the step S320 may be continuously executed, the step S330 or S340 is selectively executed according to the determination result, and if the number of the image frames in the buffer area is continuously 1, the remaining image frames are continuously and repeatedly sent to the server, so that the number of the image frames received by the server in unit time meets the preset condition, and the corresponding client is prevented from causing a jam problem due to lack of the image frames.
The method described in fig. 2 and fig. 3 may be applied to a terminal device based on an IOS system, and may also be applied to a terminal device connected to the terminal device based on the IOS system, where an application program may be installed on the terminal device, and the application program may be: and (3) live broadcasting software on the Internet. Referring to fig. 4, a scene diagram of a live video recording exemplarily shown in the embodiment of the present application is shown. A screen-casting client 411 is operated on a terminal device 410 based on an IOS system, the screen-casting client 411 is used for capturing a picture of a screen of the terminal device 410, an anchor client 412 is operated on a terminal device 420 connected with the terminal device 410 through a network, the terminal device 420 is connected with a server 400 through the network, the server 400 is connected with terminal devices 430 and 440 operating live clients, wherein the live clients operating on the terminal devices 430 and 440 and the anchor client 412 are in the same live room. With reference to fig. 5, the screen recording live broadcast method based on the IOS system is applied to an interactive flowchart of a terminal device connected to the terminal device based on the IOS system. Part of the steps are as follows:
s510: the screen projection client 411 obtains images in a screen recording mode;
s520: sending the image to the anchor client 412;
s530: the anchor client 412 processes the image sent by the screen projection client 411 to obtain an image frame obtained by screen recording, and stores the obtained image frame in a buffer area;
s540: the anchor client 412 sends each frame image frame in the buffer to the server 400;
s550: if the number of the image frames obtained in the unit time of the buffer area is less than the preset value, the anchor client 412 repeatedly sends part of the image frames in the buffer area to the server 400, so that the number of the image frames received by the server 400 in the unit time meets the preset condition.
The specific implementation of each step in fig. 5 can refer to the specific embodiments corresponding to fig. 2 and fig. 3, and is not described herein again.
In some examples, the aforementioned screen recording live broadcast method based on the IOS system may also be executed by the server, and referring to fig. 6, the anchor client sends the image frames obtained by screen recording to the server during the live broadcast screen recording process (S610);
s620: the server receives the image frame and stores the image frame in a buffer area;
s630: if the number of the image frames obtained in the unit time of the buffer area is less than a preset value, repeatedly sending part of the image frames in the buffer area to the live broadcast client side corresponding to the anchor client side, so that the number of the image frames received by each corresponding live broadcast client side in the unit time meets a preset condition.
The specific implementation of each step in fig. 6 can refer to the specific embodiments corresponding to fig. 2 and fig. 3, and is not described herein again.
Furthermore, the description of each step may be implemented in software, hardware or a combination thereof, for example, a person skilled in the art may implement it in the form of software code, and may be a computer executable instruction capable of implementing the corresponding logical function of the step. When implemented in software, the executable instructions may be stored in a memory and executed by a processor in the device.
Corresponding to the embodiment of the screen recording live broadcast method based on the IOS system, the application also provides an embodiment of a screen recording live broadcast device based on the IOS system and an embodiment of image equipment.
Referring to fig. 7, a block diagram of an embodiment of a video recording and live broadcasting device 700 based on an IOS system according to the present application includes:
the buffer module 710 is configured to store an image frame obtained by screen recording in a buffer area during a live broadcast screen recording process;
the processing module 720 is configured to send each frame image frame in the buffer to the server, and if the number of image frames obtained in the buffer in a unit time is less than a preset value, repeatedly send part of the image frames in the buffer to the server, so that the number of the image frames received by the server in the unit time meets a preset condition.
In some examples, the repeatedly sending the partial image frames in the buffer to the server includes: and acquiring a frame image frame with the latest time in the buffer area.
In some examples, the processing module 720 is configured to, when sending each frame image frame in the buffer to the server, specifically:
and sending the image frames in the cache region to the server one by one according to the sequence of the acquisition time and the preset time frequency.
In some examples, the processing module 720 is further configured to: and after one frame of image frame in the cache region is sent to the server, judging the number of the image frames in the cache region, and if the number is more than 1, releasing the image frames sent to the server in the cache region.
In some examples, the processing module 720 is configured to, when the number of the image frames obtained in the unit time of the buffer area is less than a preset value and part of the image frames in the buffer area is repeatedly sent to the server, specifically:
if the number of the image frames in the cache region is 1, the image frames are reserved after being sent to a server;
and after the preset time is reached, sending the image frame to the server again.
Referring to fig. 8, the present application also provides a terminal device corresponding to the above method. As shown in fig. 8, the device may include a processor 801 and a machine-readable storage medium 802, wherein the processor 801 and the machine-readable storage medium 802 are typically interconnected by means of an internal bus 803. In other possible implementations, the device may also include an external interface 804 to enable communication with other devices or components. Further, the machine-readable storage medium 802 stores therein control logic 805 for IOS system-based live video recording, and the logic modules functionally divided by the control logic 805 may be the structure of the IOS system-based live video recording apparatus shown in fig. 7. The processor 801 is configured to perform the following steps:
in the live broadcast screen recording process, storing image frames obtained by screen recording in a buffer area, and sending each frame of image frame in the buffer area to a server;
if the number of the image frames obtained in the unit time of the buffer area is less than the preset value, repeatedly sending part of the image frames in the buffer area to the server side so that the number of the image frames received by the server side in the unit time meets the preset condition.
In some examples, the repeatedly sending the partial image frames in the buffer to the server includes: and acquiring a frame image frame with the latest time in the buffer area.
In some examples, the sending, to the server, each frame image frame in the buffer includes:
and sending the image frames in the cache region to the server one by one according to the sequence of the acquisition time and the preset time frequency.
In some examples, the processor 801 is further configured to perform: and after one frame of image frame in the cache region is sent to the server, judging the number of the image frames in the cache region, and if the number is more than 1, releasing the image frames sent to the server in the cache region.
In some examples, the repeatedly sending, to the server, part of the image frames in the buffer area if the number of the image frames obtained in the buffer area in the unit time is less than a preset value includes:
if the number of the image frames in the cache region is 1, the image frames are reserved after being sent to a server;
and after the preset time is reached, sending the image frame to the server again.
The machine-readable storage medium 802 depicted in fig. 8 may be: a RAM (random Access Memory), a volatile Memory, a non-volatile Memory, a flash Memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disk (e.g., an optical disk, a dvd, etc.), or similar storage medium, or a combination thereof.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the scope of protection of the present application.

Claims (9)

1. A screen recording live broadcast method based on an IOS system is characterized by comprising the following steps:
in the live broadcast screen recording process, storing image frames obtained by screen recording in a cache region;
sending each frame image frame in the buffer area to a server;
if the number of the image frames obtained in the unit time of the cache region is less than a preset value, repeatedly sending part of the image frames in the cache region to the server so that the number of the image frames received by the server in the unit time meets a preset condition;
and after one frame of image frame in the cache region is sent to the server, judging the number of the image frames in the cache region, and if the number is more than 1, releasing the image frames sent to the server in the cache region.
2. The method of claim 1, wherein the repeatedly sending the partial image frames in the buffer to the server comprises: and acquiring a frame image frame with the latest time in the buffer area.
3. The method according to claim 1, wherein said sending each frame image frame in the buffer to a server comprises:
and sending the image frames in the cache region to the server one by one according to the sequence of the acquisition time and the preset time frequency.
4. The method according to claim 1, wherein the repeatedly sending the partial image frames in the buffer to the server if the number of the image frames obtained in the buffer per unit time is less than a preset value comprises:
if the number of the image frames in the cache region is 1, after the image frames are sent to a server, the image frames are reserved;
and after the preset time is reached, sending the image frame to the server again.
5. A screen recording live broadcast method based on an IOS system is characterized by comprising the following steps:
receiving an image frame obtained by screen recording and sent by a main broadcasting client, and storing the image frame in a cache region;
if the number of the image frames obtained in the unit time of the cache area is less than a preset value, repeatedly sending part of the image frames in the cache area to the live broadcast client sides corresponding to the anchor client sides, so that the number of the image frames received by each corresponding live broadcast client side in the unit time meets a preset condition;
wherein, if the number of the image frames obtained in the unit time of the buffer area is less than a preset value, repeatedly sending part of the image frames in the buffer area to the live broadcast client corresponding to the anchor client comprises:
and if the number of the image frames in the cache region is more than 1, releasing the image frames after the image frames are sent to a live broadcast client corresponding to an anchor client.
6. The method according to claim 5, wherein if the number of image frames obtained in the buffer per unit time is less than a preset value, the method repeatedly sends a part of image frames in the buffer to a live broadcast client corresponding to the anchor client, further comprising:
if the number of the image frames in the cache region is 1, after the image frames are sent to the live broadcast client side corresponding to the anchor client side, the image frames are reserved, and after the preset time is reached, the image frames are sent to the live broadcast client side corresponding to the anchor client side again.
7. A screen recording live broadcast device based on an IOS system is characterized in that the device comprises:
the buffer module is used for storing image frames obtained by screen recording in a buffer area in the live broadcast screen recording process;
the processing module is used for sending each frame of image frames in the cache region to the server, and if the number of the image frames obtained in the unit time of the cache region is less than a preset value, repeatedly sending part of the image frames in the cache region to the server so that the number of the image frames received by the server in the unit time meets a preset condition;
the processing module is further configured to:
and after one frame of image frame in the cache region is sent to the server, judging the number of the image frames in the cache region, and if the number is more than 1, releasing the image frames sent to the server in the cache region.
8. A terminal device, comprising:
a processor; a memory for storing the processor-executable instructions;
wherein the processor is configured to perform the operations of any of the methods of claims 1-6.
9. A storage medium having a program stored thereon, the program being adapted to be executed by a processor to perform the operations of the method of any of claims 1 to 6.
CN201811105770.7A 2018-09-21 2018-09-21 Screen recording live broadcast method, device, equipment and storage medium based on IOS system Active CN109089131B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811105770.7A CN109089131B (en) 2018-09-21 2018-09-21 Screen recording live broadcast method, device, equipment and storage medium based on IOS system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811105770.7A CN109089131B (en) 2018-09-21 2018-09-21 Screen recording live broadcast method, device, equipment and storage medium based on IOS system

Publications (2)

Publication Number Publication Date
CN109089131A CN109089131A (en) 2018-12-25
CN109089131B true CN109089131B (en) 2021-07-23

Family

ID=64842189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811105770.7A Active CN109089131B (en) 2018-09-21 2018-09-21 Screen recording live broadcast method, device, equipment and storage medium based on IOS system

Country Status (1)

Country Link
CN (1) CN109089131B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110149546A (en) * 2019-04-15 2019-08-20 广州虎牙信息科技有限公司 Mobile terminal and its video shielded based on record mend frame method, computer storage medium
CN110177308A (en) * 2019-04-15 2019-08-27 广州虎牙信息科技有限公司 Mobile terminal and its audio-video frame losing method in record screen, computer storage medium
CN110139117B (en) * 2019-05-17 2022-06-21 歌尔科技有限公司 Live broadcast data pushing method and device
CN112804549B (en) * 2021-01-15 2023-07-28 北京字节跳动网络技术有限公司 Live broadcast data processing method and equipment
CN114245196A (en) * 2021-12-08 2022-03-25 卓米私人有限公司 Screen recording stream pushing method and device, electronic equipment and storage medium
CN117221617A (en) * 2023-09-28 2023-12-12 杭州星犀科技有限公司 Live broadcast push flow system, method and computer storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287106A (en) * 2007-04-09 2008-10-15 株式会社日立制作所 Video delivery device, video receiver and key frame delivery method
CN107231563A (en) * 2016-03-24 2017-10-03 腾讯科技(深圳)有限公司 Method for processing video frequency and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015094166A1 (en) * 2013-12-16 2015-06-25 Intel Corporation Video conferencing with improved bandwidth efficiency over wireless display (widi) channel
CN108391123A (en) * 2018-02-09 2018-08-10 维沃移动通信有限公司 A kind of method and terminal generating video

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287106A (en) * 2007-04-09 2008-10-15 株式会社日立制作所 Video delivery device, video receiver and key frame delivery method
CN107231563A (en) * 2016-03-24 2017-10-03 腾讯科技(深圳)有限公司 Method for processing video frequency and device

Also Published As

Publication number Publication date
CN109089131A (en) 2018-12-25

Similar Documents

Publication Publication Date Title
CN109089131B (en) Screen recording live broadcast method, device, equipment and storage medium based on IOS system
CN106454407B (en) Video live broadcasting method and device
CN107682714B (en) Method and device for acquiring online video screenshot
CN107483812B (en) Multi-platform parallel live broadcast method and device
CN108235120B (en) Live video stream pushing method and device and electronic equipment
CN108540819B (en) Live broadcast data processing method and device, computer equipment and storage medium
WO2016026245A1 (en) Method and system for switching video playback resolution
CN108989832B (en) Image data processing method and equipment, storage medium and terminal thereof
US20230144483A1 (en) Method for encoding video data, device, and storage medium
CN109391852B (en) Message display method, device, equipment and storage medium
CN111147911A (en) Video clipping method and device, electronic equipment and storage medium
US9344678B2 (en) Information processing apparatus, information processing method and computer-readable storage medium
WO2021129830A1 (en) Video transmission method, apparatus, device and system
CN112584083B (en) Video playing method, system, electronic equipment and storage medium
CN112702557A (en) Screen sharing method, device, equipment and storage medium based on call
CN108471548B (en) Live video quick playing method and device
CN111787357A (en) Video processing method and electronic equipment
CN111050204A (en) Video clipping method and device, electronic equipment and storage medium
CN110913118B (en) Video processing method, device and storage medium
CN113542896B (en) Video live broadcast method, equipment and medium of free view angle
CN111698261B (en) Video playing method, device, equipment and storage medium based on streaming media
CN109922366B (en) Equipment parameter adjusting method, device, equipment and medium
CN111314648A (en) Information processing method, processing device, first electronic equipment and server
CN114501136B (en) Image acquisition method, device, mobile terminal and storage medium
CN111954041A (en) Video loading method, computer equipment and readable storage medium

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
GR01 Patent grant
GR01 Patent grant