Live stream screenshot method and system

By performing keyframe detection and screenshot based on image group information in the live edge computing screenshot service, and image secondary processing is performed with screenshot identifiers, the problem of resource waste and cost increase caused by diversified frequency requirements is solved, and more efficient resource utilization and stability is achieved.

CN119676479AActive Publication Date: 2025-03-21SHANGHAI BILIBILI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411823191.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-03-21
Estimated Expiration
2044-12-11

AI Technical Summary

Technical Problem

The existing live edge computing screenshot services will affect resource waste, increase in costs and overall system stability when facing diverse image types and frequency requirements.

Method used

By determining the image group information of the live stream, keyframe detection and screenshots are performed, and screenshot parameters are determined based on the screenshot identifier, image secondary processing is performed, including image resampling and secondary compression, to meet the different frequency and code rate requirements of the service end.

Benefits of technology

This method reduces the deployment and upload bandwidth consumption of edge computing resources, reduces storage costs, and improves the stability and efficiency of the overall edge computing system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119676479A_ABST
    Figure CN119676479A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a live broadcast stream screenshot method and system. The method comprises the following steps: a screenshot processing step: determining image group information corresponding to a received live broadcast stream to be subjected to screenshot processing; carrying out key frame detection and screenshot according to the image group information; an image secondary processing step: receiving a live broadcast stream screenshot acquisition request which carries a screenshot identifier; determining a screenshot parameter corresponding to the screenshot identifier; and obtaining a target key frame screenshot, carrying out image secondary processing according to the screenshot parameter and the target key frame screenshot, and returning the processed live broadcast stream screenshot resource. According to the method, the requirement of an upstream service end can be met, deployment of edge computing resources, consumption of uploading bandwidth and storage cost can be reduced, the efficiency is continuously improved, meanwhile, the cost consumption of edge computing is greatly reduced, and the stability of the whole edge computing system is guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of Internet technology, and specifically to a method and system for capturing screenshots of a live streaming. Background Art

[0002] The current live broadcast architecture is mainly as follows: the anchor uses the broadcast tool to obtain the streaming address from the scheduling system and pushes the live stream to the edge computing uplink streaming service. The edge computing uplink streaming service will push the live stream to the edge computing screenshot service for content recording.

[0003] Among them, the edge computing screenshot service deploys a large number of nodes to meet the content recording of the full live stream. However, with the increasing number of business-end access, the required image types and frequencies are becoming more and more diverse. The production of screenshots at different frequencies will cause a waste of resources. In order to ensure the production of screenshots at the most basic frequency while increasing the production of screenshots at other frequencies, additional edge computing resources need to be deployed. In addition, the uploading of screenshots and the storage of storage devices will incur additional costs, resulting in the consumption of additional edge computing resources, which increases the cost of edge computing. In addition, the deployment of too many edge computing resources will lead to resource shortages for other services, which will have a significant impact on the stability of the overall edge computing system. Summary of the invention

[0004] In view of the above problems, the present application is proposed to provide a live stream screenshot method, system, computing device, computer storage medium and computer program product that overcome the above problems or at least partially solve the above problems.

[0005] According to one aspect of an embodiment of the present application, a method for capturing a live stream is provided, comprising:

[0006] Screenshot processing step: determining the image group information corresponding to the received live stream to be processed by screenshot;

[0007] Detect key frames and take screenshots based on image group information;

[0008] The image secondary processing step: receiving a live stream screenshot acquisition request, wherein the live stream screenshot acquisition request carries a screenshot identifier;

[0009] Determine the screenshot parameters corresponding to the screenshot identifier;

[0010] Get the target keyframe screenshot, perform secondary image processing based on the screenshot parameters and the target keyframe screenshot, and return the processed live stream screenshot resource.

[0011] Furthermore, the screenshot parameters include: screenshot frequency and bit rate;

[0012] The secondary image processing according to the screenshot parameters and the target key frame screenshot further includes:

[0013] Perform image resampling processing according to the target key frame screenshot and screenshot frequency;

[0014] The processed image is subjected to secondary compression processing according to the bit rate.

[0015] Furthermore, the method further includes: recording a first timestamp corresponding to the key frame image;

[0016] The image resampling process according to the target key frame screenshot and the screenshot frequency further includes:

[0017] Determine a second timestamp when taking a screenshot according to the screenshot frequency;

[0018] Matching the second timestamp with the first timestamp corresponding to the target key frame screenshot, and determining the unmatched second timestamp;

[0019] Determine a first timestamp closest to the unmatched second timestamp, and use a target key frame screenshot corresponding to the closest first timestamp as a reference frame image;

[0020] A live stream screenshot corresponding to the unmatched second timestamp is generated according to the reference frame image.

