Video capture system and method based on task scheduling

By introducing a task scheduling-based graph capture gateway system into the video graph capture system, the merger and dispersion of graph capture tasks are realized, and the system performance is optimized through load balancing and dynamic adjustment, the problems of inefficient graph capture and waste of resources in the existing technology are solved, and efficient, accurate and reliable video graph capture effects are achieved.

CN120050456APending Publication Date: 2025-05-27SHANDONG SYNTHESIS ELECTRONICS TECH
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411904381.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-23
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

When existing video capture technology deals with a large number of capture tasks, the problem of task accumulation and uneven resource allocation is prone to problems such as inefficient capture of pictures, serious waste of resources, and difficult to meet the complex and changing video environment and capture needs.

Method used

A video capture system based on task scheduling is adopted to realize the merger and dispersion of capture tasks through the capture gateway system, combining load balancing and dynamic adjustment to optimize system performance.

Benefits of technology

It improves the efficiency and accuracy of video capture, optimizes system performance, realizes the characteristics of high concurrency, low coupling, easy deployment and easy maintenance, and can automatically identify and ensure image quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120050456A_ABST
    Figure CN120050456A_ABST
Patent Text Reader

Abstract

The invention discloses a video capture system and method based on task scheduling, and relates to the technical field of video monitoring, and the system comprises a business platform, a capture gateway system and a video platform. The service platform is used for issuing a service task to the screenshot gateway system; the screenshot gateway system is used for receiving the service task and executing a screenshot action based on the service task; the screenshot gateway system comprises a management node and a screenshot node, the management node is used for converting a service task into a screenshot task, and the screenshot node is used for executing a screenshot action from a video stream based on the screenshot task and pushing a captured image to a message queue; and the video platform is used for acquiring a video stream. According to the invention, combination and dispersion during issuing of the screenshot tasks are realized based on the screenshot gateway system, the efficiency and accuracy of video screenshot are improved, and the system performance is optimized through load balancing and dynamic adjustment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of video surveillance, and in particular, to a video image capture system and method based on task scheduling. Background Art

[0002] The statements in this section merely provide background technical information related to the present disclosure and do not necessarily constitute prior art.

[0003] The era of AI has quietly arrived and penetrated all aspects of life. Intelligent analysis based on images occupies most application scenarios, such as face recognition, forest fire prevention, etc. Algorithms are the soul of AI, but data is the basis of algorithms and also the ultimate manifestation of algorithms. Most application scenarios of AI require processing based on image data. Especially in the scenario of real-time AI monitoring, the image data of surveillance videos is crucial, and image data is obtained through video image capture technology.

[0004] However, there are still some deficiencies in the existing video image capture technology. For example, when dealing with a large number of image capture tasks, some technologies are prone to problems such as task accumulation and uneven resource allocation, resulting in low image capture efficiency and serious waste of resources. Some technologies lack sufficient flexibility and adaptability when facing complex and changing video environments and image capture requirements, and it is difficult to meet the dynamic needs of users. Summary of the Invention

[0005] To overcome the deficiencies of the above-mentioned prior art, the present invention provides a video image capture system and method based on task scheduling, which realizes the merging and dispersion when issuing image capture tasks based on an image capture gateway system, improves the efficiency and accuracy of video image capture, and also optimizes the system performance through load balancing and dynamic adjustment.

[0006] To achieve the above object, one or more embodiments of the present invention provide the following technical solutions:

[0007] In a first aspect, the present invention provides a video image capture system based on task scheduling, including a service platform, an image capture gateway system, and a video platform;

[0008] The service platform is used to issue service tasks to the image capture gateway system;

[0009] The image capture gateway system is used to receive the service tasks and perform image capture actions based on the service tasks; the image capture gateway system includes a management node and an image capture node. The management node is used to convert service tasks into image capture tasks, and the image capture node is used to perform image capture actions from the video stream based on the image capture tasks and push the captured images to a message queue;

[0010] The video platform is used to obtain video streams.

[0011] A further technical solution is that the service task is task - centered and includes task metadata, a time template, and a channel.

[0012] A further technical solution is that the screenshot capture task is channel - centered and includes a channel ID, a streaming URL, and task metadata.

[0013] A further technical solution is that the management node includes a task manager, a channel manager, a video platform client, a screenshot capture node manager, and a status manager. The task manager issues the received service task to the channel manager. The channel manager parses the channel in the service task and generates a corresponding channel session. The video platform client obtains the streaming URL corresponding to the current channel through the open interface of the video platform. The screenshot capture node manager is used to manage multiple screenshot capture nodes. The status manager reports the screenshot capture status to the monitoring system.

[0014] A further technical solution is that the channel session parses the time template corresponding to the channel in the service task and adds it to the scheduler. The scheduler calculates the screenshot capture time of the channel in real - time. After the screenshot capture time arrives, it issues a screenshot capture task to the channel manager of the screenshot capture node.

[0015] A further technical solution is that during the process of issuing the screenshot capture task, it includes a task merging and a task splitting function. The task splitting is completed in the channel manager. The specific steps are as follows:

[0016] Periodically obtain the time for the next screenshot capture of each channel from each channel session;

[0017] Sort the next screenshot capture times of all channels by time;

[0018] Screen out the channels that need to perform screenshot capture within the next set time, and determine the number of channels to be executed;

[0019] Judge whether the number of channels to be executed exceeds the maximum concurrency;

[0020] If so, intercept the channels that need to perform screenshot capture within the next set time exceeding the maximum concurrency, traverse the intercepted channels, and notify their next screenshot capture time to be postponed by the set time;

[0021] If not, the concurrency is within the allowable access range and no interference is required.

[0022] As described in claim 1, a video screenshot capture system based on task scheduling, wherein the screenshot capture node includes a screenshot capture channel manager and an image processing module. The screenshot capture channel manager is used for caching and managing the screenshot capture tasks issued by the management node, pulling the video stream from the video platform and triggering the image processing module. The image processing module intercepts key - frame images from the video stream and pushes them to the message queue.

[0023] In a second aspect, the present invention provides a video capture method based on task scheduling, including:

[0024] Obtaining a service task and sending it to a capture gateway system;

[0025] The capture gateway system receives the service task, parses the channels in the service task through a channel manager and creates a channel session, parses the time template corresponding to the channels in the service task through the channel session and adds it to a scheduler, calculates the capture time of the channels in real time through the scheduler, and sends a capture task to a capture node after the capture time arrives;

[0026] Performing a capture action from a video stream based on the capture task, and pushing the captured image to a message queue.

[0027] In a third aspect, the present invention provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, it implements the steps in a video capture method based on task scheduling as described in the second aspect.

[0028] In a fourth aspect, the present invention provides a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, and when the processor executes the program, it implements the steps in a video capture method based on task scheduling as described in the second aspect.

[0029] The above one or more technical solutions have the following beneficial effects:

[0030] The present invention realizes the merging and dispersion of capture tasks based on the capture gateway system, improves the efficiency and accuracy of video capture, and also optimizes the system performance through load balancing and dynamic adjustment.

[0031] In the present invention, task merging integrates multiple capture tasks into one large task, which can reduce the total number of executions of capture tasks, reduce system overhead, and also simplify the complexity of task management; task dispersion splits tasks containing the same channels and the same time into multiple small tasks, which can more effectively utilize system resources and avoid idle or overuse of system resources.

[0032] The present invention has the characteristics of being imperceptible, high-quality, highly concurrent, highly reliable, easy to deploy and easy to maintain. Being imperceptible means that there is no need to redeploy the video platform. The traditional security video platform can be used, and no changes need to be made to the used platform, truly achieving imperceptibility. Currently, it supports mainstream video platforms such as Hikvision video platform and Dahua video platform, and can also be easily docked with private platforms. High-quality means that due to the unevenness of equipment and network environments, the pictures captured from the video stream also have different qualities. For example, problems such as screen distortion and green screen may occur in the video. This system can automatically identify the quality of the captured images and ensure the quality of the finally captured pictures through methods such as retrying. High concurrency means that it runs in a microservice manner through a low-coupling method and inherently supports horizontal expansion. In theory, as long as physical resources permit, the concurrency is unlimited. High reliability means that the system is programmed in the Golang language with a clear and stable architecture. The hierarchical thinking is adopted, with a single responsibility for each layer, and the interaction between layers is simple and reliable. Https is used for interaction between services, which is safe and stable. Easy to deploy means that it is installed and deployed using the Docker method, which is simple and reliable. Through the deployment script, it can be deployed with one key. Easy to maintain means that by means of task reconciliation, etc., the screenshot situation of each task is tracked, and records are kept whether it is successful or failed. Finally, Prometheus provides the real-time operation status. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] The accompanying drawings forming a part of this specification are used to provide a further understanding of the present invention. The schematic embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation to the present invention.

[0034] Figure 1 is the overall architecture diagram of the video screenshot system according to the embodiment of the present invention;

[0035] Figure 2 is the architecture diagram of the management node of the screenshot gateway system according to the embodiment of the present invention;

[0036] Figure 3 is the composition structure diagram of the management node of the screenshot gateway system according to the embodiment of the present invention;

[0037] Figure 4 is the composition structure diagram of the screenshot node of the screenshot gateway system according to the embodiment of the present invention;

[0038] Figure 5 is the sequence diagram of the management node of the screenshot gateway system issuing a screenshot task according to the embodiment of the present invention;

[0039] Figure 6 is the timeline of not executing the first type of task merging function according to the embodiment of the present invention;

[0040] Figure 7 is the timeline of executing the first type of task merging function according to the embodiment of the present invention;

[0041] Figure 8 is the timeline for the second type of task merging function implemented in the embodiments of the present invention;

[0042] Figure 9 is the flowchart for the task splitting implemented by the channel manager in the embodiments of the present invention. Detailed implementation manners

[0043] It should be noted that the following detailed descriptions are all exemplary and are intended to provide further explanations of the present invention. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which the present invention belongs.

[0044] It should be noted that the terms used herein are only for describing specific implementation manners and are not intended to limit the exemplary embodiments according to the present invention. As used herein, unless the context clearly indicates otherwise, the singular forms are also intended to include the plural forms. In addition, it should be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.

[0045] In the case of no conflict, the embodiments in the present invention and the features in the embodiments can be combined with each other.

[0046] Embodiment 1

[0047] As Figure 1 shown, this embodiment discloses a video capture system based on task scheduling, including a service platform, a capture gateway system, and a video platform;

[0048] The service platform is used to send service tasks to the capture gateway system;

[0049] The capture gateway system is used to receive the service tasks and perform capture actions based on the service tasks; the capture gateway system includes a management node and a capture node, the management node is used to convert service tasks into capture tasks, and the capture node is used to perform capture actions from the video stream based on the capture tasks and push the captured images to the message queue;

[0050] The video platform is used to obtain video streams.

[0051] In this embodiment, the service platform generates service tasks and issues the service tasks through the interfaces exposed by the screenshot gateway system. The service tasks include task metadata, time templates, and channels. Among them, the task metadata is the task ID, which is the data that the task needs to transparently transmit; the time template describes the time and interval for taking screenshots of the channels within the task; the channels are the specific channels that need to perform the screenshot action, which can be one or multiple, and are reflected by the channel codes describing the channels in the video platform. The service task can be understood as being centered around the task, with one task corresponding to multiple channels.

[0052] Furthermore, the time template includes a validity period, a time cycle, and a parsing cycle. The validity period includes long-term and custom. In the long-term mode, there is no date limit; in the custom mode, a date segment can be set, such as 2024-09-10 - 2024-10-10. The time cycle can be set according to the week, such as being valid from 8:00 to 20:00 every Monday, and the service task is executed during this time period. The parsing cycle sets the time interval, such as 30S, that is, within the validity period, the screenshot action is executed every 30S.

[0053] In this embodiment, as Figure 2 shown, the screenshot gateway system is divided into two major parts, including a management node and a screenshot node. The management node and the screenshot node communicate via the Http method, and the communication content is divided into two categories: one is that the screenshot node regularly reports status information to the management node; the other is that the management node issues screenshot tasks to the screenshot node.

[0054] As Figure 3 shown, the management node includes a task manager, a channel manager, a video platform client, a screenshot node manager, and a status manager. The functions of each part are introduced separately below:

[0055] (1) TaskManager: Receives the service tasks issued by the service platform, caches them locally, and then issues them to the channel manager; saves the received service tasks to the database (the tasks issued by the service platform need to be saved to the database for persistent storage); when the management node is initialized, the task manager reads the service tasks from the database and issues them to the channel manager.

[0056] (2) ChanneManger: Parses the channels in the service task and generates corresponding channel sessions; manages the channel sessions, including the creation, deletion, etc. of the channel sessions; collects the channel session status and dynamically adjusts the channel screenshot actions, that is, the task splitting function.

[0057] Channel Session: The channel session parses the time template corresponding to the channel and adds it to the scheduler. Each channel session has a scheduler with a time accuracy of 1S, which calculates the capture time of the channel in real time. After the capture time arrives, first obtain the live stream URL of the current channel from the video platform. After the capture time arrives, the channel session packages the capture information and sends a capture task to the channel manager of the capture node. The capture information includes multiple task metadata that need to be captured at this time point, the channel live stream URL, etc. For example, at time T1, two tasks A and B corresponding to this channel both need to be captured, then the metadata of these two tasks are packaged into the capture information.

[0058] The capture task is channel-based. Due to the existence of the task merging function, a capture task may contain multiple business tasks. The capture task includes the channel ID, the live stream URL, and the task metadata. Among them, the channel ID is the ID of the current channel, which is defined by the lower-level video platform and carried by the user when issuing tasks through the business platform; the live stream URL is the live broadcast address corresponding to the current channel obtained from the lower-level video platform; the task is the task that needs to be captured at the current time point for the current channel, which can be one or multiple, and it is the metadata in the business task, such as including the task ID and the pass-through data, etc.

[0059] From the task issued by the business platform to the implementation of the capture action, there is a task conversion from top to bottom, that is, from the business task to the capture task, which is also a transformation from task-centered to channel-centered, and this conversion is implemented in the channel manager.

[0060] During the process of issuing the capture task, there are task merging and task splitting functions. Task merging means parsing the business tasks and merging them into capture tasks; task splitting is channel-based, that is, splitting the capture tasks. This greatly optimizes the execution process of the capture task, improves the overall performance and efficiency of the system, makes more effective use of resources, achieves load balancing, and avoids the idle or overuse of channel resources.

[0061] Task merging includes two categories. One is different business tasks on the same channel with the same capture interval; the other is different business tasks on the same channel with capture intervals that are multiples of each other. The capture process is very time-consuming and resource-consuming, and the capture should be executed as little as possible. Based on this, the system merges the business tasks with the same interval or intervals that are multiples of each other on the same channel, captures them uniformly, and then distributes them to each business task after the capture is successful, greatly reducing the service pressure and resource consumption.

[0062] For the first category, assume that a channel corresponds to two business tasks A and B, and the capture intervals are both 15s. Task A runs first, and task B runs 5s later. If there is no task merging function, then on the time axis, it will be presented as Figure 6As shown, nine screenshot actions need to be performed within the next minute. After using the task merging function, it is presented on the timeline Figure 7 As shown, only five screenshot actions need to be performed within the next minute. In the case of the same screenshot cycle, the principle of task merging is that when a new task arrives, before adding it to the scheduler, it will check if there are tasks with the same screenshot cycle. If so, the next screenshot time point of the new task will directly use that of the original task, that is, the merging of time points is achieved, which is the task merging function.

[0063] Second category, if the screenshot intervals of different business tasks on the same channel are multiples of each other, such as the screenshot interval of task A is 15s and the screenshot interval of task B is 30s. In this case, as Figure 8 shown, the tasks will be merged at the least common multiple time point of the two. In this case, the principle of task merging is that when the scheduler schedules, it will look back to see if there are tasks that need to be executed within the nearest 1S. If so, it will directly merge and execute them.

