Media data processing method and device, computer equipment and readable storage medium
By encapsulating the media data processing steps into plug-ins and storing them in local and cloud plug-in libraries, the problem of low media data processing efficiency in the prior art is solved, and resource consumption is reduced and processing efficiency is improved.
Patent Information
- Application Number
- CN202411809455.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-10
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2044-12-10
AI Technical Summary
In the prior art, when processing media data streams pushed by different audio and video surveillance devices, a variety of compatibility measures are required, which makes the service program bloated and difficult to maintain, thereby reducing the efficiency of media data processing.
Using plug-in management methods, the media data processing steps are encapsulated into plug-ins with less granularity and stored in the local plug-in library and the cloud plug-in library. Through the preset multiple data processing steps and execution sequence, the media data flow is processed, and the local plug-ins in the local plug-in library are first traversed. If the processing fails, query from the cloud plug-in library and load the corresponding data processing plug-in.
Reduces resource consumption and improves media data processing efficiency. When it is necessary to adapt to a new media data format, you only need to load new plug-ins without modifying the original plug-in logic. The plug-ins are highly versatile and easier to maintain and port.
Smart Images

Figure CN119814741A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a media data processing method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art
[0002] With the development of audio and video processing technology, audio and video monitoring equipment has been widely used. Due to differences in monitoring equipment manufacturers and device firmware versions, the audio and video stream data formats pushed from the device to the server vary, and the client's requirements for audio and video formats are not the same. Therefore, more compatibility measures need to be taken in the main process on the server to meet the differences in audio and video formats pushed by the device. However, this method requires redevelopment of a compatible service program for a new device once it encounters a new device. The server-side service program is bloated and difficult to maintain, resulting in low efficiency in media data processing. Summary of the invention
[0003] Based on this, it is necessary to provide a media data processing method, apparatus, computer equipment, computer-readable storage medium and computer program product that can improve the efficiency of media data processing in order to address the above technical problems.
[0004] In a first aspect, the present application provides a media data processing method, comprising:
[0005] Receive the media data stream pushed by the acquisition device; the media data stream is obtained by processing the raw stream data of the preset media format using the preset encapsulation protocol and transmission protocol;
[0006] Acquire a plurality of preset data processing steps and an execution order of each data processing step; and process a media data stream based on the plurality of data processing steps and the execution order;
[0007] For each data processing step, the media data processing result of the previous data processing step is obtained according to the execution order; multiple local plug-ins corresponding to the current data processing step in the local plug-in library are traversed, and the current local plug-in that is traversed is used to process the media data processing result. If the processing is successful, the corresponding processing result is used as the media data processing result of the current data processing step; if multiple local plug-ins fail to process, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library, and the data processing plug-in is used to process the media data processing result to obtain the media data processing result of the current data processing step;
[0008] The media data processing result corresponding to the last executed data processing step is sent to the client.
[0009] In one embodiment, querying and loading a data processing plug-in corresponding to the current data processing step from a cloud plug-in library includes:
[0010] Obtain error information generated by multiple local plug-ins when processing media data processing results;
[0011] Generate an error characteristic value according to multiple error information;
[0012] According to the error characteristic value, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library.
[0013] In one embodiment, according to the error characteristic value, querying and loading the data processing plug-in corresponding to the current data processing step from the cloud plug-in library includes:
[0014] Query the cloud plug-in library for multiple cloud plug-ins corresponding to the current data processing step;
[0015] If the characteristic value of any cloud plug-in is consistent with the error characteristic value, the cloud plug-in is used as the data processing plug-in corresponding to the current data processing step; the cloud plug-in is downloaded from the cloud plug-in library and installed locally.
[0016] In one embodiment, traversing multiple local plug-ins corresponding to the current data processing step in the local plug-in library includes:
[0017] Get the number of successful executions of multiple local plug-ins corresponding to the current data processing step in the local plug-in library;
[0018] The multiple local plug-ins are sorted according to the number of successful executions, and each local plug-in is traversed according to the sorting result.
[0019] In one of the embodiments, the media data processing method further includes:
[0020] Get the processing times and success times of each data processing plug-in;
[0021] Determine the processing success rate of each data processing plug-in according to the ratio of the number of successes to the number of processings;
[0022] If the processing success rate of any data processing plug-in exceeds the preset success rate, the data processing plug-in is pre-loaded locally.
[0023] In one of the embodiments, the media data processing method further includes:
[0024] Obtain the device model of the target device deployed in the target environment;
[0025] If the device model of the target device is consistent with the device model of the acquisition device, the data processing plug-ins corresponding to the acquisition device are loaded from the cloud plug-in library to the target environment for processing the media data stream pushed by the target device.
[0026] In a second aspect, the present application further provides a media data processing device, including:
[0027] The receiving module is used to receive the media data stream pushed by the acquisition device; the media data stream is obtained by processing the raw stream data of the preset media format using the preset encapsulation protocol and transmission protocol;
[0028] A first processing module is used to obtain a plurality of preset data processing steps and an execution order of each data processing step; and process the media data stream based on the plurality of data processing steps and the execution order;
[0029] The second processing module is used to obtain the media data processing result of the previous data processing step according to the execution order for each data processing step; traverse multiple local plug-ins corresponding to the current data processing step in the local plug-in library, and use the current local plug-in to process the media data processing result for the current local plug-in that has been traversed. If the processing is successful, the corresponding processing result is used as the media data processing result of the current data processing step; if the processing of multiple local plug-ins fails, query and load the data processing plug-in corresponding to the current data processing step from the cloud plug-in library, use the data processing plug-in to process the media data processing result, and obtain the media data processing result of the current data processing step;
[0030] The sending module is used to send the media data processing result corresponding to the last executed data processing step to the client.
[0031] In a third aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0032] Receive the media data stream pushed by the acquisition device; the media data stream is obtained by processing the raw stream data of the preset media format using the preset encapsulation protocol and transmission protocol;
[0033] Acquire a plurality of preset data processing steps and an execution order of each data processing step; and process a media data stream based on the plurality of data processing steps and the execution order;
[0034] For each data processing step, the media data processing result of the previous data processing step is obtained according to the execution order; multiple local plug-ins corresponding to the current data processing step in the local plug-in library are traversed, and the current local plug-in that is traversed is used to process the media data processing result. If the processing is successful, the corresponding processing result is used as the media data processing result of the current data processing step; if multiple local plug-ins fail to process, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library, and the data processing plug-in is used to process the media data processing result to obtain the media data processing result of the current data processing step;
[0035] The media data processing result corresponding to the last executed data processing step is sent to the client.
[0036] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the following steps are implemented:
[0037] Receive the media data stream pushed by the acquisition device; the media data stream is obtained by processing the raw stream data of the preset media format using the preset encapsulation protocol and transmission protocol;
[0038] Acquire a plurality of preset data processing steps and an execution order of each data processing step; and process a media data stream based on the plurality of data processing steps and the execution order;
[0039] For each data processing step, the media data processing result of the previous data processing step is obtained according to the execution order; multiple local plug-ins corresponding to the current data processing step in the local plug-in library are traversed, and the current local plug-in that is traversed is used to process the media data processing result. If the processing is successful, the corresponding processing result is used as the media data processing result of the current data processing step; if multiple local plug-ins fail to process, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library, and the data processing plug-in is used to process the media data processing result to obtain the media data processing result of the current data processing step;
[0040] The media data processing result corresponding to the last executed data processing step is sent to the client.
[0041] In a fifth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:
[0042] Receive the media data stream pushed by the acquisition device; the media data stream is obtained by processing the raw stream data of the preset media format using the preset encapsulation protocol and transmission protocol;
[0043] Acquire a plurality of preset data processing steps and an execution order of each data processing step; and process a media data stream based on the plurality of data processing steps and the execution order;
[0044] For each data processing step, the media data processing result of the previous data processing step is obtained according to the execution order; multiple local plug-ins corresponding to the current data processing step in the local plug-in library are traversed, and the current local plug-in that is traversed is used to process the media data processing result. If the processing is successful, the corresponding processing result is used as the media data processing result of the current data processing step; if multiple local plug-ins fail to process, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library, and the data processing plug-in is used to process the media data processing result to obtain the media data processing result of the current data processing step;
[0045] The media data processing result corresponding to the last executed data processing step is sent to the client.
[0046] The above-mentioned media data processing method, device, computer equipment, computer-readable storage medium and computer program product process the media data stream through a plurality of data processing steps with a preset execution order, encapsulate each data processing step into a plug-in with smaller granularity, and store them in a local plug-in library and a cloud plug-in library. For a single client, the client and the cloud are linked, and the local plug-in library does not need to load all plug-ins, which reduces resource consumption. When facing media data streams pushed by different acquisition devices with different encapsulation protocols, transmission protocols and preset media formats, when it is necessary to adapt to a new media data format, compared with the traditional method of developing compatible programs, the plug-in management method only needs to load a new plug-in, and there is no need to modify the original plug-in. The logic plug-in has high versatility and is easier to maintain and transplant, which greatly improves the efficiency of media data processing; the media data stream is processed based on multiple data processing steps and execution order. When executing the current data processing step, the local plug-ins in the local plug-in library are first traversed, and the local plug-in is used to process the media data processing result of the previous data processing step, which is conducive to improving the efficiency of media data processing; when multiple local plug-ins fail to process, the corresponding data processing plug-in can be queried and loaded from the cloud plug-in library. This combination of local and cloud can ensure that each data processing step is successfully processed by dynamically loading the cloud plug-in when the local plug-in cannot process the media data, which is conducive to further improving the efficiency of media data processing. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0048] Figure 1 is an application environment diagram of a media data processing method in an embodiment;
[0049] Figure 2 is a flow chart of a media data processing method in one embodiment;
[0050] Figure 3 is a flow chart of a media data processing method in another embodiment;
[0051] Figure 4 A schematic diagram of a cloud plug-in library in one embodiment;
[0052] Figure 5 is a schematic diagram of the overall flow of a media data processing method in one embodiment;
[0053] Figure 6 is a structural block diagram of a media data processing device in one embodiment;
[0054] Figure 7 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0055] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0056] With the development of audio and video processing technology, audio and video monitoring equipment has been widely used. The video monitoring network system service based on the GB / T28181 protocol is referred to as GBS. For each user, a GBS server, a client and at least one audio and video monitoring device are often deployed. Among them, the GBS server serves as the server side, and at least one audio and video monitoring device serves as the device side. The server side processes the media data stream received from the device side and sends it to the client side. Due to the differences in monitoring equipment manufacturers and device firmware versions, the audio and video stream data formats pushed from the device side to the server side are diverse, and the client side has different requirements for the audio and video format. Therefore, more compatibility measures need to be taken in the main process of the server side to meet the differences in the audio and video formats pushed by the device side. However, this method requires restarting to update the compatible service program every time the program is modified, which increases the unavailable time of the program and affects the customer experience. At the same time, the audio and video formats required by different customers are often different, for example, FLV (Flash Video) format, HLS (HTTP LiveStreaming, HTTP-based streaming media transmission protocol) format, WebRTC (Web Real-Time Communications, web real-time communication technology) format, etc., but for customers of the same project, the required formats are usually limited, and providing services in various audio and video formats on the server side will consume more service resources. In addition, once a new device is encountered, it is necessary to redevelop a compatible service program for the device, or apply a patch when a problem is encountered. The service program on the server side is bloated and difficult to maintain. In addition, the differences in audio and video formats are compatible in the main process, which is not conducive to development, maintenance and testing, resulting in low efficiency in media data processing.
[0057] Based on this, an embodiment of the present application proposes a media data processing method, wherein the server side receives the media data stream pushed by the acquisition device, and processes the media data stream based on a preset plurality of data processing steps and an execution order, wherein the server side adopts a plug-in management method, encapsulates each data processing step into a plug-in with smaller granularity, and stores it in a local plug-in library and a cloud plug-in library. For a single client, the client and the cloud are linked, and there is no need to load a full set of plug-ins in the local plug-in library, thereby reducing resource consumption. In the face of media data streams pushed by different acquisition devices with different encapsulation protocols, transmission protocols and preset media formats, when it is necessary to adapt to a new media data format, compared with the traditional method of developing compatible programs, the plug-in management method only needs to load a new plug-in without modifying the logic of the original plug-in. The plug-in has high versatility and is easier to maintain and transplant, which greatly improves media data processing. Efficiency; the media data stream is processed based on multiple data processing steps and execution order. When executing the current data processing step, the local plug-ins in the local plug-in library are first traversed, and the local plug-ins are used to process the media data processing results of the previous data processing step, which is conducive to improving the media data processing efficiency; when multiple local plug-ins fail to process, the corresponding data processing plug-in can be queried and loaded from the cloud plug-in library. This combination of local and cloud can ensure that each data processing step is successfully processed by dynamically loading the cloud plug-in when the local plug-in cannot process the media data, which is conducive to further improving the media data processing efficiency; the server sends the media data processing results corresponding to the last executed data processing step to the client. Since each data processing step is preset and can be flexibly adjusted according to customer needs, it can ensure that the media data sent to the client meets customer needs.
[0058] The media data processing method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown, a server 102, a client 104 and a device 106 are deployed in the client environment. The server 102 may be a GBS server, and the device 106 may include at least one acquisition device. The server 102 receives the media data stream pushed by the acquisition device; the media data stream is obtained by processing the raw stream data of the preset media format using the preset encapsulation protocol and transmission protocol; obtains the preset multiple data processing steps and the execution order of each data processing step; processes the media data stream based on the multiple data processing steps and the execution order; for each data processing step, obtains the media data processing result of the previous data processing step according to the execution order; traverses the multiple local plug-ins corresponding to the current data processing step in the local plug-in library, and uses the current local plug-in to process the media data processing result. If the processing is successful, the corresponding processing result is used as the media data processing result of the current data processing step; if the processing of multiple local plug-ins fails, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library, and the data processing plug-in is used to process the media data processing result to obtain the media data processing result of the current data processing step; and the media data processing result corresponding to the last executed data processing step is sent to the client 104. Among them, the server 102 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The client 104 may be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, IoT devices, and portable wearable devices. IoT devices may be smart speakers, smart TVs, smart air conditioners, smart car devices, projection devices, etc. Portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc. Head-mounted devices may be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc.
[0059] In an exemplary embodiment, Figure 2 As shown, a media data processing method is provided, which is applied to Figure 1 The server 102 in the example is used as an example to illustrate, including the following steps 202 to 208. Among them:
[0060] Step 202, receiving the media data stream pushed by the acquisition device; the media data stream is obtained by processing raw stream data in a preset media format using a preset encapsulation protocol and a transmission protocol.
[0061] Among them, the acquisition device refers to an audio and video acquisition device, which is used to acquire media data streams. After acquiring the media data streams, the acquisition device pushes the media data streams to the server. The media data streams received by the server may include audio data streams or video data streams. Multiple acquisition devices can be deployed in the customer environment, and the media data streams pushed by each acquisition device can be processed using the media data processing method proposed in the embodiment of the present application.
[0062] Raw stream data refers to data directly output after being encoded by an encoder in the field of audio and video encoding. Raw stream data is not encapsulated by any transmission protocol and has a specific data structure and composition method. The preset media format refers to the data format of raw stream data. For example, it can be H264 (a video compression standard), H265 (a video compression standard), AAC (Advanced Audio Coding), G711 (an audio encoding method developed by the International Telecommunication Union), and other data formats.
[0063] The encapsulation protocol refers to the protocol for encapsulating raw stream data. The encapsulation protocol defines the format and structure of the data packet so that it can be correctly parsed and processed during transmission and storage. For example, the PS (Program Stream) encapsulation protocol.
[0064] The transport protocol refers to a protocol used to encapsulate the raw stream data after encapsulation for transmission, for example, the RTP (Real-Time Transport Protocol) protocol.
[0065] Exemplarily, the media data stream is obtained by encapsulating raw stream data in H264 format using the PS encapsulation protocol, and then further encapsulating the encapsulation result using the RTP protocol.
[0066] Step 204, obtaining a plurality of preset data processing steps and the execution order of each data processing step; and processing the media data stream based on the plurality of data processing steps and the execution order.
[0067] Among them, since the media data stream is obtained by processing the raw stream data of the preset media format through the preset encapsulation protocol and transmission protocol, the media data stream needs to be protocol parsed and transcapsulated into the data format specified by the client before it can be recognized by the client.
[0068] The data processing step refers to the step of performing protocol parsing and transcapsulation on the media data stream. The data processing step is preset in the server side. For example, for acquisition equipment based on the GB / T28181 (the standard of China's public security prevention video surveillance system) protocol standard, a unified data processing step can be used for the media data stream, which is conducive to the development, maintenance and testing of the server-side program. Exemplarily, the data processing step includes four steps: RTP packet framing, PS protocol parsing, raw stream data parsing and transcapsulation. For each data processing step, it can also include at least one sub-step, and each sub-step also has an execution order.
[0069] The execution order refers to the execution sequence of multiple data processing steps. When the server processes the media data stream, it executes each data processing step according to the execution order, and can process the media data stream into the data format required by the client.
[0070] like Figure 3 The figure shows a flow chart of a media data processing method in another embodiment. For the media data stream pushed by the acquisition device, the server first performs RTP packetization and framing on the media data stream, then performs PS protocol parsing on the RTP packetization and framing result, and then performs raw stream data parsing on the PS protocol parsing result, then transcapsulates the raw stream data parsing result, and finally sends the transcapsulation result to the client.
[0071] Step 206, for each data processing step, obtain the media data processing result of the previous data processing step according to the execution order; traverse multiple local plug-ins corresponding to the current data processing step in the local plug-in library, and use the current local plug-in to process the media data processing result for the current local plug-in traversed to. If the processing is successful, the corresponding processing result is used as the media data processing result of the current data processing step; if multiple local plug-ins fail to process, query and load the data processing plug-in corresponding to the current data processing step from the cloud plug-in library, use the data processing plug-in to process the media data processing result, and obtain the media data processing result of the current data processing step.
[0072] The media data processing result refers to the result obtained after each data processing step is executed. Since each data processing step has an execution order, for the first data processing step, the current data processing step is used to process the media data stream, and for non-first data processing steps, the current data processing step is used to process the media data processing result of the previous data processing step.
[0073] The local plugin library refers to the storage space on the server side for storing plugins. The cloud plugin library refers to the storage space on the cloud server for storing plugins. The local plugin library stores some commonly used plugins corresponding to multiple data processing steps, while the cloud server stores the full set of plugins corresponding to multiple data processing steps. Figure 4 The diagram shows a schematic diagram of a cloud plug-in library in one embodiment. Among them, the cloud plug-in library includes multiple plug-in libraries: an RTP package plug-in library, an audio and video format parsing plug-in library, and an encapsulation format plug-in library, and each plug-in library includes multiple plug-ins. Among them, the RTP package plug-in library is a plug-in library corresponding to the RTP package framing data processing step, the audio and video format parsing plug-in library is a plug-in library corresponding to the raw stream data parsing data processing step, and the encapsulation format plug-in library is a plug-in library corresponding to the encapsulation data processing step. The server side can determine the data processing plug-in corresponding to each data processing step by query. In addition, the cloud plug-in library supports horizontal and vertical expansion. Horizontal expansion means that each plug-in library can expand more plug-ins, and vertical expansion means that the cloud plug-in library can add more plug-in libraries corresponding to the data processing steps. The expansion of the cloud plug-in library does not require modifying the logic of the original plug-in, and directly adds new plug-ins, which complies with the opening and closing principle.
[0074] The following explanation is given by taking the current data processing step as a non-first data processing step as an example. The server side first traverses the multiple local plug-ins corresponding to the current data processing step in the local plug-in library one by one. If the current local plug-in successfully processes the media data processing result, the processing result corresponding to the current local plug-in can be used as the media data processing result of the current data processing step. If the processing fails, continue to traverse. If multiple local plug-ins fail to process, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library. The processing result obtained after the data processing plug-in processes the media data processing result is the media data processing result of the current data processing step.
[0075] Step 208: Send the media data processing result corresponding to the last executed data processing step to the client.
[0076] Among them, after each plug-in obtained by querying the local plug-in library and the cloud plug-in library processes the media data stream in turn, the media data processing result corresponding to the last executed data processing step is the media data that meets the customer's format requirements. The server sends the media data processing result to the client so that the client can directly process the received media data processing result.
[0077] In the above-mentioned media data processing method, the media data stream is processed through a plurality of data processing steps with a preset execution order, and each data processing step is encapsulated into a plug-in with smaller granularity, and stored in a local plug-in library and a cloud plug-in library. For a single client, the client and the cloud are linked, and there is no need to load all the plug-ins in the local plug-in library, thereby reducing resource consumption; in the face of media data streams pushed by different acquisition devices with different encapsulation protocols, transmission protocols and preset media formats, when it is necessary to adapt to the new media data format, compared with the traditional method of developing compatible programs, the plug-in management method only needs to load a new plug-in without modifying the logic of the original plug-in, and the plug-in has a high versatility. , easier to maintain and transplant, greatly improving the efficiency of media data processing; processing the media data stream based on multiple data processing steps and execution order, when executing the current data processing step, first traverse the local plug-in library, and use the local plug-in to process the media data processing result of the previous data processing step, which is conducive to improving the efficiency of media data processing; when multiple local plug-ins fail to process, the corresponding data processing plug-in can be queried and loaded from the cloud plug-in library. This combination of local and cloud can ensure that each data processing step is successfully processed by dynamically loading the cloud plug-in when the local plug-in cannot process the media data, which is conducive to further improving the efficiency of media data processing.
[0078] In an exemplary embodiment, querying and loading a data processing plug-in corresponding to a current data processing step from a cloud plug-in library includes: obtaining error information generated by multiple local plug-ins each processing a media data processing result; generating an error characteristic value based on the multiple error information; and querying and loading a data processing plug-in corresponding to the current data processing step from a cloud plug-in library based on the error characteristic value.
[0079] The error information is used to indicate the error situation of the local plug-in in processing the media data processing result. The error information usually contains a field that cannot be parsed or cannot be identified. The server can determine the data processing plug-in based on the error information.
[0080] The error characteristic value refers to the characteristic value corresponding to the error information. The server side stores the mapping relationship between the error information and the error characteristic value. The error information and the error characteristic value can be a one-to-one or a many-to-one relationship. The server side determines the error characteristic values corresponding to multiple error information by querying the mapping relationship.
[0081] For example, the error message contains the fields "format" and "H264", and the corresponding error characteristic value is 264, indicating that the media data stream is in H264 format. The server can use the parsing plug-in corresponding to the H264 format in the cloud plug-in library as the data processing plug-in corresponding to the current data processing step.
[0082] refer to Figure 4 ,Each data processing step in the cloud plug-in library corresponds to multiple plug-ins, and each plug-in has its own corresponding feature value. ,After determining the error feature value, the server side can query and load the data processing plug-in corresponding to the current data processing step from the cloud plug-in library according to the error feature value and the feature values corresponding to each plug-in.
[0083] In this embodiment, an error characteristic value is generated through the error information generated when the local plug-in is executed, and then the corresponding data processing plug-in is queried in the cloud plug-in library according to the error characteristic value. Since the error information indicates the error situation processed by the local plug-in, this method of querying the data processing plug-in based on the error information is conducive to querying the accurate plug-in, ensuring that the queried data processing plug-in can successfully process the media data processing results.
[0084] In an exemplary embodiment, according to the error characteristic value, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library, including: querying the cloud plug-in library for multiple cloud plug-ins corresponding to the current data processing step; if the characteristic value of any cloud plug-in is consistent with the error characteristic value, then using the cloud plug-in as the data processing plug-in corresponding to the current data processing step; downloading the cloud plug-in from the cloud plug-in library and installing it locally.
[0085] The cloud plug-in refers to the plug-in corresponding to the current data processing step in the cloud plug-in library. Each data processing step corresponds to at least one plug-in in the cloud plug-in library. When there are multiple cloud plug-ins corresponding to the current data processing step, it is necessary to further determine the corresponding data processing plug-in from the multiple cloud plug-ins.
[0086] The terminal compares the error characteristic value with the characteristic values corresponding to each of the multiple cloud plug-ins. When the characteristic value corresponding to any cloud plug-in is consistent with the error characteristic value, the server can use the cloud plug-in as the data processing plug-in corresponding to the current data processing step.
[0087] After searching for the data processing plug-in, the server downloads the corresponding cloud plug-in from the cloud plug-in library and installs it locally on the server.
[0088] In some embodiments, the server can also save the downloaded cloud plug-in to the local plug-in library, so that the local plug-in library can be dynamically updated according to the actual situation. After the local plug-in library saves the cloud plug-in, the plug-in in the local plug-in library can be directly used for the media data stream that the cloud plug-in can successfully process, which is conducive to improving the efficiency of media data processing.
[0089] In other embodiments, if the characteristic values of multiple cloud plug-ins are inconsistent with the error characteristic value, it indicates that there is no cloud plug-in in the cloud plug-in library that can process the media data processing results, and the server generates a first alarm prompt, which is used to prompt the developer that the plug-in corresponding to the error characteristic value is missing in the cloud plug-in library.
[0090] In this embodiment, the error characteristic value is compared with the characteristic values of multiple cloud plug-ins corresponding to the current data processing step in the cloud plug-in library. When they are consistent, the corresponding cloud plug-in is determined to be the data processing plug-in corresponding to the current data processing step. Since the characteristic value of the queried cloud plug-in is consistent with the error characteristic value, it indicates that the characteristic value of the cloud plug-in matches the field included in the error information of the local plug-in. Therefore, the cloud plug-in is used as the data processing plug-in corresponding to the current data processing step, which can ensure the successful processing of the media data processing result. In addition, downloading and installing the cloud plug-in locally is conducive to improving the media data processing efficiency in subsequent processing.
[0091] In an exemplary embodiment, traversing multiple local plug-ins corresponding to the current data processing step in the local plug-in library includes: obtaining the number of successful executions of each of the multiple local plug-ins corresponding to the current data processing step in the local plug-in library; sorting the multiple local plug-ins according to the number of successful executions, and traversing each local plug-in according to the sorting result.
[0092] The local plug-in processes the media data processing result, which may be successful or unsuccessful. The number of successful executions refers to the number of successful executions of the local plug-in. Each local plug-in has its own number of successful executions, which are updated in real time.
[0093] In some embodiments, when any local plug-in is processed successfully, the number of successful executions corresponding to the local plug-in is increased by a preset value to achieve real-time update of the number of successful executions. For example, the preset value may be 1.
[0094] When traversing the local plug-in library on the server side, the number of successful executions of each of the multiple local plug-ins corresponding to the current data processing step can be obtained, and the multiple local plug-ins can be sorted according to the number of successful executions. For example, the sorting result refers to the result after sorting the multiple local plug-ins. For example, the sorting result can be sorting the multiple local plug-ins from large to small according to the number of successful executions. The server side can traverse each local plug-in one by one according to the sorting result.
[0095] In this embodiment, for multiple local plug-ins corresponding to the current data processing step in the local plug-in library, each local plug-in is sorted according to the number of successful executions of each of the multiple local plug-ins. The more successful execution times, the more commonly used the plug-in is. Traversing according to the sorting results is conducive to quickly finding the local plug-in that can successfully process the media data processing results, thereby helping to improve the efficiency of media data processing.
[0096] In an exemplary embodiment, the media data processing method also includes: obtaining the number of processing times and the number of successes of each data processing plug-in; determining the processing success rate of each data processing plug-in based on the ratio of the number of successes to the number of processing times; if the processing success rate of any data processing plug-in exceeds a preset success rate, pre-loading the data processing plug-in locally.
[0097] The number of processing times refers to the total number of times the data processing plug-in processes the media data processing result or the media data stream. The number of success times refers to the number of successful processing times. The server updates the number of processing times after each data processing plug-in processes, and updates the number of success times after any data processing plug-in processes successfully.
[0098] The media data processing method further includes: if any data processing plug-in successfully processes, the number of successes corresponding to the data processing plug-in is increased by a preset value; if any data processing plug-in fails to process, a second alarm prompt is generated and sent to the cloud server. The second alarm prompt is used to remind the developer that the cloud plug-in corresponding to the data processing plug-in has defects and needs to be corrected in time.
[0099] The server uses the ratio of the number of successes to the number of processing times as the processing success rate of the corresponding data processing plug-in. For a data processing plug-in whose processing success rate exceeds a preset success rate, the data processing plug-in can be pre-loaded locally on the server.
[0100] In some embodiments, after querying and loading the data processing plug-in corresponding to the current data processing step from the cloud plug-in library, it also includes: the server side obtains an associated plug-in that has an associated relationship with the data processing plug-in; downloads the associated plug-in from the cloud plug-in library, and installs the associated plug-in locally.
[0101] The association relationship refers to the probability that the corresponding associated plug-in is used in the subsequent data processing steps after the data processing plug-in corresponding to the current data processing step is used, which exceeds the preset probability. For example, if plug-in A in step 1 is used, the probability that plug-in B in step 2, plug-in C in step 3, and plug-in D in step 4 will be used in the subsequent data processing steps exceeds the preset probability. When querying and loading plug-in A from the cloud plug-in library, the plug-ins of other steps can be loaded locally to avoid frequent queries to the cloud, which is conducive to reducing bandwidth.
[0102] In this embodiment, the processing success rate is determined by the number of processing times and the number of success times of each data processing plug-in. For a data processing plug-in whose processing success rate exceeds a preset success rate, it indicates that the data processing plug-in is more commonly used. The data processing plug-in is pre-loaded locally, and the local data processing plug-in can be directly used in subsequent data processing, avoiding frequent queries to the cloud server, reducing bandwidth, and helping to improve media data processing efficiency.
[0103] In an exemplary embodiment, the media data processing method also includes: obtaining the device model of the target device deployed in the target environment; if the device model of the target device is consistent with the device model of the acquisition device, then loading the data processing plug-ins corresponding to the acquisition device from the cloud plug-in library to the target environment for processing the media data stream pushed by the target device.
[0104] The target environment refers to an environment different from the current customer environment. The target device is a media data acquisition device deployed in the target environment. A separate client and server are deployed in the target environment.
[0105] Since different environments may adopt the same protocol standard, the data processing steps for media data streams in different environments are the same. For a customer environment that has been deployed, if the target environment has deployed the same target device, the deployment of the customer environment can be copied to the target environment, thereby improving the deployment efficiency of the target environment.
[0106] Specifically, the server obtains the device model of the target device and determines whether there is a collection device in the client environment that is consistent with the device model of the target device. If the device model of any collection device is consistent with the device model of the target device, the data processing plug-ins corresponding to the collection device can be loaded from the cloud plug-in library to the target environment, and the data processing plug-ins pre-loaded in the target environment can be used to process the media data pushed by the target device.
[0107] In this embodiment, when the device model of the target device deployed in the target environment is consistent with the device model of the acquisition device, the data processing plug-ins corresponding to the acquisition device are pre-loaded into the target environment from the cloud plug-in library. In this way, the target environment is pre-loaded with data processing plug-ins that can process the media data streams collected by the target device, which can avoid frequent queries to the cloud server for plug-ins, reduce bandwidth, and help improve the deployment efficiency of the target environment and the target environment's processing efficiency of media data.
[0108] To explain the media data processing method and effect in this solution in detail, a most detailed embodiment is described below:
[0109] The following is an example of a customer environment where a GBS server, at least one acquisition device, and a client are deployed. The acquisition device is used to acquire media data streams and push them to the server. The media data stream is obtained by processing raw stream data in a preset media format using a preset encapsulation protocol and a transmission protocol. For example, the media data stream is obtained by encapsulating raw stream data in H264 format using the PS encapsulation protocol, and then further encapsulating the encapsulation result using the RTP protocol.
[0110] The server receives the media data stream pushed by the acquisition device and processes the media data stream based on multiple preset data processing steps and the execution order of each data processing step. Figure 5 The figure is a schematic diagram of the overall flow of a media data processing method in one embodiment.
[0111] For data processing step n, the media data processing result of the previous data processing step n-1 is obtained according to the execution order, and multiple local plug-ins corresponding to the current data processing step in the pre-installed local plug-in library are traversed. For the current local plug-in traversed to, the media data processing result is processed using the current local plug-in. If the processing is successful, the corresponding processing result is used as the media data processing result of the current data processing step, and the number of successful executions is increased by 1. In the process of traversing the local plug-ins, the number of successful executions of each of the multiple local plug-ins corresponding to the current data processing step in the local plug-in library is obtained, the multiple local plug-ins are sorted according to the number of successful executions, and each local plug-in is traversed according to the sorting result.
[0112] If multiple local plug-ins fail to process, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library. Specifically, based on the error information generated by the processing results of the media data by each of the multiple local plug-ins, an error characteristic value is generated according to the multiple error information, and the multiple cloud plug-ins corresponding to the current data processing step in the cloud plug-in library are queried to determine whether the cloud plug-in library has the data processing plug-in corresponding to the current data processing step; if the characteristic value of any cloud plug-in is consistent with the error characteristic value, the cloud plug-in is used as the data processing plug-in corresponding to the current data processing step, and the cloud plug-in is downloaded from the cloud plug-in library and installed locally to update the local plug-in library; if the cloud plug-in library does not have a cloud plug-in with a characteristic value consistent with the error characteristic value, a first alarm prompt is generated, and the first alarm prompt is used to remind the developer that the plug-in corresponding to the error characteristic value is missing in the cloud plug-in library.
[0113] After loading the data processing plug-in from the cloud plug-in library, the data processing plug-in is used to process the media data processing result. If the processing is successful, the media data processing result of the current data processing step is obtained; if the processing fails, a second alarm prompt is generated. The second alarm prompt is used to remind the developer that the cloud plug-in corresponding to the data processing plug-in has defects and needs to be corrected in time.
[0114] After data processing step n is completed, enter data processing step n+1 until all data processing steps are completed, and send the media data processing result corresponding to the last executed data processing step to the client so that the client can directly process the received media data processing result.
[0115] In some embodiments, the server side can obtain the processing times and success times of each data processing plug-in, and determine the processing success rate of each data processing plug-in based on the ratio of the success times to the processing times. If the processing success rate of any data processing plug-in exceeds the preset success rate, the data processing plug-in is pre-loaded locally.
[0116] In other embodiments, the server can obtain the device model of the target device deployed in the target environment. If the device model of the target device is consistent with the device model of the acquisition device, the data processing plug-ins corresponding to the acquisition device are loaded from the cloud plug-in library to the target environment for processing the media data stream pushed by the target device.
[0117] The above-mentioned media data processing method processes the media data stream through a plurality of data processing steps with a preset execution order, encapsulates each data processing step into a plug-in with smaller granularity, and stores it in a local plug-in library and a cloud plug-in library. For a single client, the client and the cloud are linked, and the local plug-in library does not need to load all the plug-ins, thereby reducing resource consumption. In the face of media data streams with different encapsulation protocols, transmission protocols and preset media formats pushed by different acquisition devices, when it is necessary to adapt to a new media data format, compared with the traditional method of developing compatible programs, the plug-in management method only needs to load a new plug-in without modifying the logic of the original plug-in, and the plug-in has high versatility. It is easier to maintain and transplant, which greatly improves the efficiency of media data processing; based on multiple data processing steps and execution order, the media data stream is processed. When executing the current data processing step, the local plug-ins in the local plug-in library are first traversed, and the local plug-ins are used to process the media data processing results of the previous data processing step, which is conducive to improving the efficiency of media data processing; when multiple local plug-ins fail to process, the corresponding data processing plug-in can be queried and loaded from the cloud plug-in library. This combination of local and cloud can ensure that each data processing step is successfully processed by dynamically loading the cloud plug-in when the local plug-in cannot process the media data, which is conducive to further improving the efficiency of media data processing. At the same time, the linkage between the server and the cloud server is realized. The server can dynamically load and unload plug-ins according to the actual situation to reduce resource consumption. In addition, according to the processing success rate of the plug-in and the association between the plug-ins, pre-loading the plug-in can reduce frequent cloud queries and help reduce bandwidth.
[0118] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0119] Based on the same inventive concept, the embodiment of the present application also provides a media data processing device for implementing the media data processing method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more media data processing device embodiments provided below can refer to the limitations on the media data processing method above, and will not be repeated here.
[0120] In an exemplary embodiment, Figure 6 As shown, a media data processing device 100 is provided, comprising: a receiving module 120, a first processing module 140, a second processing module 160 and a sending module 180, wherein:
[0121] The receiving module 120 is used to receive the media data stream pushed by the acquisition device; the media data stream is obtained by processing the raw stream data of the preset media format using the preset encapsulation protocol and transmission protocol;
[0122] The first processing module 140 is used to obtain a plurality of preset data processing steps and an execution order of each data processing step; and process the media data stream based on the plurality of data processing steps and the execution order;
[0123] The second processing module 160 is used to obtain the media data processing result of the previous data processing step according to the execution order for each data processing step; traverse multiple local plug-ins corresponding to the current data processing step in the local plug-in library, and use the current local plug-in to process the media data processing result. If the processing is successful, the corresponding processing result is used as the media data processing result of the current data processing step; if the processing of multiple local plug-ins fails, query and load the data processing plug-in corresponding to the current data processing step from the cloud plug-in library, use the data processing plug-in to process the media data processing result, and obtain the media data processing result of the current data processing step;
[0124] The sending module 180 is used to send the media data processing result corresponding to the last executed data processing step to the client.
[0125] The above-mentioned media data processing device processes the media data stream through a plurality of data processing steps with a preset execution order, encapsulates each data processing step into a plug-in with smaller granularity, and stores it in a local plug-in library and a cloud plug-in library. For a single client, the client and the cloud are linked, and the local plug-in library does not need to load all plug-ins, thereby reducing resource consumption. In the face of media data streams with different encapsulation protocols, transmission protocols and preset media formats pushed by different acquisition devices, when it is necessary to adapt to a new media data format, compared with the traditional method of developing compatible programs, the plug-in management method only needs to load a new plug-in without modifying the logic of the original plug-in, and the plug-in has high versatility. It is easier to maintain and transplant, which greatly improves the efficiency of media data processing; the media data stream is processed based on multiple data processing steps and execution order. When executing the current data processing step, the local plug-ins in the local plug-in library are first traversed, and the local plug-ins are used to process the media data processing results of the previous data processing step, which is conducive to improving the efficiency of media data processing; when multiple local plug-ins fail to process, the corresponding data processing plug-in can be queried and loaded from the cloud plug-in library. This combination of local and cloud can ensure that each data processing step is successfully processed by dynamically loading the cloud plug-in when the local plug-in cannot process the media data, which is conducive to further improving the efficiency of media data processing.
[0126] In one embodiment, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library, and the second processing module 160 is also used to: obtain error information generated by multiple local plug-ins when each of them processes the media data processing results; generate an error characteristic value based on the error information; and query and load the data processing plug-in corresponding to the current data processing step from the cloud plug-in library based on the error characteristic value.
[0127] In one embodiment, based on the error characteristic value, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library, and the second processing module 160 is also used to: query the cloud plug-in library for multiple cloud plug-ins corresponding to the current data processing step; if the characteristic value of any cloud plug-in is consistent with the error characteristic value, the cloud plug-in is used as the data processing plug-in corresponding to the current data processing step; download the cloud plug-in from the cloud plug-in library and install it locally.
[0128] In one embodiment, multiple local plug-ins corresponding to the current data processing step in the local plug-in library are traversed, and the second processing module 160 is further used to: obtain the number of successful executions of each of the multiple local plug-ins corresponding to the current data processing step in the local plug-in library; sort the multiple local plug-ins according to the number of successful executions, and traverse each local plug-in according to the sorting result.
[0129] In one embodiment, the media data processing device 100 also includes a first loading module, and the preloading module is used to: obtain the processing times of each data processing plug-in; determine the processing success rate of each data processing plug-in based on the ratio of the success times to the processing times; if the processing success rate of any data processing plug-in exceeds the preset success rate, the data processing plug-in is preloaded locally.
[0130] In one embodiment, the media data processing device 100 also includes a second loading module, which is used to: obtain the device model of the target device deployed in the target environment; if the device model of the target device is consistent with the device model of the acquisition device, then load the data processing plug-ins corresponding to the acquisition device from the cloud plug-in library to the target environment for processing the media data stream pushed by the target device.
[0131] Each module in the above-mentioned media data processing device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each module.
[0132] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Figure 7 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store media data streams and media data processing results. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a media data processing method is implemented.
[0133] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0134] In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.
[0135] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0136] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0137] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0138] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0139] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0140] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A media data processing method, characterized in that: The method comprises: Receive the media data stream pushed by the acquisition device; the media data stream is obtained by processing the raw stream data of the preset media format using the preset encapsulation protocol and transmission protocol; Acquire a plurality of preset data processing steps and an execution order of each data processing step; and process the media data stream based on the plurality of data processing steps and the execution order; For each data processing step, the media data processing result of the previous data processing step is obtained according to the execution order; multiple local plug-ins corresponding to the current data processing step in the local plug-in library are traversed, and for the current local plug-in traversed to, the media data processing result is processed by the current local plug-in, and if the processing is successful, the corresponding processing result is used as the media data processing result of the current data processing step; if the processing of the multiple local plug-ins fails, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library, and the media data processing result is processed by the data processing plug-in to obtain the media data processing result of the current data processing step; The media data processing result corresponding to the last executed data processing step is sent to the client.
2. The method according to claim 1, characterized in that The step of querying and loading the data processing plug-in corresponding to the current data processing step from the cloud plug-in library includes: Obtain error information generated by each of the multiple local plug-ins when processing the media data processing result; Generate an error characteristic value according to multiple error information; According to the error characteristic value, the data processing plug-in corresponding to the current data processing step is queried and loaded from the cloud plug-in library.
3. The method according to claim 2, characterized in that The step of querying and loading a data processing plug-in corresponding to the current data processing step from a cloud plug-in library according to the error characteristic value includes: Query the cloud plug-in library for multiple cloud plug-ins corresponding to the current data processing step; If the characteristic value of any cloud plug-in is consistent with the error characteristic value, the cloud plug-in is used as the data processing plug-in corresponding to the current data processing step; the cloud plug-in is downloaded from the cloud plug-in library and installed locally.
4. The method according to claim 1, characterized in that: The traversal of multiple local plug-ins corresponding to the current data processing step in the local plug-in library includes: Get the number of successful executions of multiple local plug-ins corresponding to the current data processing step in the local plug-in library; The multiple local plug-ins are sorted according to the number of successful executions, and each local plug-in is traversed according to the sorting result.
5. The method according to claim 1, characterized in that The method further comprises: Get the processing times and success times of each data processing plug-in; Determining a processing success rate of each data processing plug-in according to a ratio of the number of successes to the number of processing times; If the processing success rate of any data processing plug-in exceeds a preset success rate, the data processing plug-in is pre-loaded locally.
6. The method according to claim 1, characterized in that The method further comprises: Obtain the device model of the target device deployed in the target environment; If the device model of the target device is consistent with the device model of the acquisition device, each data processing plug-in corresponding to the acquisition device is loaded from the cloud plug-in library to the target environment for processing the media data stream pushed by the target device.
7. A media data processing device, characterized in that: The device comprises: A receiving module, used to receive a media data stream pushed by a collection device; the media data stream is obtained by processing raw stream data of a preset media format using a preset encapsulation protocol and a transmission protocol; A first processing module, used to obtain a plurality of preset data processing steps and an execution order of each data processing step; and process the media data stream based on the plurality of data processing steps and the execution order; The second processing module is used to obtain the media data processing result of the previous data processing step according to the execution order for each data processing step; traverse the multiple local plug-ins corresponding to the current data processing step in the local plug-in library, and use the current local plug-in to process the media data processing result for the current local plug-in that has been traversed. If the processing is successful, the corresponding processing result is used as the media data processing result of the current data processing step; if the processing of the multiple local plug-ins fails, query and load the data processing plug-in corresponding to the current data processing step from the cloud plug-in library, use the data processing plug-in to process the media data processing result, and obtain the media data processing result of the current data processing step; The sending module is used to send the media data processing result corresponding to the last executed data processing step to the client.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Multimedia processing method, device and equipment and storage medium
CN111562945A
Localized plug-in service method and device, electronic equipment and storage medium
CN111966422A
Media request processing method and cross-platform engine system
CN114422637A
Data processing method and device based on PYQT5
CN118760425A
Video analysis method and apparatus, and storage medium
WO2024045780A1