[0021] Further, the method further includes: pre-configuring an association relationship between the screenshot parameters and the screenshot identifier;

[0022] The screenshot identifier is obtained by hashing the screenshot parameters, or by concatenating the screenshot frequency and the bit rate.

[0023] Furthermore, determining the screenshot parameters corresponding to the screenshot identifier further includes:

[0024] Gets the screenshot parameters associated with the screenshot identifier.

[0025] Furthermore, the screenshot processing step is performed by the edge computing screenshot node, and the image secondary processing step is performed by a pre-built screenshot data source secondary processing platform.

[0026] According to another aspect of an embodiment of the present application, a live streaming screenshot system is provided, including:

[0027] A screenshot processing module, adapted to determine the image group information corresponding to the received live stream to be processed by screenshot; and perform key frame detection and screenshot according to the image group information;

[0028] The image secondary processing module is suitable for receiving a live stream screenshot acquisition request, wherein the live stream screenshot acquisition request carries a screenshot identifier; determining the screenshot parameters corresponding to the screenshot identifier; obtaining the target key frame screenshot, performing image secondary processing according to the screenshot parameters and the target key frame screenshot, and returning the processed live stream screenshot resource.

[0029] According to another aspect of the embodiment of the present application, there is provided a computing device, including: a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus;

[0030] The memory is used to store at least one executable instruction, and the executable instruction enables the processor to execute operations corresponding to the above-mentioned live stream screenshot method.

[0031] According to another aspect of the embodiment of the present application, a computer storage medium is provided, in which at least one executable instruction is stored, and the executable instruction enables a processor to perform operations corresponding to the above-mentioned live stream screenshot method.

[0032] According to another aspect of the embodiments of the present application, a computer program product is provided, comprising at least one executable instruction, wherein the executable instruction enables a processor to perform operations corresponding to the live stream screenshot method described above.

[0033] According to the live stream screenshot method and system provided in the embodiments of the present application, screenshots are taken according to the image group information, and then screenshot parameters are determined based on the obtained screenshot identifier. The image is secondary processed based on the screenshot parameters and the obtained target key frame screenshot. This can not only meet the needs of the upstream business end, but also reduce the deployment of edge computing resources, the consumption of upload bandwidth and the cost of storage. While continuously improving efficiency, it also greatly reduces the cost consumption of edge computing, thereby ensuring the stability of the overall edge computing system.

[0034] The above description is only an overview of the technical solution of the embodiment of the present application. In order to more clearly understand the technical means of the embodiment of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the embodiment of the present application more obvious and easy to understand, the specific implementation method of the embodiment of the present application is listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only used for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the embodiments of the present application. Moreover, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:

[0036] Figure 1 This is a schematic diagram of the existing live broadcast architecture;

[0037] Figure 2 A schematic diagram of a live streaming screenshot method according to an embodiment of the present application is shown;

[0038] Figure 3 A schematic diagram showing a flow chart of a method for capturing a live stream according to another embodiment of the present application is shown;

[0039] Figure 4 A structural block diagram of a live streaming screenshot system according to an embodiment of the present application is shown;

[0040] Figure 5 A schematic diagram of the structure of a computing device according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0041] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0042] First, the terms involved in one or more embodiments of the present application are explained.

[0043] Live streaming: A data stream that transmits audio and video content in real time. It is real-time and interactive. The live streaming process is a long link. Unless the host actively disconnects the stream, the live streaming will continue.

[0044] Live Edge Computing: A technology that pushes live streaming processing and distribution to the edge of the network. It combines edge computing and live streaming to improve the real-time live streaming experience and reduce the impact of latency and network congestion.

[0045] Edge computing nodes: are an important part of the edge computing architecture. They are located at the edge of the network and are used to perform computing tasks, process data, and provide services.

[0046] Live data frame: refers to the basic unit of video and audio data transmitted during live streaming. The type, encoding method and transmission mechanism of live data frame directly affect the quality and delay of live streaming. It includes video frames (I frames, P frames and B frames) and audio frames.

[0047] Key frame: contains complete image data, while non-key frame (such as P frame or B frame) only contains difference data relative to the previous frame or the next frame. It is an independent complete image that can be decoded alone without referring to other frames.

[0048] GOP: represents a group of continuous frames, including a key frame (I frame) and several non-key frames (P frames and / or B frames). Selecting the appropriate GOP length and structure can optimize video quality, compression efficiency and playback performance.

[0049] The current live broadcast architecture is as follows Figure 1 As shown, the anchor uses the broadcast tool to obtain the streaming address from the scheduling system and pushes the live stream to the edge computing upstream streaming service. The edge computing upstream streaming service will push the live stream to the edge computing recording, edge computing screenshot and other services for content recording. The edge computing recording service and the edge computing screenshot service record and store the live content in real time in memory for review by live reviewers, secondary creation of live content, live broadcast room cover, etc. The real-time and accuracy of the live screenshots are directly related to the review of the safety of live content production, which can effectively prevent the playback and dissemination of pornographic, violent and other live content, and is of great significance to the safety of the entire live content.

[0050] From the above background, it can be seen that the edge computing screenshot service provides the most basic data for live broadcast review, secondary creation of live broadcast content, live broadcast room cover and other businesses. It is the data source of upstream businesses and a crucial link in live broadcast content production and content security. However, there are still some problems in the current edge computing screenshot service, which affects the deployment of live broadcast edge computing resources, management costs and live broadcast production.

[0051] In order to improve the streaming quality of the anchor, the current live edge computing system is deployed across the country according to the principle of proximity. After receiving the anchor's streaming, the edge computing uplink streaming service will transfer the live stream to the edge computing screenshot service. The edge computing screenshot service will upload the recorded live screenshots to the storage device in real time for storage, so that various business terminals can pull data, thereby ensuring the real-time recording of the live content. The edge computing screenshot service deploys a large number of nodes to meet the content recording of the full live stream. However, with the increasing number of business-end access, the types and frequencies of images required are becoming more and more diverse, from the initial output of one image every 5 seconds to one image every 2 seconds, and then to uncompressed images and other businesses. As a result, the number of nodes of the edge computing screenshot service continues to increase, making manual management difficult, and it is easy for inconsistent versions to affect the safe production of online live content, which is likely to have a bad impact on the overall live ecosystem. On the other hand, the production of screenshots at different frequencies will cause a waste of resources. While ensuring the production of the most basic frequency screenshots, the production of screenshots at other frequencies will be increased, and additional edge computing resources will be deployed. The uploading of screenshots and the storage of storage devices will incur additional costs, resulting in additional consumption of edge computing resources, which increases the cost of edge computing. In addition, the deployment of too many resources will lead to resource shortages for other services, which will have a greater impact on the stability of the overall edge computing system.

[0052] In view of the above problems, the inventor of the present application has put forward a live streaming screenshot solution through creative work, which is described below with reference to specific examples:

[0053] Figure 2 A schematic diagram of a live streaming screenshot method according to an embodiment of the present application is shown. Figure 2 As shown, the method comprises the following steps:

[0054] Step S201, determining the image group information corresponding to the received live stream to be processed by screenshot.

[0055] Specifically, the anchor can use the live broadcast tool to broadcast live, and the live broadcast stream pushed by the anchor needs to be screenshotted. Here, the live broadcast stream that has not been screenshotted is called the live broadcast stream to be screenshotted. For the live broadcast stream, it is necessary to determine its corresponding image group information, where an image group is a group of continuous video frames. The image group usually starts with a key frame, followed by several non-key frames, that is, the image group contains a key frame and several non-key frames. Therefore, the image group information is also called GOP information, for example, including the image group length (GOP length), and of course it may also contain other information, such as frame type (I frame, P frame, B frame), etc.

[0056] Step S202: perform key frame detection and take screenshots based on the image group information.

[0057] Specifically, the image group information limits the image group length, and the image group usually starts with a key frame. Therefore, the image group information can reflect the frequency of occurrence of the key frame, that is, how many frames a key frame appears, so that whether a key frame appears can be detected in real time based on the image group information. After the key frame is detected based on the image group information, the key frame will be screenshoted (which can also be understood as copied). Since the key frame screenshot contains complete data and can be independently converted into an image, it ensures that the live screenshot data will not be missed. Then, the key frame screenshot is uploaded to the storage device in real time for storage, for example, it can be uploaded to a database or a central computer room, so that the upstream business end can pull the screenshot data for live content security review, secondary creation, etc.

[0058] When taking screenshots, there may be many key frame screenshots. Therefore, they can be packaged and compressed according to a specified bit rate to generate a data packet, and the data packet can be uploaded to a storage device for storage.

[0059] The present application uniformly takes screenshots according to the image group information. On the one hand, it completely preserves the original data of the live stream, and there will be no omission of intercepted stream data information. It can also solve the problem of loss of key frame data in live screenshots due to changes in live broadcast quality, compression efficiency, etc. In addition, the data content carried by the live stream can be truly restored based on the key frame screenshots, which greatly improves the security of live content production and the accuracy of review. On the other hand, it solves the problem of additional deployment of edge computing resources due to different interception frequencies required by the business end, avoids the production of repeated live screenshots of the same live stream due to different frequencies, and does not repeat the production of screenshots, which also reduces the consumption of edge computing screenshot upload bandwidth. It will not deploy resources with multiple screenshot frequencies, which greatly reduces the waste of edge computing resources, reduces the overall cost of edge computing, improves the stability of the edge computing system, and reduces storage costs.

