CN114615521B - Video processing method and device, computer readable storage medium and electronic equipment - Google Patents

Video processing method and device, computer readable storage medium and electronic equipment Download PDF

Info

Publication number
CN114615521B
CN114615521B CN202210234286.4A CN202210234286A CN114615521B CN 114615521 B CN114615521 B CN 114615521B CN 202210234286 A CN202210234286 A CN 202210234286A CN 114615521 B CN114615521 B CN 114615521B
Authority
CN
China
Prior art keywords
service
target micro
micro
initial
function module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210234286.4A
Other languages
Chinese (zh)
Other versions
CN114615521A (en
Inventor
刘聪
许健
刘思彦
刘柏
范长杰
周锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202210234286.4A priority Critical patent/CN114615521B/en
Publication of CN114615521A publication Critical patent/CN114615521A/en
Application granted granted Critical
Publication of CN114615521B publication Critical patent/CN114615521B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The disclosure relates to a video processing method and device, a computer readable storage medium and an electronic device, and relates to the technical field of computers, wherein the method comprises the following steps: receiving request information sent by a client, analyzing an initial video contained in the request information to obtain a functional module contained in the initial video, and packaging the functional module into a micro service; acquiring a target micro service corresponding to the function module call chain included in the micro service according to the function module call chain included in the request information, and executing the target micro service to obtain result data; and acquiring a target model file included in the request information, generating a target video by using the target model file and the result data, and sending the target video to the client. The method and the device improve the efficiency of generating the target video and reduce the resource consumption of users.

Description

Video processing method and device, computer readable storage medium and electronic equipment
Technical Field
The embodiment of the disclosure relates to the technical field of computers, in particular to a video processing method and device, a computer readable storage medium and electronic equipment.
Background
Under the wave of the internet, development of hardware and software technology has promoted the advent of intelligent devices and software. At the same time, video based on virtual objects appears, meeting the requirements of different users.
In a video based on a virtual person, information such as actions, expressions, gestures and the like of a virtual object in the video can be migrated to another virtual object. However, in the related art, the migration of actions, table migration, gestures and the like of the virtual object needs to download a software development kit of all functional modules of the virtual object in the video, which occupies the storage space of a local machine of the user, and the subsequent update of the software development kit is difficult to synchronize the user in time; the calling sequence of the function modules and the logic realized by combination are required to be written for the downloaded software development kit, so that the execution efficiency of the function modules is reduced; the software development kit for purchasing the functional module also needs a CPU (Central Processing Unit ), GPU (Graphics Processing Unit, graphics processor) and the like, which are required when running, resulting in high use cost for the user.
Accordingly, there is a need to provide a new video processing method.
It should be noted that the information disclosed in the above background section is only for enhancing understanding of the background of the present disclosure and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
An object of the present disclosure is to provide a video processing method, a video processing apparatus, a computer-readable storage medium, and an electronic device, which further overcome, at least to some extent, problems of low execution efficiency of function modules and high use cost for users due to limitations and drawbacks of the related art.
According to one aspect of the present disclosure, there is provided a video processing method including:
receiving request information sent by a client, analyzing an initial video contained in the request information to obtain a functional module contained in the initial video, and packaging the functional module into a micro service;
acquiring a target micro service corresponding to the function module call chain included in the micro service according to the function module call chain included in the request information, and executing the target micro service to obtain result data;
and acquiring a target model file included in the request information, generating a target video by using the target model file and the result data, and sending the target video to the client. In an exemplary embodiment of the present disclosure, parsing an initial video included in the request information to obtain a functional module included in the initial video includes:
Acquiring an initial video included in the request information;
detecting the initial video, and analyzing the activity of the virtual object when the initial video is determined to contain the virtual object, so as to obtain the function of the virtual object contained in the initial video;
and acquiring a function module corresponding to the function of the virtual object according to the function of the virtual object included in the initial video.
In one exemplary embodiment of the present disclosure, packaging the functional module as a micro-service includes:
acquiring an environment required for executing the functional module;
and packaging the functional module and the environment needed for executing the functional module into a micro-service.
In an exemplary embodiment of the present disclosure, before obtaining, according to a function module call chain included in the request information, a target micro service included in the micro service and corresponding to the function module call chain, the video processing method further includes:
acquiring a function module to be called, which is included in the function module call chain, determining a target micro-service corresponding to the function module to be called, and generating a unique identifier corresponding to the target micro-service;
And storing the target micro-service and the unique identification corresponding to the target micro-service into a task information storage database.
In an exemplary embodiment of the present disclosure, obtaining a target micro service corresponding to the function module call chain included in the micro service, and executing the target micro service, to obtain result data, includes:
acquiring a calling sequence of each function module to be called in the function module calling chain;
and executing the target micro-service corresponding to the function module to be called according to the calling sequence of the function module to be called, so as to obtain the result data.
In an exemplary embodiment of the present disclosure, according to a calling order of each of the to-be-called function modules, executing a target micro service corresponding to the to-be-called function module to obtain the result data, including:
acquiring an initial call function module in the function module to be called, an initial target micro-service corresponding to the initial call function module and a message queue corresponding to the initial target micro-service;
writing service data corresponding to the initial target micro-service into a message queue, and acquiring a dependent file for executing the initial target micro-service from the shared data volume according to the unique identifier of the initial target micro-service when responding to the existence of the service data in the message queue;
Executing the initial target micro-service according to the dependent file to obtain intermediate data;
and executing the next target micro-service of the initial target micro-service by utilizing the intermediate data and the dependent file of the next target micro-service of the initial target micro-service to obtain the result data.
In an exemplary embodiment of the present disclosure, executing the next target micro-service of the initial target micro-service using the intermediate data and the dependency file of the next target micro-service of the initial target micro-service, to obtain the result data includes:
after obtaining the intermediate data corresponding to the initial target micro-service, storing the intermediate data into a return queue;
judging intermediate data included in the return queue, after determining that the execution of the initial target micro-service is completed, acquiring a next target micro-service of the initial target micro-service, and writing service data of the next target micro-service into a message queue corresponding to the next target micro-service;
when responding to the existence of service data in a message queue corresponding to the next target micro-service, acquiring a dependent file for executing the next target micro-service from the shared data volume according to the unique identifier of the next target micro-service; wherein, the dependent file of the next target micro-service at least comprises the intermediate data of the last target micro-service of the next target micro-service;
And executing the next target micro-service according to the dependent file of the next target micro-service to obtain intermediate data of the next target micro-service until all target micro-services corresponding to the function module to be called are executed, and obtaining the result data.
In an exemplary embodiment of the present disclosure, after obtaining the result data, the video processing method further includes:
acquiring a result return file included in the request information, and determining a target micro-service of a result to be returned, which corresponds to a functional module of the result to be returned, according to the functional module of the result to be returned included in the result return file;
uploading the intermediate data obtained by executing the target micro-service and the result data to a file object for storage;
and generating a download link corresponding to the intermediate data of the target micro-service of the result to be returned and the download link of the result data, and sending the download link to the client.
In an exemplary embodiment of the present disclosure, generating a target video using the target model file and the result data includes:
acquiring target virtual object skeleton data included in the target model file;
And generating the target video according to the target virtual object skeleton data and the result data.
According to an aspect of the present disclosure, there is provided a video processing apparatus including:
the function encapsulation module is used for receiving request information sent by the client, analyzing the initial video contained in the request information to obtain a function module contained in the initial video, and encapsulating the function module into micro-services;
the result data generation module is used for acquiring a target micro-service corresponding to the function module call chain included in the micro-service according to the function module call chain included in the request information, and executing the target micro-service to obtain result data;
and the target video generation module is used for acquiring a target model file included in the request information, generating a target video by utilizing the target model file and the result data, and sending the target video to the client.
According to an aspect of the present disclosure, there is provided a readable storage medium having stored thereon a computer program which, when executed by a processor, implements the video processing method according to any of the above-described exemplary embodiments.
According to one aspect of the present disclosure, there is provided an electronic device including:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the video processing method of any of the above-described exemplary embodiments via execution of the executable instructions.
According to the video processing method provided by the embodiment of the disclosure, request information sent by a client is received, an initial video included in the request information is analyzed, a functional module included in the initial video is obtained, and the functional module is packaged into a micro service; acquiring a target micro service corresponding to the function module call chain included in the micro service according to the function module call chain included in the request information, and executing the target micro service to obtain result data; acquiring a target model file included in the request information, generating a target video by using the target model file and the result data, and sending the target video to the client; on one hand, after request information of a client is received, an initial video contained in the request information sent by the client is analyzed to obtain a functional module contained in the initial video, and the functional module is packaged into a micro-service, so that the problems that a software development kit of all functional modules of a virtual object needs to be downloaded, a storage space of a local machine is occupied, and a user needs to purchase a corresponding software environment and a hardware environment when executing the software development kit of the functional module in the prior art are solved, the consumption of the local storage space capacity of the user is reduced, and the resource consumption of the user is reduced; on the other hand, according to the function module call chain included in the request information, determining a target micro-service corresponding to the function module call chain in the micro-service, and executing the target micro-service, thereby solving the problem that the downloaded software development kit needs to be written with a call sequence and logic realized by combination in the related art, executing the target micro-service according to the function module call chain, and improving the execution efficiency of the function module.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure. It will be apparent to those of ordinary skill in the art that the drawings in the following description are merely examples of the disclosure and that other drawings may be derived from them without undue effort.
Fig. 1 schematically illustrates a method flow diagram for video processing according to an example embodiment of the present disclosure.
Fig. 2 schematically illustrates a block diagram of a video processing system according to an example embodiment of the present disclosure.
Fig. 3 schematically illustrates a flowchart of a method for parsing an initial video in request information to obtain functional modules included in the initial video according to an example embodiment of the present disclosure.
Fig. 4 schematically illustrates a method flow diagram for encapsulating functional modules as micro-services according to an example embodiment of the present disclosure.
Fig. 5 schematically illustrates a flowchart of a method of video processing before acquiring a target micro-service included in a micro-service according to an example embodiment of the present disclosure.
Fig. 6 schematically illustrates a flow chart of a method of executing a targeted micro-service to obtain result data according to an example embodiment of the present disclosure.
Fig. 7 schematically illustrates a flowchart of a method for executing a target micro service corresponding to a function module to be called according to a calling order of the function module to be called to obtain result data according to an exemplary embodiment of the present disclosure.
FIG. 8 schematically illustrates a flow chart of a method for executing a next target micro-service to obtain result data using intermediate data and a dependency file of the next target micro-service that initiates the target micro-service, according to an example embodiment of the present disclosure.
Fig. 9 schematically illustrates a flowchart of a method of video processing after obtaining result data according to an example embodiment of the present disclosure.
Fig. 10 schematically illustrates a flowchart of a method for generating a target video using a target model file and result data according to an example embodiment of the present disclosure.
Fig. 11 schematically illustrates a block diagram of a video processing apparatus according to an example embodiment of the present disclosure.
Fig. 12 schematically illustrates an electronic device for implementing the video processing method described above according to an example embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the present disclosure. One skilled in the relevant art will recognize, however, that the aspects of the disclosure may be practiced without one or more of the specific details, or with other methods, components, devices, steps, etc. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the present disclosure.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software or in one or more hardware modules or integrated circuits or in different networks and/or processor devices and/or microcontroller devices.
For a video based on a virtual object, information such as actions, expressions, gestures and the like of the virtual object in the video can be migrated to another virtual object, specifically, the actions, expressions and gestures of the virtual object in the video are identified and processed, and key data in the video are output, including: and the virtual object expression data set and the virtual object action model file, and apply the output key data to the new virtual object. In the related art, when migrating actions, expressions, gestures and the like of a virtual object in a video, firstly, downloading software development kits of all functional modules of the virtual object in the video, and writing calling sequences and logic in a combination mode of the software development kits of the functional modules through codes after downloading the software development kits of the functional modules; then, the CPU, GPU required for the software development kit running the functional module are purchased, and the hardware environment and the software environment for executing the software development kit are built. After all execution environments are prepared, executing codes written by a user, taking the video to be processed as input, and further obtaining key data of the video to be processed. However, when the video to be processed is processed through the written code, a great deal of hardware resources of a user machine are occupied, and other software running simultaneously by the user can be influenced.
In view of one or more of the above problems, there is first provided in this exemplary embodiment a video processing method, which may be executed on a server, a server cloud, a cloud server, or the like; of course, those skilled in the art may also operate the method of the present invention on other platforms as required, and this is not a particular limitation in the present exemplary embodiment. Referring to fig. 1, the video processing method may include the steps of:
s110, receiving request information sent by a client, analyzing an initial video included in the request information to obtain a functional module included in the initial video, and packaging the functional module into a micro service;
s120, acquiring a target micro-service corresponding to a function module call chain included in the micro-service according to the function module call chain included in the request information, and executing the target micro-service to obtain result data;
s130, obtaining a target model file included in the request information, generating a target video by using the target model file and the result data, and sending the target video to the client.
According to the video processing method, the request information sent by the client is received, the initial video included in the request information is analyzed, the functional module included in the initial video is obtained, and the functional module is packaged into the micro service; acquiring a target micro service corresponding to the function module call chain included in the micro service according to the function module call chain included in the request information, and executing the target micro service to obtain result data; acquiring a target model file included in the request information, generating a target video by using the target model file and the result data, and sending the target video to the client; on the one hand, after receiving the request information of the client, analyzing the initial video contained in the request information sent by the client to obtain the functional module contained in the initial video, and encapsulating the functional module into micro-services, so that the problems that in the prior art, the software development tool package of all the functional modules of the virtual object needs to be downloaded, the storage space of a local machine is occupied, and the corresponding software environment and hardware environment need to be purchased when a user executes the software development tool package of the functional module are solved, the consumption of the local storage space capacity of the user is reduced, and the resource consumption of the user is reduced; on the other hand, according to the function module call chain included in the request information, determining a target micro-service corresponding to the function module call chain in the micro-service, and executing the target micro-service, thereby solving the problem that the downloaded software development kit needs to be written with a call sequence and logic realized by combination in the related art, executing the target micro-service according to the function module call chain, and improving the execution efficiency of the function module.
Hereinafter, each step involved in the video processing method of the exemplary embodiment of the present disclosure is explained and illustrated in detail.
First, application scenarios and purposes of the exemplary embodiments of the present disclosure are explained and explained. In particular, the exemplary embodiments of the present disclosure may be applied to migration of a virtual object in a video, and mainly study how to improve migration efficiency of a virtual object in an initial video.
In the method, the device and the system, the received request information is used as a basis, after the request information sent by the client is received, the initial video included in the request information is analyzed to obtain the function module of the virtual object included in the initial video, the function module obtained through analysis is packaged to obtain the micro service, and the resource consumption of the user for executing the function module is reduced; then, determining the target micro-service to be executed and the execution sequence of the target micro-service by utilizing a function module call chain included in the request information, acquiring a dependence file required by the target micro-service during execution, and executing the target micro-service according to the dependence file to obtain a result file, thereby improving the execution efficiency of the function module; and finally, generating a target video according to the result file and the skeleton data of the target virtual object contained in the target model file contained in the request information, thereby improving the efficiency of virtual object migration in the initial video.
Next, explanation and explanation will be made of a video processing system involved in an exemplary embodiment of the present disclosure. Referring to fig. 2, the video processing system may include a client 210 and a server 220. The client 210 is configured to generate request information, where the request information includes an initial video, a function module call chain, a result return file, and a target model file; the request information is sent to the server 220. The server 220 is in network connection with the client 210, and includes an application programming interface service 221, a task scheduling module 222, a message queue 223, a function module 224, a result processing module 225, and a storage module 226. The application programming interface service 221 is configured to receive the request information sent by the client, create a task state for an initial video in the request information, where the task is a target micro-service, store the task state in the task information storage database 2261 of the storage module 226, and send the task information to the message queue 223; and provides a query service for the target microservice execution state and a query service for the download link of the intermediate data or the result data; the task scheduling module 222 is in network connection with the message queue 223 and is used for receiving task information sent by the message queue and scheduling the target micro-service corresponding to the function module in the function module call chain according to the function module call chain in the task information; the message queue 223 is connected with the task scheduling module 222 in a network, and is used for responding to the service data in the message queue corresponding to the target micro-service and executing the functional module included in the corresponding functional module 224 according to the monitored service data; the message queues can comprise a task queue, a virtual object detection queue, an action migration message queue, a Maya message queue, a return queue and a result queue; a function module 224, which is network-connected to the message queue 223, and may include a virtual object detection module, an action migration function module, and a Maya (three-dimensional modeling and animation software) function module, for executing a target micro service corresponding to the service data according to the service data included in the message queue, storing intermediate data and result data generated by executing the target micro service in a shared data volume 2263 of the storage module 226, and simultaneously transmitting the intermediate data, the result data, and task information to a return queue of the message queue; the result processing module 225 is in network connection with the message queue 223, and is configured to receive the target micro-service that has been executed and the target micro-service that has executed in error and sent by the result queue in the message queue, store the intermediate data of the target micro-service that has executed in the file object storage database 2262 of the storage module 226, and generate a download link corresponding to the intermediate data generated by the target micro-service; and stores the task end state to the task information storage database 2261 of the storage module 226.
Hereinafter, the steps S110 to S130 will be explained and described in detail with reference to fig. 2.
In step S110, request information sent by a client is received, an initial video included in the request information is parsed, and a functional module included in the initial video is obtained, and the functional module is packaged into a micro service.
The request information includes an initial video, and in this example embodiment, an expression, an action, a gesture, and the like of a virtual object included in the initial video are migrated to a target virtual object to generate a target video. The function module of the initial video is determined according to the activity of the virtual object in the initial video, wherein the activity of the virtual object in the initial video can be the expression change of the virtual object, the action change of the virtual object and the gesture change of the virtual object, and the activity of the virtual object in the initial video is not specifically limited in the embodiment; for example, the expression migration function module may be generated by using the expression change of the virtual object in the initial video, the gesture migration function module may be generated according to the gesture change of the virtual object in the initial video, and the motion migration function module may be generated according to the motion change of the virtual object in the initial video, where in this example embodiment, the function modules included in the initial video are not specifically limited. The function modules included in the initial video and the hardware environment and software environment required to execute the function modules may be packaged as micro services corresponding to the function modules.
In addition, in the present exemplary embodiment, the function modules of the virtual object included in the video may also be provided by the system, and the function modules of the virtual object provided by the system may include an expression migration function module, a gesture migration function module, an action migration function module, and the like of the virtual object, and the function modules of the virtual object provided by the system are basic function modules, and the basic function modules provided by the system are not particularly limited in the present exemplary embodiment. After receiving the request information sent by the client, analyzing the initial video included in the request information, acquiring a functional module corresponding to the activity of the virtual object in the system according to the activity of the virtual object in the initial video, and packaging the acquired functional module into micro service. When the functional module is provided in the system, the same set of resources can be used by a plurality of requests in a time sharing way, so that the resource utilization rate is improved, and the cost is reduced.
In this example embodiment, referring to fig. 3, the parsing of the initial video included in the request information to obtain the functional module included in the initial video may include steps S310 to S330:
s310, acquiring an initial video included in the request information;
S320, detecting the initial video, and analyzing the activity of the virtual object when the initial video is determined to contain the virtual object, so as to obtain the function of the virtual object contained in the initial video;
s330, acquiring a function module corresponding to the function of the virtual object according to the function of the virtual object included in the initial video.
Hereinafter, step S310 to step S330 will be further explained and explained. Specifically, after receiving request information sent by a client, a server first obtains an initial video included in the request information, detects the initial video, and analyzes an activity of a virtual object in the initial video when determining that the received initial video includes the virtual object, where the activity of the virtual object in the initial video may include an expression change, a gesture change, an action change, and the like of the virtual object in the initial video, and in this example embodiment, the activity of the virtual object is not specifically limited; according to the activity of the virtual object in the initial video, obtaining the function of the virtual object included in the initial video, for example, when the expression change of the virtual object exists in the initial video, the expression function of the virtual object can be obtained; when the gesture change exists in the initial video, the gesture function of the virtual object can be acquired; when there is a motion change in the initial video for the virtual object, the motion function of the virtual object may be acquired, and the acquired function of the virtual object is not particularly limited in this example embodiment. After the function of the virtual object is acquired, a function module corresponding to the function of the virtual object may be acquired according to the acquired function, wherein the function module includes a code corresponding to the function of the virtual object.
In this example embodiment, the obtaining the functional module included in the initial video may further include: after the initial video included in the request information is acquired, detecting the initial video, and analyzing the activity of the virtual object to obtain the activity of the virtual object when the virtual object is included in the initial video; then, based on the analyzed activities of the virtual objects, functional modules corresponding to the activities of the virtual objects are obtained in the system, and the functional modules corresponding to the activities of the virtual objects are obtained in the system, so that the functional modules do not need to be generated according to the activities of the virtual objects, the resource utilization rate is improved, and the cost is reduced.
After the function module of the virtual object included in the initial video is acquired, the acquired function module may be encapsulated to obtain a micro service, and in this example embodiment, referring to fig. 4, the function module is encapsulated to be a micro service, which may include step S410 and step S420:
s410, acquiring an environment required by executing the functional module;
and S420, packaging the functional module and the environment needed by executing the functional module into micro-services.
Hereinafter, step S410 and step S420 will be further explained and explained. Specifically, first, an environment required for executing a functional module is acquired, and mainly an environment required for acquiring a software tool development kit for executing a software functional module is acquired, wherein the environment comprises a software environment and a hardware environment. For example, when a software development kit for executing a functional module needs to rely on a software environment such as Maya, CUDA (Compute Unified Device Architecture, unified computing device architecture), pyTorch (open source Python machine learning library), and the like, and has a high requirement on hardware resources, and needs a CPU and GPU of a specific model, the software environment such as Maya, CUDA, pyTorch, and the like, and the CPU and GPU of a specific model, on which the software development kit for executing the functional module needs to rely, can be packaged with the functional module as a micro service. Each functional module can elastically expand and contract according to the self resource usage amount, and can also read the same shared data volume, and the shared data volume stores the dependency files required by micro-service execution corresponding to the functional module; micro services are based on small functional blocks focusing on single responsibilities and functions, and complex large applications are combined in a modular manner. After the micro service corresponding to the functional module is obtained, a registration interface of the micro service can be opened, so that other software development kits can be conveniently added subsequently. The micro-services obtained by encapsulation are distributed on a cloud server; the distributed deployment divides projects needing to be calculated in a large quantity into small blocks, a plurality of computers respectively calculate, then the calculation results of the computers are uploaded, and the calculation results of the computers are unified and combined to obtain results; after the client submits the request information, the user does not need to write the execution sequence and the combination logic of the functional modules, and the execution efficiency of the functional modules is improved.
In the present exemplary embodiment, by encapsulating the software environment and the hardware environment required when the function module is executed, and the function module as a micro service, the problem that the software environment needs to be installed separately and the hardware environment needs to be prepared when the user uses the software tool of any function module to develop a package is solved, the consumption of local storage resources of the user is reduced, and the resource utilization rate is improved.
In step S120, according to the function module call chain included in the request information, a target micro service corresponding to the function module call chain included in the micro service is obtained, and the target micro service is executed, so as to obtain result data.
The function module calling chain comprises function modules required to be called by the client and the calling sequence of the function modules required to be called, and the execution sequence of the target micro-service corresponding to the function modules required to be called can be determined according to the calling sequence of the function modules required to be called; the result data is the data obtained after the last target micro-service is executed. The result data can be obtained according to the intermediate data of the previous target micro-service; the intermediate data is data generated when the target micro-service is successfully executed, and the intermediate data and the result data can be stored in a shared data volume of the storage module.
In this exemplary embodiment, referring to fig. 5, before acquiring the target micro service corresponding to the function module call chain included in the micro service according to the function module call chain included in the request information, the video processing method may further include step S510 and step S520:
s510, acquiring a function module to be called, which is included in the function module call chain, determining a target micro-service corresponding to the function module to be called, and generating a unique identifier corresponding to the target micro-service;
and S520, storing the target micro-service and the unique identification corresponding to the target micro-service into a task information storage database.
Hereinafter, step S510 and step S520 will be further explained and explained. Specifically, firstly, a function module to be called included in a function module call chain is obtained, in the micro-service, a target micro-service corresponding to the function module to be called is determined, a unique identifier of the target micro-service is generated, task information corresponding to the target micro-service is generated in a task information storage database of a storage module, and the target micro-service and the unique identifier of the target micro-service are stored.
In this exemplary embodiment, referring to fig. 6, the method may include steps S610 and S620 of obtaining a target micro service corresponding to the function module call chain included in the micro service, and executing the target micro service to obtain result data:
s610, acquiring a calling sequence of each function module to be called in the function module calling chain;
and S620, executing the target micro-service corresponding to the function module to be called according to the calling sequence of the function module to be called, and obtaining the result data.
Hereinafter, step S610 and step S620 will be further explained and explained. Specifically, after request information of a client is obtained, firstly, obtaining a function module to be called and a calling sequence of each function module to be called, wherein the function module calling chain comprises at least one function module to be called; after the function module to be called and the calling sequence thereof are obtained, the target micro-service and the execution sequence of each target micro-service which are included in the micro-service corresponding to the function module to be called can be determined, and each target micro-service is executed according to the execution sequence, so that result data is obtained.
Further, referring to fig. 7, according to the calling sequence of each function module to be called, executing the target micro service corresponding to the function module to be called to obtain the result data may include steps S710 to S740:
s710, acquiring an initial call function module in the function module to be called, an initial target micro-service corresponding to the initial call function module and a message queue corresponding to the initial target micro-service;
s720, writing service data corresponding to the initial target micro-service into a message queue, and acquiring a dependent file for executing the initial target micro-service from the shared data volume according to the unique identifier of the initial target micro-service when the service data exists in the message queue;
s730, executing the initial target micro-service according to the dependent file to obtain intermediate data;
and S740, executing the next target micro-service of the initial target micro-service by utilizing the intermediate data and the dependent file of the next target micro-service of the initial target micro-service to obtain the result data.
Hereinafter, step S710 to step S740 will be further explained and explained. Specifically, when executing the target micro-service, firstly, acquiring an initial to-be-called function module, an initial target micro-service corresponding to the initial to-be-called function module and a message queue corresponding to the initial target micro-service, which are included in a function module call chain, wherein a task scheduling module writes service data of the initial target micro-service into the corresponding message queue, a function module of a virtual object in an initial video monitors the corresponding message queue in real time, when the initial function module monitors that the service data exists in the message queue corresponding to the initial target micro-service, the service data is actively read, a dependent file for executing the initial target micro-service is acquired in a shared data volume according to a unique identifier of the initial target micro-service corresponding to the service data, and after the dependent file is acquired, the initial target micro-service is executed according to the dependent file, and intermediate data is acquired; and then, acquiring the next target micro-service of the initial target micro-service, and executing the next target micro-service by utilizing the intermediate data of the initial target micro-service and the dependent file of the next target micro-service to obtain result data.
In further detail, referring to fig. 8, executing the next target micro service of the initial target micro service to obtain the result data by using the intermediate data and the dependency file of the next target micro service of the initial target micro service may include steps S810-S840:
step S810, after obtaining intermediate data corresponding to the initial target micro-service, storing the intermediate data into a return queue;
step S820, judging intermediate data included in the return queue, after determining that the execution of the initial target micro-service is completed, acquiring a next target micro-service of the initial target micro-service, and writing service data of the next target micro-service into a message queue corresponding to the next target micro-service;
step S830, when responding to the existence of service data in a message queue corresponding to the next target micro-service, acquiring a dependent file for executing the next target micro-service from the shared data volume according to the unique identifier of the next target micro-service; wherein, the dependent file of the next target micro-service at least comprises the intermediate data of the last target micro-service of the next target micro-service;
And S840, executing the next target micro-service according to the dependent file of the next target micro-service to obtain intermediate data of the next target micro-service until all target micro-services corresponding to the function module to be called are executed, and obtaining the result data.
Hereinafter, step S810 to step S840 will be further explained and explained. Specifically, after the initial target micro-service is executed to obtain intermediate data, the intermediate data and service data of the initial target micro-service corresponding to the intermediate data can be stored in a return queue, the return queue transmits the target micro-service and the intermediate data generated by executing the target micro-service to a task scheduling module, the task scheduling module judges the received target micro-service, the service data corresponding to the target micro-service and the intermediate data obtained by executing the target micro-service, determines whether the target micro-service corresponding to the intermediate data is successfully executed or not, when the initial target micro-service is successfully executed, acquires a next target micro-service of the initial target micro-service, writes service data of the next target micro-service into a message queue corresponding to the next target micro-service, so that when the service data exists in the message queue corresponding to the next target micro-service, the service data is actively read, and a dependent file for executing the next target micro-service is obtained in a shared data volume according to a unique identifier of the service data, wherein the dependent file of the next target micro-service at least comprises the last target micro-service for executing the current target micro-service, and the acquired intermediate data is returned to the next target micro-service, and the next target micro-service is executed to the intermediate micro-service; repeating the executing steps until all the target micro services corresponding to the functional module to be called are successfully executed, and obtaining result data.
In the present exemplary embodiment, referring to fig. 9, after obtaining the result data, the video processing method may further include steps S910 to S930:
s910, obtaining a result return file included in the request information, and determining a target micro-service of a result to be returned corresponding to a functional module of the result to be returned according to the functional module of the result to be returned included in the result return file;
step S920, uploading the intermediate data obtained by executing the target micro-service and the result data to a file object for storage;
and S930, generating a download link corresponding to the intermediate data of the target micro-service of the result to be returned and the download link of the result data, and sending the download link to the client.
Hereinafter, step S910 to step S930 will be further explained and explained. Specifically, firstly, a result return file included in request information sent by a client is obtained, wherein the result return file records a to-be-called function module needing to return an intermediate result after the execution of a target micro-service corresponding to the to-be-called function module, namely, the target micro-service needing to return intermediate data is determined according to the function module of the to-be-returned result included in the result return file; and then, all the intermediate data and result data obtained by executing the target micro-service are uploaded to a file object for storage, a download link corresponding to the intermediate data of the target micro-service of the result to be returned is generated after the uploading is completed, the result processing module stores the download link to a task information storage database, and when mail is required to be sent in the service data of the target micro-service corresponding to the intermediate data, the download link corresponding to the intermediate data of the target micro-service of the result to be returned is sent to a corresponding mailbox through the mail.
In addition, in the execution process of the target micro-service, the execution state of the target micro-service can be queried from the application programming interface service through a WebSocket (a protocol for full duplex communication on a single TCP connection) interface in real time, and after the execution of the target micro-service is completed, the download link of intermediate data or result data can be queried in the application programming interface service. The problem that a client can only send a request and a server can only respond to the client request in protocols such as traditional HTTP (Hyper Text Transfer Protocol ) is solved through a WebSocket interface.
In the present exemplary embodiment, the target micro-service included in the micro-service and the execution sequence of the target micro-service are determined through the function module call chain in the request information, and the target micro-service is executed according to the execution sequence, so as to obtain the result data, thereby solving the problem that the logic of the call sequence and the combination mode is required to be written by the user in the related technology, and improving the execution efficiency of the function module; and for single request information, although the execution of each target micro-service has a sequential dependency relationship, when a plurality of request information is received, the target micro-service corresponding to each request information can be executed in parallel, so that the execution efficiency is further improved.
In step S130, a target model file included in the request information is acquired, a target video is generated using the target model file and the result data, and the target video is sent to the client.
The target model file is a static file of a target virtual object model and is mainly skeletal data of the target virtual object.
In the present exemplary embodiment, referring to fig. 10, generating a target video using the target model file and the result data may include steps S1010 and S1020:
s1010, acquiring target virtual object skeleton data included in the target model file;
and S1020, generating the target video according to the target virtual object skeleton data and the result data.
Step S1010 and step S1020 will be further explained and explained below. Specifically, after the result data generated by the execution of the target micro service is obtained, the target model file included in the request information may be obtained, and the target video may be generated according to the skeletal data and the result data of the target virtual object included in the target model file. After generating the target video, the target video may be sent to the client.
The video processing method provided by the exemplary embodiment of the present disclosure has at least the following advantages: on the one hand, after receiving the request information sent by the client, analyzing the initial video contained in the request information to obtain the functional module contained in the initial video, thereby solving the problem that in the related art, a user needs to download a software tool development kit of the functional module in the initial video, and reducing the consumption of storage resources of the user; on the other hand, after the function module included in the initial video is obtained, the hardware environment and the software environment required for executing the function module are packaged, so that the micro-service corresponding to the function module is obtained, the problem that in the related art, the software environment or the hardware environment is required to be purchased in advance when a software development kit of the function module is called is solved, and the cost of generating the target video according to the initial video is reduced for a user; in still another aspect, the target micro-service corresponding to the function module to be called and the execution sequence of the target micro-service are determined according to the function module call chain in the request information, and the target micro-service is executed according to the execution sequence of the target micro-service, so that the problem that the user is required to write the call sequence and the logic of the combination mode in the related technology is solved, and the execution efficiency of the target micro-service is improved.
The exemplary embodiments of the present disclosure also provide a video processing apparatus, as shown with reference to fig. 11, may include: a functional encapsulation module 1110, a result data generation module 1120, and a target video generation module 1130. Wherein:
the function encapsulation module 1110 is configured to receive request information sent by a client, parse an initial video included in the request information, obtain a function module included in the initial video, and encapsulate the function module into a micro service;
the result data generating module 1120 is configured to obtain, according to a function module call chain included in the request information, a target micro service included in the micro service and corresponding to the function module call chain, and execute the target micro service to obtain result data;
and the target video generating module 1130 is configured to obtain a target model file included in the request information, generate a target video using the target model file and the result data, and send the target video to the client.
The specific details of each module in the above video processing apparatus are described in detail in the corresponding video processing method, so that the details are not repeated here.
In an exemplary embodiment of the present disclosure, parsing an initial video included in the request information to obtain a functional module included in the initial video includes:
acquiring an initial video included in the request information;
detecting the initial video, and analyzing the activity of the virtual object when the initial video is determined to contain the virtual object, so as to obtain the function of the virtual object contained in the initial video;
and acquiring a function module corresponding to the function of the virtual object according to the function of the virtual object included in the initial video.
In one exemplary embodiment of the present disclosure, packaging the functional module as a micro-service includes:
acquiring an environment required for executing the functional module;
and packaging the functional module and the environment needed for executing the functional module into a micro-service.
In an exemplary embodiment of the present disclosure, before obtaining, according to a function module call chain included in the request information, a target micro service included in the micro service and corresponding to the function module call chain, the video processing method further includes:
acquiring a function module to be called, which is included in the function module call chain, determining a target micro-service corresponding to the function module to be called, and generating a unique identifier corresponding to the target micro-service;
And storing the target micro-service and the unique identification corresponding to the target micro-service into a task information storage database.
In an exemplary embodiment of the present disclosure, obtaining a target micro service corresponding to the function module call chain included in the micro service, and executing the target micro service, to obtain result data, includes:
acquiring a calling sequence of each function module to be called in the function module calling chain;
and executing the target micro-service corresponding to the function module to be called according to the calling sequence of the function module to be called, so as to obtain the result data.
In an exemplary embodiment of the present disclosure, according to a calling order of each of the to-be-called function modules, executing a target micro service corresponding to the to-be-called function module to obtain the result data, including:
acquiring an initial call function module in the function module to be called, an initial target micro-service corresponding to the initial call function module and a message queue corresponding to the initial target micro-service;
writing service data corresponding to the initial target micro-service into a message queue, and acquiring a dependent file for executing the initial target micro-service from the shared data volume according to the unique identifier of the initial target micro-service when responding to the existence of the service data in the message queue;
Executing the initial target micro-service according to the dependent file to obtain intermediate data;
and executing the next target micro-service of the initial target micro-service by utilizing the intermediate data and the dependent file of the next target micro-service of the initial target micro-service to obtain the result data.
In an exemplary embodiment of the present disclosure, executing the next target micro-service of the initial target micro-service using the intermediate data and the dependency file of the next target micro-service of the initial target micro-service, to obtain the result data includes:
after obtaining the intermediate data corresponding to the initial target micro-service, storing the intermediate data into a return queue;
judging intermediate data included in the return queue, after determining that the execution of the initial target micro-service is completed, acquiring a next target micro-service of the initial target micro-service, and writing service data of the next target micro-service into a message queue corresponding to the next target micro-service;
when responding to the existence of service data in a message queue corresponding to the next target micro-service, acquiring a dependent file for executing the next target micro-service from the shared data volume according to the unique identifier of the next target micro-service; wherein, the dependent file of the next target micro-service at least comprises the intermediate data of the last target micro-service of the next target micro-service;
And executing the next target micro-service according to the dependent file of the next target micro-service to obtain intermediate data of the next target micro-service until all target micro-services corresponding to the function module to be called are executed, and obtaining the result data.
In an exemplary embodiment of the present disclosure, after obtaining the result data, the video processing method further includes:
acquiring a result return file included in the request information, and determining a target micro-service of a result to be returned, which corresponds to a functional module of the result to be returned, according to the functional module of the result to be returned included in the result return file;
uploading the intermediate data obtained by executing the target micro-service and the result data to a file object for storage;
and generating a download link corresponding to the intermediate data of the target micro-service of the result to be returned and the download link of the result data, and sending the download link to the client.
In an exemplary embodiment of the present disclosure, generating a target video using the target model file and the result data includes:
acquiring target virtual object skeleton data included in the target model file;
And generating the target video according to the target virtual object skeleton data and the result data.
It should be noted that although in the above detailed description several modules or units of a device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit in accordance with embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into a plurality of modules or units to be embodied.
Furthermore, although the various steps of the methods in the present disclosure are depicted in a particular order in the drawings,
however, this does not require or suggest that the steps must be performed in that particular order or that all of the illustrated steps be performed in order to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step to perform, and/or one step decomposed into multiple steps to perform, etc.
In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
Those skilled in the art will appreciate that the various aspects of the present disclosure may be implemented as a system, method, or program product. Accordingly, various aspects of the disclosure may be embodied in the following forms, namely: an entirely hardware embodiment, an entirely software embodiment (including firmware, micro-code, etc.) or an embodiment combining hardware and software aspects may be referred to herein as a "circuit," module "or" system.
An electronic device 1200 according to such an embodiment of the present disclosure is described below with reference to fig. 12. The electronic device 1200 shown in fig. 12 is merely an example, and should not be construed as limiting the functionality and scope of use of the disclosed embodiments.
As shown in fig. 12, the electronic device 1200 is in the form of a general purpose computing device. Components of electronic device 1200 may include, but are not limited to: the at least one processing unit 1210, the at least one memory unit 1220, a bus 1230 connecting the different system components (including the memory unit 1220 and the processing unit 1210), and a display unit 1240.
Wherein the storage unit stores program code that is executable by the processing unit 1210 such that the processing unit 1210 performs steps according to various exemplary embodiments of the present disclosure described in the above-described "exemplary methods" section of the present specification. For example, the processing unit 1410 may perform step S110 as shown in fig. 1: receiving request information sent by a client, analyzing an initial video contained in the request information to obtain a functional module contained in the initial video, and packaging the functional module into a micro service; s120: acquiring a target micro service corresponding to the function module call chain included in the micro service according to the function module call chain included in the request information, and executing the target micro service to obtain result data; s130: and acquiring a target model file included in the request information, generating a target video by using the target model file and the result data, and sending the target video to the client.
The storage unit 1220 may include a readable medium in the form of a volatile storage unit, such as a Random Access Memory (RAM) 12201 and/or a cache memory 12202, and may further include a Read Only Memory (ROM) 12203.
Storage unit 1220 may also include a program/utility 12204 having a set (at least one) of program modules 12205, such program modules 12205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
Bus 1230 may be a local bus representing one or more of several types of bus structures including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or using any of a variety of bus architectures.
The electronic device 1200 may also communicate with one or more external devices 1300 (e.g., keyboard, pointing device, bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 1200, and/or any device (e.g., router, modem, etc.) that enables the electronic device 1200 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 1250. Also, the electronic device 1200 may communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the internet through the network adapter 1260. As shown, the network adapter 1260 communicates with other modules of the electronic device 1200 over bus 1230. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with electronic device 1200, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, including several instructions to cause a computing device (may be a personal computer, a server, a terminal device, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, a computer-readable storage medium having stored thereon a program product capable of implementing the method described above in the present specification is also provided. In some possible implementations, various aspects of the disclosure may also be implemented in the form of a program product comprising program code for causing a terminal device to carry out the steps according to the various exemplary embodiments of the disclosure as described in the "exemplary methods" section of this specification, when the program product is run on the terminal device.
A program product for implementing the above-described method according to an embodiment of the present disclosure may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium would include the following: an electrical connection having one or more wires, a portable disk, a hard disk, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable signal medium may include a data signal propagated in baseband or as part of a carrier wave with readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via the Internet using an Internet service provider).
Furthermore, the above-described figures are only schematic illustrations of processes included in the method according to the exemplary embodiments of the present disclosure, and are not intended to be limiting. It will be readily appreciated that the processes shown in the above figures do not indicate or limit the temporal order of these processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, for example, among a plurality of modules.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any adaptations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.

Claims (9)

1. A video processing method, comprising:
receiving request information sent by a client, analyzing an initial video contained in the request information to obtain a functional module contained in the initial video, and packaging the functional module into a micro service; the function module comprises one or more of an expression migration function module, an action migration function module and a gesture migration function module of a virtual object in the initial video;
Acquiring a target micro service corresponding to the function module call chain included in the micro service according to the function module call chain included in the request information, and executing the target micro service to obtain result data;
acquiring a target model file included in the request information, generating a target video by using the target model file and the result data, and sending the target video to the client; the target model file comprises skeleton data of a target virtual object;
the obtaining the target micro service corresponding to the function module call chain and included in the micro service, and executing the target micro service to obtain result data includes:
acquiring a calling sequence of each function module to be called in the function module calling chain;
acquiring an initial call function module in the function module to be called, an initial target micro-service corresponding to the initial call function module and a message queue corresponding to the initial target micro-service;
writing service data corresponding to the initial target micro-service into a message queue, and acquiring a dependent file for executing the initial target micro-service from a shared data volume according to the unique identifier of the initial target micro-service when responding to the existence of the service data in the message queue;
Executing the initial target micro-service according to the dependent file to obtain intermediate data;
and executing the next target micro-service of the initial target micro-service by utilizing the intermediate data and the dependent file of the next target micro-service of the initial target micro-service to obtain the result data.
2. The video processing method according to claim 1, wherein analyzing the initial video included in the request information to obtain the functional module included in the initial video includes:
acquiring an initial video included in the request information;
detecting the initial video, and analyzing the activity of the virtual object when the initial video is determined to contain the virtual object, so as to obtain the function of the virtual object contained in the initial video;
and acquiring a function module corresponding to the function of the virtual object according to the function of the virtual object included in the initial video.
3. The video processing method of claim 1, wherein encapsulating the functional module as a micro-service comprises:
acquiring an environment required for executing the functional module;
and packaging the functional module and the environment needed for executing the functional module into a micro-service.
4. The video processing method according to claim 1, wherein before acquiring a target micro service corresponding to a function module call chain included in the micro service according to the function module call chain included in the request information, the video processing method further comprises:
acquiring a function module to be called, which is included in the function module call chain, determining a target micro-service corresponding to the function module to be called, and generating a unique identifier corresponding to the target micro-service;
and storing the target micro-service and the unique identification corresponding to the target micro-service into a task information storage database.
5. The video processing method according to claim 1, wherein executing the next target micro-service of the initial target micro-service to obtain the result data using the intermediate data and a dependency file of the next target micro-service of the initial target micro-service, comprises:
after obtaining the intermediate data corresponding to the initial target micro-service, storing the intermediate data into a return queue;
judging intermediate data included in the return queue, after determining that the execution of the initial target micro-service is completed, acquiring a next target micro-service of the initial target micro-service, and writing service data of the next target micro-service into a message queue corresponding to the next target micro-service;
When responding to the existence of service data in a message queue corresponding to the next target micro-service, acquiring a dependent file for executing the next target micro-service from the shared data volume according to the unique identifier of the next target micro-service; wherein, the dependent file of the next target micro-service at least comprises the intermediate data of the last target micro-service of the next target micro-service;
and executing the next target micro-service according to the dependent file of the next target micro-service to obtain intermediate data of the next target micro-service until all target micro-services corresponding to the function module to be called are executed, and obtaining the result data.
6. The video processing method according to claim 5, characterized in that after obtaining the result data, the video processing method further comprises:
acquiring a result return file included in the request information, and determining a target micro-service of a result to be returned, which corresponds to a functional module of the result to be returned, according to the functional module of the result to be returned included in the result return file;
uploading the intermediate data obtained by executing the target micro-service and the result data to a file object for storage;
And generating a download link corresponding to the intermediate data of the target micro-service of the result to be returned and the download link of the result data, and sending the download link to the client.
7. A video processing apparatus, comprising:
the function encapsulation module is used for receiving request information sent by the client, analyzing the initial video contained in the request information to obtain a function module contained in the initial video, and encapsulating the function module into micro-services; the function module comprises one or more of an expression migration function module, an action migration function module and a gesture migration function module of a virtual object in the initial video;
the result data generation module is used for acquiring a target micro-service corresponding to the function module call chain included in the micro-service according to the function module call chain included in the request information, and executing the target micro-service to obtain result data;
the target video generation module is used for acquiring a target model file included in the request information, generating a target video by utilizing the target model file and the result data, and sending the target video to the client; the target model file comprises skeleton data of a target virtual object;
The obtaining the target micro service corresponding to the function module call chain and included in the micro service, and executing the target micro service to obtain result data includes:
acquiring a calling sequence of each function module to be called in the function module calling chain;
acquiring an initial call function module in the function module to be called, an initial target micro-service corresponding to the initial call function module and a message queue corresponding to the initial target micro-service;
writing service data corresponding to the initial target micro-service into a message queue, and acquiring a dependent file for executing the initial target micro-service from a shared data volume according to the unique identifier of the initial target micro-service when responding to the existence of the service data in the message queue;
executing the initial target micro-service according to the dependent file to obtain intermediate data;
and executing the next target micro-service of the initial target micro-service by utilizing the intermediate data and the dependent file of the next target micro-service of the initial target micro-service to obtain the result data.
8. A readable storage medium having stored thereon a computer program, which when executed by a processor implements the video processing method of any of claims 1-6.
9. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the video processing method of any of claims 1-6 via execution of the executable instructions.
CN202210234286.4A 2022-03-10 2022-03-10 Video processing method and device, computer readable storage medium and electronic equipment Active CN114615521B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210234286.4A CN114615521B (en) 2022-03-10 2022-03-10 Video processing method and device, computer readable storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210234286.4A CN114615521B (en) 2022-03-10 2022-03-10 Video processing method and device, computer readable storage medium and electronic equipment

Publications (2)

Publication Number Publication Date
CN114615521A CN114615521A (en) 2022-06-10
CN114615521B true CN114615521B (en) 2024-02-23

Family

ID=81862801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210234286.4A Active CN114615521B (en) 2022-03-10 2022-03-10 Video processing method and device, computer readable storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN114615521B (en)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330576A (en) * 2016-11-18 2017-01-11 北京红马传媒文化发展有限公司 Automatic scaling and migration scheduling method, system and device for containerization micro-service
CN109150978A (en) * 2018-07-24 2019-01-04 北京百度网讯科技有限公司 The method and apparatus for debugging micro services
CN109921927A (en) * 2019-02-20 2019-06-21 苏州人之众信息技术有限公司 Real-time calling D-chain trace method based on micro services
CN109961204A (en) * 2017-12-26 2019-07-02 中国移动通信集团浙江有限公司 Quality of service analysis method and system under a kind of micro services framework
CN110333917A (en) * 2019-07-19 2019-10-15 深圳前海微众银行股份有限公司 Data processing method, device, equipment and readable storage medium storing program for executing based on micro services
CN110457143A (en) * 2019-07-25 2019-11-15 腾讯科技(深圳)有限公司 The call method and device of micro services
CN111049878A (en) * 2019-10-23 2020-04-21 平安科技(深圳)有限公司 Method, device, electronic device and storage medium for visualizing micro-service call chain
CN111798551A (en) * 2020-07-20 2020-10-20 网易(杭州)网络有限公司 Virtual expression generation method and device
CN112256359A (en) * 2020-10-26 2021-01-22 卫宁健康科技集团股份有限公司 Micro-service merging method and device, electronic equipment and readable storage medium
CN113269700A (en) * 2021-04-29 2021-08-17 北京达佳互联信息技术有限公司 Video generation method and device, electronic equipment and storage medium
CN113559499A (en) * 2021-09-24 2021-10-29 腾讯科技(深圳)有限公司 Service processing method and device for virtual scene, electronic equipment and storage medium
CN113633983A (en) * 2021-08-16 2021-11-12 上海交通大学 Method, device, electronic equipment and medium for controlling expression of virtual character
CN113923230A (en) * 2020-06-22 2022-01-11 华为技术有限公司 Data synchronization method, electronic device, and computer-readable storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10356213B2 (en) * 2017-03-17 2019-07-16 International Business Machines Corporation Automatic interdependency resolution for micro-service deployments
US10855793B2 (en) * 2017-09-25 2020-12-01 Splunk Inc. Proxying hypertext transfer protocol (HTTP) requests for microservices
US10783017B2 (en) * 2018-05-16 2020-09-22 ChartIQ, Inc. System and method for integrating multiple applications
US11194620B2 (en) * 2018-10-31 2021-12-07 Nutanix, Inc. Virtual machine migration task management
US20200356866A1 (en) * 2019-05-08 2020-11-12 International Business Machines Corporation Operative enterprise application recommendation generated by cognitive services from unstructured requirements
CN112988499B (en) * 2019-12-16 2022-10-21 阿波罗智联(北京)科技有限公司 Data processing method and device, electronic equipment and storage medium

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330576A (en) * 2016-11-18 2017-01-11 北京红马传媒文化发展有限公司 Automatic scaling and migration scheduling method, system and device for containerization micro-service
CN109961204A (en) * 2017-12-26 2019-07-02 中国移动通信集团浙江有限公司 Quality of service analysis method and system under a kind of micro services framework
CN109150978A (en) * 2018-07-24 2019-01-04 北京百度网讯科技有限公司 The method and apparatus for debugging micro services
CN109921927A (en) * 2019-02-20 2019-06-21 苏州人之众信息技术有限公司 Real-time calling D-chain trace method based on micro services
CN110333917A (en) * 2019-07-19 2019-10-15 深圳前海微众银行股份有限公司 Data processing method, device, equipment and readable storage medium storing program for executing based on micro services
CN110457143A (en) * 2019-07-25 2019-11-15 腾讯科技(深圳)有限公司 The call method and device of micro services
CN111049878A (en) * 2019-10-23 2020-04-21 平安科技(深圳)有限公司 Method, device, electronic device and storage medium for visualizing micro-service call chain
WO2021077506A1 (en) * 2019-10-23 2021-04-29 平安科技(深圳)有限公司 Micro-service call chain concretization method and device, electronic device and storage medium
CN113923230A (en) * 2020-06-22 2022-01-11 华为技术有限公司 Data synchronization method, electronic device, and computer-readable storage medium
CN111798551A (en) * 2020-07-20 2020-10-20 网易(杭州)网络有限公司 Virtual expression generation method and device
CN112256359A (en) * 2020-10-26 2021-01-22 卫宁健康科技集团股份有限公司 Micro-service merging method and device, electronic equipment and readable storage medium
CN113269700A (en) * 2021-04-29 2021-08-17 北京达佳互联信息技术有限公司 Video generation method and device, electronic equipment and storage medium
CN113633983A (en) * 2021-08-16 2021-11-12 上海交通大学 Method, device, electronic equipment and medium for controlling expression of virtual character
CN113559499A (en) * 2021-09-24 2021-10-29 腾讯科技(深圳)有限公司 Service processing method and device for virtual scene, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN114615521A (en) 2022-06-10

Similar Documents

Publication Publication Date Title
US10951552B2 (en) Generation of a chatbot interface for an application programming interface
CN111158818B (en) Page rendering method and device
CN110083455B (en) Graph calculation processing method, graph calculation processing device, graph calculation processing medium and electronic equipment
CN111176626B (en) Cross-programming-language code calling method and device, medium and equipment
CN107463434B (en) Distributed task processing method and device
WO2014048215A1 (en) Development, compiling and debugging method and device for application
CN111338623B (en) Method, device, medium and electronic equipment for developing user interface
CN110781180B (en) Data screening method and data screening device
CN110795181A (en) Application program interface display method and device based on skip protocol and electronic equipment
CN110990746A (en) Page loading method, device, system, storage medium and electronic equipment
CN111857658A (en) Method, device, medium and electronic equipment for rendering dynamic component
CN107517188A (en) A kind of data processing method and device based on Android system
CN109343970B (en) Application program-based operation method and device, electronic equipment and computer medium
CN110851211A (en) Method, apparatus, electronic device, and medium for displaying application information
CN115048112A (en) Micro-service deployment method, device, electronic equipment and storage medium
CN114615521B (en) Video processing method and device, computer readable storage medium and electronic equipment
US10409762B2 (en) Remote direct memory access-based on static analysis of asynchronous blocks
CN111752644A (en) Interface simulation method, device, equipment and storage medium
CN115328997B (en) Data synchronization method, system, device and storage medium
CN110548285B (en) Game communication control method and device, medium and electronic equipment
CN113849449A (en) Communication system and information interaction method, device and medium
CN113778698A (en) Server communication method and device, storage medium and equipment
CN111782196A (en) MVP architecture-based development method and device
CN112860447A (en) Interaction method and system between different applications
CN116991380B (en) Application program construction method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant