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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 239000000872 buffer Substances 0.000 claims abstract description 99
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims description 10
- 230000036961 partial effect Effects 0.000 claims description 6
- 230000004622 sleep time Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000005266 casting Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
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
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.
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 (7)
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 |
CN114245196B (en) * | 2021-12-08 | 2024-04-19 | 卓米私人有限公司 | Screen recording and stream pushing method and device, electronic equipment and storage medium |
CN116668762B (en) * | 2022-11-10 | 2024-04-05 | 荣耀终端有限公司 | Screen recording method and device |
CN117221617A (en) * | 2023-09-28 | 2023-12-12 | 杭州星犀科技有限公司 | Live broadcast push flow system, method and computer storage medium |
Citations (2)
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)
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 |
-
2018
- 2018-09-21 CN CN201811105770.7A patent/CN109089131B/en active Active
Patent Citations (2)
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 | |
CN111147911A (en) | Video clipping method and device, electronic equipment and storage medium | |
CN109391852B (en) | Message display method, device, 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 | |
CN108471548B (en) | Live video quick playing method and device | |
CN111372138A (en) | Live broadcast low-delay technical scheme of player end | |
CN112702557A (en) | Screen sharing method, device, equipment and storage medium based on call | |
CN112584083B (en) | Video playing method, system, electronic equipment and storage medium | |
CN112584189A (en) | Live broadcast data processing method, device and system and computer readable storage medium | |
CN111787357A (en) | Video processing method and electronic equipment | |
US10033930B2 (en) | Method of reducing a video file size for surveillance | |
CN111050204A (en) | Video clipping method and device, electronic equipment 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 | |
US11973997B2 (en) | Media session management | |
CN111314648A (en) | Information processing method, processing device, first electronic equipment and server |
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 |