[0060] Step S203: receiving a live stream screenshot acquisition request, wherein the live stream screenshot acquisition request carries a screenshot identifier.

[0061] The screenshot identifier is used to uniquely identify a business end. Each business end has a unique screenshot identifier. When the business end has a need to use live stream screenshots, the business end can send a live stream screenshot acquisition request, which carries the screenshot identifier, so that the live stream screenshot acquisition request sent by the business end and carrying the screenshot identifier can be received.

[0062] Step S204: determining the screenshot parameters corresponding to the screenshot identifier.

[0063] After obtaining the live stream screenshot acquisition request, the live stream screenshot acquisition request is parsed, the screenshot identifier is extracted from the request, and then the screenshot parameters corresponding to the screenshot identifier are determined. The screenshot parameters reflect the screenshot requirements of the business end. By determining the screenshot parameters corresponding to the business end, the image can be subsequently processed secondary according to the screenshot parameters to meet the business end's requirements for obtaining screenshots according to its specified screenshot frequency and bit rate.

[0064] Step S205, obtaining a target key frame screenshot, performing secondary image processing according to the screenshot parameters and the target key frame screenshot, and returning the processed live stream screenshot resource.

[0065] The key frame screenshot is stored in the storage device. Therefore, when secondary image processing is required, the target key frame screenshot can be pulled from the storage device, where the target key frame screenshot is the object referenced by the secondary image processing. The actual needs of the business end are different, and the pulled target key image may be different. After pulling the target key frame screenshot, the image can be secondary processed according to the screenshot parameters and the target key frame. The live stream screenshot obtained after the secondary image processing meets the screenshot requirements of the business end. Finally, the processed live stream screenshot resource is returned to the business end, where the live stream screenshot can be the live stream screenshot acquisition address or the corresponding live stream screenshot.

[0066] According to the live stream screenshot method provided in the embodiment of the present application, screenshots are taken according to the image group information, and then the screenshot parameters are determined based on the obtained screenshot identifier. The image is secondary processed based on the screenshot parameters and the obtained target key frame screenshot. This can not only meet the needs of the upstream business end, but also reduce the deployment of edge computing resources, the consumption of upload bandwidth and the cost of storage. While continuously improving the efficiency, it also greatly reduces the cost consumption of edge computing, thereby ensuring the stability of the overall edge computing system.

[0067] Figure 3 A schematic diagram of a live streaming screenshot method according to an embodiment of the present application is shown. Figure 3 As shown, the method comprises the following steps:

[0068] Step S301, determining the image group information corresponding to the received live stream to be processed by screenshot.

[0069] Specifically, for anchors who have live broadcast needs, they can use the broadcast tool to obtain the streaming address from the scheduling system and push the live stream to the edge computing upstream receiving node. The edge computing upstream receiving node will forward the live stream to the edge computing screenshot node for screenshot processing. Here, the live stream received by the edge computing screenshot node is called the live stream to be screenshotted. For this live stream, it is necessary to determine its corresponding image group information. For example, the video processing tool can be used to analyze the live stream and extract the image group information corresponding to the live stream. Of course, the image group information corresponding to the live stream to be screenshotted can also be determined by other methods.

[0070] Among them, a picture group is a group of continuous video frames, and a picture group usually starts with a key frame (I frame) followed by several non-key frames (P frames and / or B frames), that is, a picture group contains a key frame and several non-key frames. Therefore, picture group information is also called GOP information, for example, including picture group length (GOP length). For example, the picture group length is 10, so it can be determined that the picture group contains one I frame, 9 P frames and / or B frames, so that the occurrence frequency of the I frame can be obtained. Of course, it may also contain other information, such as frame type (I frame, P frame, B frame), etc.

[0071] Step S302: perform key frame detection and take screenshots based on the image group information.

[0072] Specifically, the image group information limits the image group length, and the image group usually starts with a key frame. Therefore, the image group information can reflect the frequency of occurrence of key frames, that is, how many frames a key frame appears, so that whether a key frame appears can be detected in real time based on the image group information, that is, according to the frequency of occurrence of key frames, a certain video frame in the live stream is detected as a key frame or a non-key frame, and after monitoring and detecting that a certain video frame is a key frame, the key frame is screenshot (which can also be understood as copying). Since the key frame screenshot contains complete data and can be independently converted into an image, it is ensured that the live screenshot data will not be missed. Then, the key frame screenshot is uploaded to the storage device in real time for storage, so that the upstream business end can pull the screenshot data for live content security review, secondary creation, etc.