[0064] Task scattering is the process of dynamically adjusting the issued screenshot tasks, which is completed in the channel manager. When the channel manager is initialized, it will initialize a monitoring thread specifically for implementing the task scattering function. As Figure 9 shown, the specific steps are as follows:

[0065] Periodically obtain the time when the next screenshot will be executed from each channel session;

[0066] Sort the next screenshot times of all channels according to time;

[0067] Filter out the channels that need to execute screenshots within the next set time (1S), and determine the number of channels to be executed;

[0068] Judge whether the number of channels to be executed exceeds the maximum concurrency;

[0069] If so, intercept the channels that need to execute screenshots within the next set time (1S) exceeding the maximum concurrency, traverse the intercepted channels, and notify them that the next execution screenshot time is postponed by the set time (1S);

[0070] If not, the concurrency is within the allowable access range and no interference is required.

[0071] Through the above periodic adjustment, the channels exceeding the maximum concurrency at a certain time point are gradually optimized, and finally relatively evenly distributed throughout the timeline. In this adjustment process, the most core parameter is the maximum concurrency, which is the standard for whether adjustment is needed, and its value is particularly important.

[0072] The formula for calculating the maximum concurrency is as follows:

[0073]

[0074] Among them, C is the number of channels of the i-th task, t is the capture interval of the i-th task, RC is the actual number of channels (i.e., the number of channel sessions), and Δ is an adjustment factor, which is 1.5 or more in this embodiment.

[0075] The calculation principle is as follows: sum the concurrency of each task per unit time, then remove duplicates, and then multiply by the adjustment factor. The reason for removing duplicates is that due to the existence of task merging, the sum of task channel numbers will be greater than or equal to the actual channels. Through the adjustment factor, different requirements can be better adapted. The empirical value is 1.5. If it is too low, the dynamic adjustment function will be frequently triggered.

[0076] A capture task may contain multiple channels, or multiple capture tasks may contain different channels. Without intervention, there will be a situation where a large number of captures are performed at a certain moment and no captures are performed at other times. Based on this, it is necessary to perform load balancing at the channel level to evenly disperse tasks relatively, reduce the dispersion degree, and achieve the purpose of continuously executing capture actions.

[0077] (3) Video platform client VMSClient: used to obtain the pull stream URL corresponding to the current channel through the video platform open interface.

[0078] (4) Capture node manager ASSManager: used to manage multiple capture nodes, collect the status of each capture node, including online / offline, capture execution results, etc.; through the load balancing strategy, evenly distribute the received capture tasks to each capture node.

[0079] (5) Status manager: used to collect the capture status reported by the capture nodes, that is, the status of executing the capture task. The status includes the result of the capture, that is, whether it is successful. If it fails, it will also include the reason for failure. Manage the status maintained locally by the management node, that is, the status of issuing the capture task. Report the collected capture status and the locally maintained status to the monitoring system Prometheus.

[0080] As Figure 4 shown, the capture node includes a capture channel manager, a status manager, an image processing module, and a message queue client. The functions of each part are introduced separately below:

[0081] (1) Capture channel manager: used to cache the capture tasks issued by the management node; pull the live stream (or video stream) from the video platform and trigger the image processing module, and the image processing module uploads the key frame images to the message queue. The capture task is centered around the channel. One channel corresponds to multiple tasks, and one channel is a device, such as a camera.

[0082] (2) Status Manager: Collects the execution status of pulling live streams, image processing, image upload message queues, etc., and reports it to the management node regularly.

[0083] (3) Image Processing Module: Intercepts key-frame images from the live stream and detects the image quality; saves the intercepted key-frame images to the storage server; pushes the screen capture task and corresponding image URL and other information to the message queue.

[0084] (4) Message Queue Client: Pushes the screen capture task and corresponding image URL and other information to the message queue through the message queue client. For example, when sending this image captured by the current channel to the message queue, each task is sent once. For example, this screen capture task includes two tasks A and B. Then when sending to the message queue, two messages need to be sent. That is, Task A + Image URL, Task B + Image URL. In this embodiment, the message queue client supports RabbitMQ and can be extended to other MQs, which is not specifically limited in this embodiment.