[0073] When taking screenshots, there may be many key frame screenshots. Therefore, they can be packaged and compressed according to a specified bit rate to generate a data packet, and the data packet can be uploaded to a storage device for storage.

[0074] The present application uniformly takes screenshots according to the image group information. On the one hand, it completely preserves the original data of the live stream, and there will be no omission of intercepted stream data information. It can also solve the problem of loss of key frame data in live screenshots due to changes in live broadcast quality, compression efficiency, etc. In addition, the data content carried by the live stream can be truly restored based on the key frame screenshots, which greatly improves the security of live content production and the accuracy of review. On the other hand, it solves the problem of additional deployment of edge computing resources due to different interception frequencies required by the business end, avoids the production of repeated live screenshots of the same live stream due to different frequencies, and does not repeat the production of screenshots, which also reduces the consumption of edge computing screenshot upload bandwidth. It will not deploy resources with multiple screenshot frequencies, which greatly reduces the waste of edge computing resources, reduces the overall cost of edge computing, improves the stability of the edge computing system, and reduces storage costs.

[0075] Among them, step S301-step S302 is executed by the edge computing screenshot node.

[0076] The above steps realize the screenshot according to the GOP information, that is, the number of key frame screenshots output is the number of key frames contained in the live stream. However, since the screenshots are taken according to the GOP, it may not be possible to meet the upstream business end's need to obtain screenshots at the specified frequency and bit rate. It may happen that when the business end retrieves the screenshots, it is found that there are no screenshots, but the actual situation is that the key frames are not updated. In order to meet the upstream business end's need to obtain screenshots at the specified frequency and bit rate, it is necessary to perform secondary image processing when there is a screenshot acquisition demand at the upstream business end, so as to realize flexible data provision. Specifically, a screenshot data source secondary processing platform can be pre-built, and the screenshot data source secondary processing platform is implemented by executing the following method steps:

[0077] Step S303: pre-configure the association relationship between the screenshot parameters and the screenshot identifier.

[0078] Specifically, the screenshot data source secondary processing platform supports the business end to independently configure the required screenshot parameters. For example, a screenshot parameter configuration interface can be provided to the business end, and the business end can independently configure the required screenshot parameters in the screenshot parameter configuration interface, wherein the screenshot parameters may include: screenshot frequency and bit rate, thereby, the screenshot data source secondary processing platform can automatically generate a unique key bound to the business end, that is, a screenshot identifier, wherein the screenshot identifier is obtained by hashing the screenshot parameters or the screenshot parameters and the business end information, or is a random number, or is obtained by splicing the screenshot frequency and bit rate, or is obtained by splicing the screenshot frequency, bit rate, and business end information. The association relationship between the configuration screenshot parameters and the screenshot identifier can be stored in the screenshot identification table for subsequent query. In addition, the business end information can also be stored in the screenshot identification table.

[0079] Step S304: receiving a live stream screenshot acquisition request, wherein the live stream screenshot acquisition request carries a screenshot identifier.

[0080] The screenshot identifier is used to uniquely identify a business end. Each business end has a unique screenshot identifier. When the business end has a need to use live stream screenshots, the business end can send a live stream screenshot acquisition request, which carries the screenshot identifier, so that the live stream screenshot acquisition request sent by the business end and carrying the screenshot identifier can be received.

[0081] Step S305: obtaining screenshot parameters associated with the screenshot identifier.

[0082] After obtaining the live stream screenshot acquisition request, the live stream screenshot acquisition request is parsed, and the screenshot identifier is extracted from the request. Then, the screenshot parameters associated with the screenshot identifier are obtained. For example, the screenshot identification table is queried to determine the screenshot parameters associated with the screenshot identifier. The queried screenshot parameters are the screenshot parameters corresponding to the business end. The screenshot parameters reflect the screenshot requirements of the business end. By determining the screenshot parameters corresponding to the business end, the image can be subsequently processed secondary according to the screenshot parameters to meet the business end's requirements for obtaining screenshots according to its specified screenshot frequency and bit rate.

[0083] Step S306, obtaining a target key frame screenshot, performing image resampling processing according to the target key frame screenshot and the screenshot frequency, performing image secondary compression processing on the processed image according to the bit rate, and returning the processed live stream screenshot resource.

[0084] The key frame screenshots are stored in the storage device. Therefore, when secondary image processing is required, the target key frame screenshots can be pulled from the storage device, where the target key frame screenshots are the reference objects for secondary image processing. The actual needs of the business end are different, and the pulled target key images may be different. For example, the business end needs to conduct a safety review of the production of live content, or a real-time live broadcast room cover. At this time, it may only be necessary to pull the latest key frame screenshots stored in the storage device. If the business end needs to perform secondary creation of live content, it may be necessary to pull all key frame screenshots stored in the storage device, or pull the latest key frame screenshots stored in the storage device.

[0085] After pulling the target keyframe screenshot, the image can be resampled according to the target keyframe screenshot and the screenshot frequency. The image resampling process is to regenerate the image frame at different time points to meet the new screenshot time interval requirements, and then perform secondary compression on the processed image according to the bit rate. Finally, the processed live stream screenshot resource is returned to the business end, ensuring the normal use of the upstream business end and making up for the problem that the GOP screenshot is not produced at a fixed frequency. In addition, the secondary processing of the image is not controlled by the data source production side, but is extracted from the secondary processing platform of the screenshot data source, which will be more flexible and more expandable, improve the flexibility of live content production recording and review, and greatly improve the efficiency of subsequent iterative development.

[0086] In an optional embodiment, the first timestamp corresponding to the key frame image can also be recorded; therefore, the second timestamp when the screenshot is taken according to the screenshot frequency can be determined; the second timestamp is matched with the first timestamp corresponding to the target key frame screenshot to determine the unmatched second timestamp; the first timestamp closest to the unmatched second timestamp is determined, and the target key frame screenshot corresponding to the closest first timestamp is used as a reference frame image; finally, a live stream screenshot corresponding to the unmatched second timestamp is generated based on the reference frame image.

[0087] Specifically, the screenshot frequency reflects the screenshot requirements of the business end, for example, once every 2 seconds, and the screenshot frequency according to the GOP screenshot may be different from the business end requirements. For example, the GOP screenshot frequency is once every 3 seconds. Therefore, it is necessary to determine the second timestamp when taking screenshots according to the screenshot frequency. For example, the second timestamp is: 2 seconds, 4 seconds, 6 seconds, 8 seconds, and the first timestamp corresponding to the target key frame screenshot is: 0 seconds, 3 seconds, 6 seconds, 9 seconds. The second timestamp is matched with the first timestamp corresponding to the target key frame screenshot, and the unmatched second timestamp is determined. Timestamps, for example, 2 seconds, 4 seconds, and 8 seconds are not matched, and these screenshots are not produced, they will be processed according to the closest key frame image, so as to determine that the reference frame image corresponding to 2 seconds is the target key frame screenshot with the first timestamp of 0 seconds, the reference frame image corresponding to 4 seconds is the target key frame screenshot with the first timestamp of 3 seconds, and the reference frame image corresponding to 8 seconds is the target key frame screenshot with the first timestamp of 6 seconds. According to the reference frame image, an interpolation method is used to generate a live stream screenshot corresponding to the above-mentioned unmatched second timestamp; thereby satisfying the requirement of capturing once every 2 seconds.

[0088] According to the live stream screenshot method provided in the embodiment of the present application, the edge computing screenshot node performs key frame screenshots according to GOP. In order to meet the business requirements for screenshots of various frequencies and bit rates, a screenshot data source secondary processing platform is pre-built to perform image secondary processing on the key frame screenshots, and then the processed live stream screenshot resources are returned to the upstream business end. The data source secondary processing mechanism can uniformly control the live stream screenshot frequency, bit rate, etc., thereby avoiding repeated deployment of resources due to different screenshot frequencies of the edge computing screenshot service, and generating additional bandwidth and storage consumption due to repeated screenshots, thereby reducing edge computing cost expenditures.

[0089] Figure 4 FIG. 1 shows a structural block diagram of a live streaming screenshot system according to an embodiment of the present application. Figure 4 As shown, the system includes:

[0090] The screenshot processing module 401 is adapted to determine the image group information corresponding to the received live stream to be processed by screenshot; and perform key frame detection and screenshot according to the image group information;

[0091] The image secondary processing module 402 is suitable for receiving a live stream screenshot acquisition request, wherein the live stream screenshot acquisition request carries a screenshot identifier; determining the screenshot parameters corresponding to the screenshot identifier; obtaining the target key frame screenshot, performing image secondary processing according to the screenshot parameters and the target key frame screenshot, and returning the processed live stream screenshot resource.

[0092] Optionally, the screenshot parameters include: screenshot frequency and bit rate;

[0093] The image secondary processing module is further adapted to: perform image resampling processing according to the target key frame screenshot and the screenshot frequency;

[0094] The processed image is subjected to secondary compression processing according to the bit rate.

[0095] Optionally, the system further comprises: a recording module, adapted to record a first timestamp corresponding to the key frame image;

[0096] The image secondary processing module is further adapted to: determine a second timestamp when taking a screenshot according to the screenshot frequency;