[0085] The screen capture gateway system is programmed in the Golang language, with a clear and stable architecture. Adopting a layered concept, each layer has a single responsibility, and the interaction between layers is simple and reliable. The services interact with each other through Https, which is secure and stable. Installed and deployed using Docker, which is simple and reliable. With a deployment script, it can be deployed with one key. By means of task reconciliation, etc., it tracks the screen capture situation of each task. Whether it is successful or failed, there is a record, and finally the real-time operation status is provided through Prometheus.

[0086] The screen capture gateway system also includes horizontal expansion and data feedback functions. Running in the form of microservices in a low-coupling manner, it supports horizontal expansion. In theory, as long as physical resources permit, the concurrency is unlimited.

[0087] Horizontal Expansion: In a one-to-many manner, it can meet the requirements of different scenarios by horizontally expanding the screen capture nodes. The newly added screen capture nodes are added to the management node through active registration to achieve plug-and-play without perception. The management node manages the screen capture nodes through heartbeats, and timely eliminates the screen capture nodes with heartbeat timeouts to avoid invalid screen capture actions.

[0088] Data feedback function: The management node of the screenshot gateway system is equipped with a Prometheus service to provide access to relevant metrics externally. Both the management node and the screenshot node will collect key data in real time at key positions and provide it to Prometheus. Examples of relevant statistical metrics for tasks are as follows: including the number of screenshot tasks, dispatched task statistics, screenshot task statistics, and average execution success time. The number of screenshot tasks: how many channels a certain screenshot task has, which belongs to static data; dispatched task statistics: within a certain period of time, for a certain task, the number of screenshot requests dispatched by the gateway system to the screenshot node. If it fails, the reason for failure is given; screenshot task statistics: the number of successful executions when the screenshot node actually executes the screenshot. If it fails, the reason for failure is given; average execution success time: within a certain period of time, for a certain business task, the average time taken to execute the screenshot and successfully capture the image.

[0089] The screenshot node triggers the screenshot action according to the execution time, captures and saves images from the video platform, and then pushes the images to the message queue for use by the third-party platform. The third-party platform consumes the image data from the message queue. There is no need to redeploy the video platform. The traditional security video platform can be used, and the platform in use does not need to be changed at all, truly achieving imperceptibility. Currently, mainstream video platforms such as Hikvision video platform and Dahua video platform are supported, and it can also be easily docked with private platforms. Due to the uneven channels and network environments, the pictures captured from the video stream also have different qualities. For example, the video may have problems such as flower screens and green screens. The screenshot gateway system can automatically identify the quality of the captured images and ensure the quality of the finally captured pictures through methods such as retrying.

[0090] Embodiment 2

[0091] This embodiment discloses a video screenshot method based on task scheduling, including:

[0092] Obtain a business task and dispatch it to the screenshot gateway system;

[0093] The screenshot gateway system receives the business task, parses the channels in the business task through the channel manager and creates a channel session, parses the time template corresponding to the channels in the business task through the channel session and adds it to the scheduler, calculates the screenshot execution time of the channels in real time through the scheduler, and issues a screenshot task to the screenshot node after the screenshot time arrives;

[0094] Execute the screenshot action from the video stream based on the screenshot task and push the captured image to the message queue.

[0095] Embodiment 3

[0096] The objective of this embodiment is to provide a computing device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, the steps of the method in Embodiment 2 are implemented.

[0097] Embodiment 4

[0098] The objective of this embodiment is to provide a computer-readable storage medium, on which a computer program is stored. When the program is executed by a processor, the steps of the method in Embodiment 2 are executed.

[0099] The steps involved in the devices in the above Embodiments 3 and 4 correspond to those in Method Embodiment 1. For the specific implementation manners, reference may be made to the relevant description part of Embodiment 1. The term "computer-readable storage medium" should be understood to include a single medium or multiple media containing one or more instruction sets; it should also be understood to include any medium that can store, encode, or carry an instruction set for execution by a processor and enable the processor to execute any method in the present invention.