[0097] Matching the second timestamp with the first timestamp corresponding to the target key frame screenshot, and determining the unmatched second timestamp;

[0098] Determine a first timestamp closest to the unmatched second timestamp, and use a target key frame screenshot corresponding to the closest first timestamp as a reference frame image;

[0099] A live stream screenshot corresponding to the unmatched second timestamp is generated according to the reference frame image.

[0100] Optionally, the system further comprises: a configuration module adapted to pre-configure an association relationship between the screenshot parameters and the screenshot identifier;

[0101] The screenshot identifier is obtained by hashing the screenshot parameters, or by concatenating the screenshot frequency and the bit rate.

[0102] Optionally, the image secondary processing module is further adapted to: obtain screenshot parameters associated with the screenshot identifier.

[0103] Optionally, the screenshot processing module is specifically an edge computing screenshot node, and the image secondary processing module is specifically a pre-built screenshot data source secondary processing platform.

[0104] The description of each module above refers to the corresponding description in the method embodiment and will not be repeated here.

[0105] According to the live stream screenshot system provided in the embodiment of the present application, the edge computing screenshot node performs key frame screenshots according to GOP. In order to meet the business needs of screenshots with various frequencies and bit rates, a screenshot data source secondary processing platform is pre-built to perform secondary image processing on the key frame screenshots, and then return the processed live stream screenshot resources to the upstream business end. The data source secondary processing mechanism can uniformly control the live stream screenshot frequency, bit rate, etc., avoiding repeated deployment of resources due to different screenshot frequencies of the edge computing screenshot service, and generating additional bandwidth and storage consumption due to repeated screenshots, thereby reducing edge computing cost expenditures.

[0106] An embodiment of the present application provides a non-volatile computer storage medium, which stores at least one executable instruction or computer program, and the executable instruction or computer program can enable a processor to perform operations corresponding to the live stream screenshot method in any of the above method embodiments.

[0107] An embodiment of the present application provides a computer program product, which includes at least one executable instruction or computer program, and the executable instruction or computer program can enable a processor to perform operations corresponding to the live stream screenshot method in any of the above method embodiments.

[0108] Figure 5 A schematic diagram of the structure of an embodiment of a computing device of the present application is shown, and the specific embodiment of the present application does not limit the specific implementation of the computing device.

[0109] like Figure 5 As shown, the computing device may include: a processor (processor) 502 , a communications interface (Communications Interface) 504 , a memory (memory) 506 , and a communication bus 508 .

[0110] The processor 502, the communication interface 504, and the memory 506 communicate with each other via the communication bus 508. The communication interface 504 is used to communicate with other devices such as a client or other server network elements. The processor 502 is used to execute the program 510, which can specifically execute the relevant steps in the above-mentioned embodiment of the live streaming screenshot method for a computing device.

[0111] Specifically, the program 510 may include program codes, which include computer operation instructions.

[0112] The processor 502 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the computing device may be processors of the same type, such as one or more CPUs; or may be processors of different types, such as one or more CPUs and one or more ASICs.

[0113] The memory 506 is used to store the program 510. The memory 506 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0114] The program 510 can be specifically used to enable the processor 502 to execute the live stream screenshot method in any of the above-mentioned method embodiments. The specific implementation of each step in the program 510 can refer to the corresponding descriptions in the corresponding steps and units in the above-mentioned live stream screenshot embodiment, which will not be repeated here. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-mentioned devices and modules can refer to the corresponding process description in the above-mentioned method embodiment, which will not be repeated here.

[0115] The algorithm and display provided herein are not inherently related to any specific computer, virtual system or other equipment. Various general purpose systems can also be used together with the teachings based on this. According to the above description, it is obvious to construct the structure required for this type of system. In addition, the present application embodiment is not directed to any specific programming language yet. It should be understood that various programming languages ​​can be utilized to realize the content of the present application embodiment described herein, and the above description of specific languages ​​is to disclose the best mode of implementation of the present application embodiment.

[0116] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.

[0117] Similarly, it should be understood that in order to streamline the present disclosure and help understand one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present application, the various features of the embodiments of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, the disclosed method should not be interpreted as reflecting the following intention: the claimed embodiments of the present application require more features than the features clearly stated in each claim. More specifically, as reflected in the claims below, the inventive aspects are less than all the features of the single embodiment disclosed above. Therefore, the claims following the specific embodiment are hereby explicitly incorporated into the specific embodiment, wherein each claim itself serves as a separate embodiment of the embodiment of the present application.

[0118] Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments may be combined into one module or unit or component, and in addition they may be divided into a plurality of submodules or subunits or subcomponents. Except that at least some of such features and / or processes or units are mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed in this manner may be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.

[0119] In addition, those skilled in the art will appreciate that, although some embodiments described herein include certain features included in other embodiments but not other features, the combination of features of different embodiments is meant to be within the scope of the embodiments of the present application and to form different embodiments. For example, in the claims below, any one of the claimed embodiments may be used in any combination.

[0120] The various component embodiments of the embodiments of the present application can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It should be understood by those skilled in the art that a microprocessor or digital signal processor (DSP) can be used in practice to implement some or all functions of some or all components according to the embodiments of the present application. The embodiments of the present application can also be implemented as a device or apparatus program (e.g., computer program and computer program product) for executing part or all of the methods described herein. Such a program implementing the embodiments of the present application can be stored on a computer-readable medium, or can have the form of one or more signals. Such a signal can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.

[0121] It should be noted that the above embodiments illustrate rather than limit the embodiments of the present application, and that those skilled in the art may design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference symbol between brackets should not be constructed as a limitation to the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "one" or "an" preceding an element does not exclude the presence of multiple such elements. The embodiments of the present application may be implemented by means of hardware including several different elements and by means of appropriately programmed computers. In a unit claim that lists several devices, several of these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc. does not indicate any order. These words may be interpreted as names.

Claims

1. A method for capturing a live stream, comprising: Screenshot processing step: determining the image group information corresponding to the received live stream to be processed by screenshot; Perform key frame detection and screenshot according to the image group information; The image secondary processing step: receiving a live stream screenshot acquisition request, wherein the live stream screenshot acquisition request carries a screenshot identifier; Determine the screenshot parameters corresponding to the screenshot identifier; Get the target key frame screenshot, perform secondary image processing according to the screenshot parameters and the target key frame screenshot, and return the processed live stream screenshot resource.

2. The method according to claim 1, wherein: The screenshot parameters include: screenshot frequency and bit rate; The performing secondary image processing according to the screenshot parameters and the target key frame screenshot further comprises: Perform image resampling processing according to the target key frame screenshot and the screenshot frequency; The processed image is subjected to secondary compression processing according to the code rate.

3. The method according to claim 2, wherein: The method further comprises: recording a first timestamp corresponding to the key frame image; The image resampling process according to the target key frame screenshot and the screenshot frequency further includes: Determine a second timestamp when taking a screenshot according to the screenshot frequency; Matching the second timestamp with the first timestamp corresponding to the target key frame screenshot, and determining unmatched second timestamps; Determine a first timestamp closest to the unmatched second timestamp, and use a target key frame screenshot corresponding to the closest first timestamp as a reference frame image; A live stream screenshot corresponding to the unmatched second timestamp is generated according to the reference frame image.

4. The method according to claim 2, wherein: The method further comprises: pre-configuring an association relationship between the screenshot parameters and the screenshot identifier; The screenshot identifier is obtained by performing hash processing on the screenshot parameters, or by concatenating the screenshot frequency and the bit rate.

5. The method according to claim 4, wherein: Determining the screenshot parameter corresponding to the screenshot identifier further includes: Obtaining screenshot parameters associated with the screenshot identifier.

6. The method according to any one of claims 1 to 5, wherein: The screenshot processing step is performed by an edge computing screenshot node, and the image secondary processing step is performed by a pre-built screenshot data source secondary processing platform.

7. A live streaming screenshot system, comprising: A screenshot processing module, adapted to determine image group information corresponding to the received live stream to be processed by screenshot; And, performing key frame detection and taking screenshots according to the image group information; The image secondary processing module is adapted to receive a live stream screenshot acquisition request, wherein the live stream screenshot acquisition request carries a screenshot identifier; Determine the screenshot parameters corresponding to the screenshot identifier; obtain the target key frame screenshot, perform secondary image processing according to the screenshot parameters and the target key frame screenshot, and return the processed live stream screenshot resource.

8. A computing device comprising: A processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform an operation corresponding to the live stream screenshot method according to any one of claims 1-6.

9. A computer storage medium, wherein at least one executable instruction is stored in the storage medium, and the executable instruction enables a processor to perform operations corresponding to the live stream screenshot method as described in any one of claims 1-6.

10. A computer program product, comprising at least one executable instruction, wherein the executable instruction enables a processor to execute operations corresponding to the live stream screenshot method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Integrated broadcast control platform video content screen capturing method and integrated broadcast control platform video content screen capturing device

    CN106713972A

  • Information processing method and device, electronic device and computer readable storage medium

    CN111629261A

  • Live broadcast data processing method and device, readable storage medium and computer equipment

    CN112118457A

  • Systems and methods for interactive video generation and rendering

    US20160321832A1