[0100] Those skilled in the art should understand that the above-mentioned modules or steps of the present invention can be implemented by a general-purpose computing device. Optionally, they can be implemented by program codes executable by the computing device, so that they can be stored in a storage device and executed by the computing device, or they can be separately fabricated into individual integrated circuit modules, or multiple modules or steps among them can be fabricated into a single integrated circuit module for implementation. The present invention is not limited to any specific combination of hardware and software.

[0101] The above are only the preferred embodiments of the present invention and are not used to limit the present invention. For those skilled in the art, various changes and modifications can be made to the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.

[0102] Although the specific implementation manners of the present invention are described above in conjunction with the accompanying drawings, it is not a limitation to the protection scope of the present invention. Those skilled in the art should understand that based on the technical solutions of the present invention, various modifications or deformations that can be made without creative efforts by those skilled in the art are still within the protection scope of the present invention.

Claims

1. A video capture system based on task scheduling, characterized in that: Including business platform, capture gateway system and video platform; Business platform, used to issue business tasks to the capture gateway system; A capture gateway system is used to receive the business task and perform a capture action based on the business task; the capture gateway system includes a management node and a capture node, the management node is used to convert the business task into a capture task, the capture node is used to perform a capture action from the video stream based on the capture task, and push the captured image to a message queue; Video platform for obtaining video streams.

2. A video capture system based on task scheduling as claimed in claim 1, characterized in that: The business task is task-centric and includes task metadata, time templates, and channels.

3. The video capture system based on task scheduling as claimed in claim 1, characterized in that: The capture task is channel-centric and includes a channel ID, a streaming URL, and task metadata.

4. The video capture system based on task scheduling as claimed in claim 1, characterized in that: The management node includes a task manager, a channel manager, a video platform client, a capture node manager and a status manager. After receiving the business task, the task manager sends it to the channel manager. The channel manager parses the channel in the business task and generates a corresponding channel session. The video platform client obtains the streaming URL corresponding to the current channel through the video platform open interface. The capture node manager is used to manage multiple capture nodes. The status manager reports the capture status to the monitoring system.

5. A video capture system based on task scheduling as claimed in claim 4, characterized in that: The channel session parses the time template corresponding to the channel in the business task and adds it to the scheduler. The scheduler calculates the channel execution capture time in real time, and sends the capture task to the channel manager of the capture node after the capture time arrives.

6. A video capture system based on task scheduling as claimed in claim 5, characterized in that: The process of issuing the screenshot task includes the functions of task merging and task breaking. The task breaking is completed in the channel manager. The specific steps are as follows: Periodically obtain the next capture execution time of each channel from each channel session; Sort the next snapshot times of all channels by time; Filter out the channels that need to be captured within the next set time and determine the number of channels to be executed; Determine whether the number of channels to be executed exceeds the maximum concurrent number; If so, the channels that need to execute screenshots within the next set time that exceed the maximum concurrency are intercepted, the intercepted channels are traversed, and the next execution of the screenshot is notified to back off the set time; If not, the concurrency is within the allowed access range and no interference is required.

7. The video capture system based on task scheduling as claimed in claim 1, characterized in that: The capture node includes a capture channel manager and an image processing module. The capture channel manager is used to cache the capture tasks issued by the management node, pull the video stream from the video platform and trigger the image processing module. The image processing module captures key frame images from the video stream and pushes them to the message queue.

8. A video capture method based on task scheduling, characterized in that: include: Obtain business tasks and send them to the screenshot gateway system; The capture gateway system receives the business task, parses the channel in the business task through the channel manager and creates a channel session, parses the time template corresponding to the channel in the business task through the channel session and adds it to the scheduler, calculates the channel execution capture time in real time through the scheduler, and sends the capture task to the capture node after the capture time is reached; Based on the picture capturing task, a picture capturing action is performed from the video stream, and the captured image is pushed to a message queue.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps of a video capture method based on task scheduling as described in claim 8 are implemented.

10. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the steps in the video capture method based on task scheduling as described in claim 8 are implemented.

Citation Information

Cited By

  • Distributed video capture scheduling method based on plan pre-issuing

    CN122437923A