CN112929728A - Video rendering method, device and system, electronic equipment and storage medium - Google Patents

Video rendering method, device and system, electronic equipment and storage medium Download PDF

Info

Publication number
CN112929728A
CN112929728A CN202110076748.XA CN202110076748A CN112929728A CN 112929728 A CN112929728 A CN 112929728A CN 202110076748 A CN202110076748 A CN 202110076748A CN 112929728 A CN112929728 A CN 112929728A
Authority
CN
China
Prior art keywords
rendering
video
sub
rendered
tasks
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.)
Pending
Application number
CN202110076748.XA
Other languages
Chinese (zh)
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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202110076748.XA priority Critical patent/CN112929728A/en
Publication of CN112929728A publication Critical patent/CN112929728A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42653Internal components of the client ; Characteristics thereof for processing graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing

Abstract

The embodiment of the invention provides a video rendering method, a video rendering device, a video rendering system, electronic equipment and a storage medium. The video rendering method comprises the following steps: determining a plurality of sub-rendering tasks of a video to be rendered; rendering corresponding sub-video fragments in the video to be rendered respectively according to the sub-rendering tasks; and merging the rendered sub-video clips to obtain the rendered video. According to the scheme, the plurality of sub-rendering tasks of the video to be rendered are determined, the corresponding sub-video fragments in the video to be rendered are rendered respectively according to the sub-rendering tasks, the rendered sub-video fragments are combined, and the rendered video is obtained.

Description

Video rendering method, device and system, electronic equipment and storage medium
Technical Field
The present invention relates to the field of video processing technologies, and in particular, to a video rendering method, apparatus, system, electronic device, and storage medium.
Background
Video generally refers to various techniques for capturing, recording, processing, storing, transmitting, and reproducing a series of still images as electrical signals. When the continuous image changes more than 24 frames (frames) of pictures per second, human eyes cannot distinguish a single static picture according to the persistence of vision principle; it appears as a smooth continuous visual effect, so that the continuous picture is called a video.
After the video is shot, the video needs to be rendered according to the requirements of the user, for example, subtitles, transition pictures, special effects and the like are added in the video, a section of processed video is formed through output after a series of special effects are added on the basis of the original video, but most of the current video post-rendering processing is based on a single machine and has low efficiency, and meanwhile, each frame needs to be processed through manual participation, and energy is consumed.
Disclosure of Invention
In order to solve the problems in the prior art, at least one embodiment of the present invention provides a video rendering method, apparatus, system, electronic device and storage medium.
In a first aspect, an embodiment of the present invention provides a video rendering method, where the rendering method includes:
determining a plurality of sub-rendering tasks of a video to be rendered;
rendering corresponding sub video clips in the video to be rendered respectively according to the sub rendering tasks;
and merging the rendered sub-video clips to obtain the rendered video.
Based on the above technical solutions, the embodiments of the present invention may be further improved as follows.
With reference to the first aspect, in a first embodiment of the first aspect, the rendering method further includes:
and determining the accumulated rendering time length of each sub rendering task, wherein the relative deviation of the accumulated rendering time lengths of any two sub rendering tasks is less than or equal to a preset threshold value.
With reference to the first aspect, in a second embodiment of the first aspect, the rendering method further includes:
and determining the accumulated rendering time length of each sub rendering task, wherein the variance value of the accumulated rendering time length of each sub rendering task is less than or equal to a preset variance value.
With reference to the first or second embodiment of the first aspect, in a third embodiment of the first aspect, the determining multiple sub-rendering tasks of the video to be rendered includes:
acquiring the unit number of rendering units for rendering the video to be rendered;
and according to the number of the units, based on rendering operation of the rendering task corresponding to the video to be rendered and rendering duration of each rendering operation, dividing the rendering task to obtain a plurality of sub-rendering tasks.
With reference to the first aspect, in a fourth embodiment of the first aspect, the rendering, according to the sub-rendering tasks, corresponding sub-video segments in the video to be rendered respectively includes:
processing the video to be rendered according to the sub-rendering tasks to obtain sub-video fragments corresponding to the sub-rendering tasks;
and respectively sending the sub video clips and the corresponding sub rendering tasks to corresponding rendering units for rendering.
With reference to the first aspect or the first, second, and fourth embodiments of the first aspect, in a fifth embodiment of the first aspect, the merging the rendered sub-video segments to obtain a rendered video includes:
acquiring a time sequence of the sub-rendering tasks in the rendering tasks;
and combining the rendered sub-video clips corresponding to the time sequence of the sub-rendering tasks to obtain a rendered video.
In a second aspect, an embodiment of the present invention provides a video rendering apparatus, where the video rendering apparatus includes: the system comprises a rendering configuration unit, a plurality of rendering execution units and a video merging unit;
the rendering configuration unit is used for determining a plurality of sub-rendering tasks of the video to be rendered;
the rendering execution unit is used for rendering corresponding sub-video fragments in the video to be rendered respectively according to the sub-rendering tasks;
and the video merging unit is used for merging the rendered sub-video clips to obtain a rendered video.
In a third aspect, an embodiment of the present invention provides a video rendering system, where the video rendering system includes: the system comprises a rendering configuration server, a plurality of rendering execution servers and a video merging server;
the rendering configuration server is used for determining a plurality of sub-rendering tasks of the video to be rendered;
the rendering execution server is used for rendering corresponding sub-video fragments in the video to be rendered respectively according to the sub-rendering tasks;
and the video merging server is used for merging the rendered sub-video clips to obtain a rendered video.
In a fourth aspect, an embodiment of the present invention provides an electronic device, including multiple processors, a communication interface, a memory, and a communication bus, where the processors, the communication interface, and the memory complete communication with each other through the communication bus; the processor includes: a first processor for executing the configuration tasks, a plurality of second processors for executing the rendering tasks, and a third processor for executing the merging task;
a memory for storing a computer program;
the first processor is used for executing the program stored in the memory and realizing the determination of a plurality of sub-rendering tasks of the video to be rendered;
the second processor is used for executing the program stored in the memory and respectively rendering corresponding sub-video fragments in the video to be rendered according to the sub-rendering tasks;
and the third processor is used for executing the program stored in the memory to realize the combination of the rendered sub-video clips and obtain the rendered video.
In a fifth aspect, the present invention provides a computer-readable storage medium, where one or more programs are stored, and the one or more programs are executable by one or more processors to implement the video rendering method according to any one of the first aspects.
Compared with the prior art, the technical scheme of the invention has the following advantages: according to the embodiment of the invention, the plurality of sub-rendering tasks of the video to be rendered are determined, the corresponding sub-video fragments in the video to be rendered are respectively rendered according to the sub-rendering tasks, and the rendered sub-video fragments are combined to obtain the rendered video.
Drawings
FIG. 1 is a schematic diagram of a system provided in accordance with various embodiments of the present invention;
fig. 2 is a schematic flowchart of a video rendering method according to an embodiment of the present invention;
fig. 3 is a flowchart illustrating a video rendering method according to another embodiment of the invention;
fig. 4 is a flowchart illustrating a video rendering method according to another embodiment of the invention;
fig. 5 is a schematic structural diagram of a video rendering apparatus according to yet another embodiment of the present invention;
fig. 6 is a schematic structural diagram of a video rendering system according to yet another embodiment of the present invention;
fig. 7 is a schematic structural diagram of an electronic device according to yet another embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, are within the scope of the present invention.
As shown in fig. 1, to implement the structural schematic diagram of a system according to various embodiments of the present invention, the system includes a terminal, where the terminal includes: a processor 1110 and a memory 1130, wherein the terminal may be a mobile terminal such as a mobile phone, a tablet computer, a notebook computer, a palmtop computer, a Personal Digital Assistant (PDA), a Portable Media Player (PMP), a navigation device, a wearable device, a smart band, a pedometer, and a fixed terminal such as a digital TV, a desktop computer, and the like.
As shown in fig. 2, a video rendering method according to an embodiment of the present invention is provided. Referring to fig. 2, the method includes the steps of:
and S11, determining a plurality of sub-rendering tasks of the video to be rendered.
In this embodiment, after the video is shot, the shot video needs to be rendered to enable the video to obtain a better playing effect, for example, a part of frame images in the video are cut off, or transition effects are added between different scenes of the video to improve the video integrity.
In this embodiment, a rendering task of a video to be rendered may be determined by obtaining a description file of the video to be rendered, where the description file may be pre-entered by a user for a layout of an entire video to be rendered, or may be automatically generated by identifying a scene change of the video to be rendered, and specifically, for example, when a scene change occurs at a certain play time point of the video to be rendered, a rendering operation of a transition special effect may be entered corresponding to the time point, and when the video to be rendered is processed and identified to obtain a corresponding scene, a corresponding rendering operation is automatically entered to obtain the description file.
In this embodiment, the sub-rendering tasks in this step may be obtained by splitting the complete rendering task, for example, the description file may be split to obtain corresponding sub-description files as the sub-rendering tasks, where the description files are recording files corresponding to rendering operations.
In this embodiment, the sub-rendering tasks in this step may also be obtained by splitting the rendering task set by the user, for example, splitting the rendering task set by the user or the rendering task automatically generated to obtain the sub-rendering tasks.
In this embodiment, a rule may also be set for a video, the video is divided into sub-video segments according to time length, the content of the video is identified, when the content at a certain time point meets a preset rule, the rendering operation corresponding to the preset rule is added to the corresponding time point of the video, and finally, the rendering operation in each sub-video segment is integrated to obtain a sub-rendering task.
And S12, rendering the corresponding sub-video fragments in the video to be rendered respectively according to the sub-rendering tasks.
In this embodiment, since the sub-rendering tasks respectively correspond to each time point of the video to be rendered, rendering the sub-video segments of the video to be rendered may be performed on the segments within the corresponding time period frame by frame according to the time point and the rendering operation corresponding to the sub-rendering task, where the sub-video segments may be videos of a certain time period or may be image frames corresponding to the sub-rendering tasks in the video to be rendered.
In this embodiment, since some rendering operations are not performed globally for the video, in this step, according to the time point corresponding to the sub rendering task, the sub video clip of the time period corresponding to the sub rendering task is extracted from the video to be rendered, and the extracted sub video clip is rendered.
And S13, merging the rendered sub-video clips to obtain the rendered video.
In this embodiment, each sub-video segment obtained after rendering is merged to obtain a rendered video, specifically, if the rendered sub-video segment is extracted from a video to be rendered, the sub-video segment may be replaced with a segment in an original video to be rendered to obtain a complete video, and each sub-video segment may be further spliced in the original order to obtain a complete video.
In this embodiment, according to the scheme, a plurality of sub-rendering tasks of the video to be rendered are determined, corresponding sub-video fragments in the video to be rendered are rendered respectively according to the sub-rendering tasks, and the rendered sub-video fragments are combined to obtain the video with the rendered video.
In this embodiment, in order to further improve the efficiency of video rendering, the rendering method may further include the following steps: and determining the accumulated rendering time length of each sub rendering task, wherein the relative deviation of the accumulated rendering time lengths of any two sub rendering tasks is less than or equal to a preset threshold value. In the scheme, the accumulated rendering time of each sub-rendering task is limited, so that the relative deviation of the accumulated rendering time is smaller than or equal to a preset threshold value, when the video to be rendered is rendered according to each sub-rendering task, the processing can be finished in a time with little difference, and the time consumption for finally obtaining the rendered video is reduced.
Specifically, for example, the preset threshold may be set to 0, so that the cumulative rendering durations of the sub rendering tasks are consistent, that is, the cumulative rendering durations of the sub rendering tasks in the embodiment are obtained by averaging the rendering durations of the rendering operations in the original rendering task, but it is difficult to finally satisfy that the relative deviation of the cumulative rendering durations is less than or equal to 0 in consideration of the inconsistency of the rendering durations of the different rendering operations, so that the corresponding preset threshold may be set according to an actual situation, for example, a difference value obtained by subtracting the rendering duration of the rendering operation that consumes the shortest time from the rendering duration of the rendering operation that consumes the longest time may be used as the preset threshold, which is not particularly limited in the present scheme.
In another embodiment, to further improve the efficiency of video rendering, the rendering method may further include the steps of: and determining the accumulated rendering time length of each sub rendering task, wherein the variance value of the accumulated rendering time length of each sub rendering task is less than or equal to the preset variance value. In the scheme, the accumulated rendering time of each sub rendering task is limited, so that the variance value of the accumulated rendering time is smaller than or equal to the preset variance value, when the video to be rendered is rendered according to each sub rendering task, the processing can be finished in a time with little difference, and the time consumption of the finally rendered video is reduced.
In this embodiment, in S13, merging the rendered sub-video segments to obtain a rendered video, specifically including: acquiring a time sequence of the sub-rendering tasks in the rendering tasks; and combining the rendered sub-video clips corresponding to the time sequence of the sub-rendering tasks to obtain the rendered video.
In this embodiment, a time sequence order of each sub-rendering task in the rendering task is determined, and the rendered sub-video segments are merged according to the time sequence order, that is, in the scheme, by recording a time period of the video corresponding to each sub-rendering task, after the video is subsequently subjected to distributed rendering processing, the scheme of video merging can be completed quickly, so that the rendered video is obtained.
As shown in fig. 3, an embodiment of the present invention provides a video rendering method. Referring to fig. 3, the method includes the steps of:
and S21, acquiring the unit number of the rendering units for rendering the video to be rendered.
In this embodiment, the rendering unit may be a component such as a client, a server, or a processor, and determines the number of components capable of rendering the video to be rendered, so as to complete the segmentation of the rendering task.
And S22, dividing the rendering task to obtain a plurality of sub-rendering tasks according to the number of the units and based on the rendering operation of the rendering task corresponding to the video to be rendered and the rendering duration of each rendering operation.
In this embodiment, the accumulated rendering duration of the rendering tasks may be averaged according to the number of units to obtain an average rendering duration, and the rendering tasks are divided according to the average rendering duration to obtain sub-rendering tasks respectively.
In this embodiment, the manner of dividing the rendering tasks in the present solution may also be determined according to the limit of the cumulative rendering duration of each sub-rendering task in the above embodiment, for example, each rendering operation in the rendering tasks is obtained; acquiring a pre-stored rendering duration of each rendering operation; according to rendering operation in the rendering task and rendering duration of each rendering operation, splitting the rendering task into a plurality of sub-rendering tasks; and the relative deviation between the accumulated rendering durations of the rendering operations in the sub-rendering tasks is smaller than a preset threshold value. The division of the rendering task may also be completed with reference to another scheme in the above embodiment, which is not described again.
And S23, rendering the corresponding sub-video fragments in the video to be rendered respectively according to the sub-rendering tasks.
Regarding step S23, refer to the description in step S12 for details, which are not repeated herein.
And S24, merging the rendered sub-video clips to obtain the rendered video.
Regarding step S24, refer to the description in step S13 for details, which are not repeated herein.
In this embodiment, statistics is performed according to the number of rendering units that can process a video to be rendered, partitioning of rendering tasks is completed according to the number of rendering units, and corresponding fragments in the rendered video are rendered respectively based on sub-rendering tasks obtained through partitioning, so that the processing efficiency of the video is further improved, and energy consumption is reduced.
As shown in fig. 4, an embodiment of the present invention provides a video rendering method. Referring to fig. 4, the method includes the steps of:
and S31, determining a plurality of sub-rendering tasks of the video to be rendered.
Regarding step S31, refer to the description in step S11 for details, which are not repeated herein.
And S32, processing the video to be rendered according to the sub rendering tasks to obtain sub video fragments corresponding to each sub rendering task.
In this embodiment, according to the obtained sub-rendering tasks, the sub-video segments corresponding to the respective sub-rendering tasks are obtained from the video to be rendered, that is, by extracting the required sub-video segments, time consumed for performing preprocessing on the complete video to be rendered through the rendering process performed by the sub-rendering tasks is reduced, so that the sub-rendering tasks can be directly processed on the corresponding sub-video segments.
And S33, respectively sending the sub video clips and the corresponding sub rendering tasks to corresponding rendering units for rendering.
In this embodiment, the sub-video segments and the corresponding sub-rendering tasks are sent to the corresponding rendering units for rendering respectively, so as to improve the processing efficiency of the video to be rendered, after each rendering unit finishes rendering the sub-video segments, if the rendering unit for rendering the sub-video segments is a processor on a single device, the sub-video segments can be sent back to the original processor, or sent to the same processor for subsequent video merging, if the rendering unit for rendering the sub-video segments is a terminal or a server, the sub-video can be sent back to the original terminal, or sent to the same terminal or the server for video merging after rendering is finished, and finally the rendered video is output.
And S34, merging the rendered sub-video clips to obtain the rendered video.
Regarding step S34, refer to the description in step S13 for details, which are not repeated herein.
In this embodiment, the scheme splits the video to be rendered according to the sub-rendering tasks to obtain corresponding sub-video segments, and correspondingly processes the sub-video segments through the sub-rendering tasks, so as to reduce the processing amount of each rendering unit on the video and improve the processing efficiency, for example, if the video to be rendered is not split, the video to be rendered is rendered through the sub-rendering tasks, rendering can be performed in a frame-extracting manner, and extracted frame images are combined to obtain rendered segments, so as to facilitate subsequent splicing, because the sub-rendering tasks are only a part of the rendering tasks, there is no way to directly process the rendered video, because a series of videos to be rendered, which are partially rendered, are finally waited for, and the combination is troublesome, and if the rendering units are other terminals or servers, if the corresponding sub-video segments are not split, then, the video to be rendered and the corresponding sub-rendering tasks need to be sent to the rendering unit at the same time, which results in huge data transmission amount and inconvenience.
As shown in fig. 5, an embodiment of the present invention provides a video rendering apparatus, including: a rendering configuration unit 11, a plurality of rendering execution units 12, and a video merging unit 13.
In this embodiment, the rendering configuration unit 11 is configured to determine a plurality of sub-rendering tasks of the video to be rendered.
In this embodiment, the rendering execution unit 12 is configured to render the corresponding sub-video segments in the video to be rendered according to the sub-rendering tasks.
In this embodiment, the video merging unit 13 is configured to merge the rendered sub-video segments to obtain a rendered video.
In this embodiment, the rendering configuration unit 11 is further configured to determine an accumulated rendering time duration of each sub-rendering task, where a relative deviation between the accumulated rendering time durations of any two sub-rendering tasks is smaller than or equal to a preset threshold. Or, the rendering configuration unit 11 is further configured to determine the cumulative rendering time of each sub-rendering task, where a variance value of the cumulative rendering time of each sub-rendering task is less than or equal to a preset variance value.
In this embodiment, the rendering configuration unit 11 is specifically configured to obtain the number of units of a rendering unit that renders a video to be rendered; and according to the number of the units, based on the rendering operation of the rendering task corresponding to the video to be rendered and the rendering duration of each rendering operation, dividing the rendering task to obtain a plurality of sub-rendering tasks.
In this embodiment, the rendering execution unit 12 is specifically configured to process a video to be rendered according to the sub-rendering tasks, so as to obtain sub-video segments corresponding to each sub-rendering task; and respectively sending the sub video clips and the corresponding sub rendering tasks to the corresponding rendering units for rendering.
In this embodiment, the video merging unit 13 is specifically configured to obtain a time sequence order of the sub-rendering tasks in the rendering task; and combining the rendered sub-video clips corresponding to the time sequence of the sub-rendering tasks to obtain the rendered video.
As shown in fig. 6, an embodiment of the present invention provides a video rendering system, where the video rendering system includes: a rendering configuration server 21, a plurality of rendering execution servers 22, and a video merge server 23.
In this embodiment, the rendering configuration server 21 is configured to determine a plurality of sub-rendering tasks of the video to be rendered.
In this embodiment, the rendering execution server 22 is configured to render the corresponding sub-video segments in the video to be rendered according to the sub-rendering tasks.
In this embodiment, the video merging server 23 is configured to merge the rendered sub-video segments to obtain a rendered video.
In this embodiment, the rendering configuration server 21 is further configured to determine the cumulative rendering time of each sub-rendering task, and a relative deviation between the cumulative rendering times of any two sub-rendering tasks is smaller than or equal to a preset threshold. Or, the rendering configuration unit is further configured to determine the cumulative rendering time of each sub-rendering task, and a variance value of the cumulative rendering time of each sub-rendering task is less than or equal to a preset variance value.
In this embodiment, the rendering configuration server 21 is specifically configured to obtain the number of units of a rendering unit for rendering a video to be rendered; and according to the number of the units, based on the rendering operation of the rendering task corresponding to the video to be rendered and the rendering duration of each rendering operation, dividing the rendering task to obtain a plurality of sub-rendering tasks.
In this embodiment, the rendering execution server 22 is specifically configured to process the video to be rendered according to the sub-rendering tasks, so as to obtain sub-video fragments corresponding to each sub-rendering task; and respectively sending the sub video clips and the corresponding sub rendering tasks to the corresponding rendering units for rendering.
In this embodiment, the video merge server 23 is specifically configured to obtain a time sequence order of the sub-rendering tasks in the rendering task; and combining the rendered sub-video clips corresponding to the time sequence of the sub-rendering tasks to obtain the rendered video.
As shown in fig. 7, an embodiment of the present invention provides an electronic device, which includes a plurality of processors 1110, a communication interface 1120, a memory 1130, and a communication bus 1140, wherein the processors 1110, the communication interface 1120, and the memory 1130 complete communication with each other through the communication bus 1140; the processor 1110 includes: a first processor for executing the configuration tasks, a plurality of second processors for executing the rendering tasks, and a third processor for executing the merging task;
a memory for storing a computer program;
the first processor is used for executing the program stored in the memory and realizing the determination of a plurality of sub-rendering tasks of the video to be rendered;
the second processor is used for executing the program stored in the memory and respectively rendering corresponding sub-video fragments in the video to be rendered according to the sub-rendering tasks;
and the third processor is used for executing the program stored in the memory to realize the combination of the rendered sub-video clips and obtain the rendered video.
In this embodiment, the first processor is further configured to execute a program stored in the memory, so as to determine the cumulative rendering time length of each sub-rendering task, where a relative deviation between the cumulative rendering time lengths of any two sub-rendering tasks is less than or equal to a preset threshold. Or the first processor is further configured to execute a program stored in the memory, so as to determine the cumulative rendering time of each sub-rendering task, where a variance value of the cumulative rendering time of each sub-rendering task is less than or equal to a preset variance value.
In this embodiment, the first processor is specifically configured to execute a program stored in the memory, so as to obtain the number of units of a rendering unit that renders a video to be rendered; and according to the number of the units, based on the rendering operation of the rendering task corresponding to the video to be rendered and the rendering duration of each rendering operation, dividing the rendering task to obtain a plurality of sub-rendering tasks.
In this embodiment, the second processor is specifically configured to execute a program stored in the memory, and implement processing on a video to be rendered according to the sub-rendering tasks to obtain sub-video segments corresponding to each sub-rendering task; and respectively sending the sub video clips and the corresponding sub rendering tasks to the corresponding rendering units for rendering.
In this embodiment, the third processor is specifically configured to execute a program stored in the memory, so as to obtain a time sequence order of the sub-rendering tasks in the rendering task; and combining the rendered sub-video clips corresponding to the time sequence of the sub-rendering tasks to obtain the rendered video.
In the electronic device provided by the embodiment of the present invention, the processor 1110 determines a plurality of sub-rendering tasks of the video to be rendered by executing the program stored in the memory 1130, respectively renders corresponding sub-video segments in the video to be rendered according to the sub-rendering tasks, and combines the rendered sub-video segments to obtain the video with the rendered result.
The communication bus 1140 mentioned in the above electronic device may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus 1140 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
The communication interface 1120 is used for communication between the electronic device and other devices.
The memory 1130 may include a Random Access Memory (RAM) 1130, and may also include a non-volatile memory 1130, such as at least one disk memory 1130. Optionally, the memory 1130 may also be at least one memory device located remotely from the processor 1110.
The processor 1110 may be a general-purpose processor 1110, and includes a Central Processing Unit (CPU) 1110, a Network Processor (NP) 1110, and the like; the device may also be a digital signal processor 1110 (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic device, or discrete hardware components.
Embodiments of the present invention provide a computer-readable storage medium storing one or more programs, which are executable by one or more processors 1110 to implement the method of any of the above embodiments.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The procedures or functions according to the embodiments of the invention are brought about in whole or in part when the computer program instructions are loaded and executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wirelessly (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (ssd)), among others.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (10)

1. A video rendering method, the rendering method comprising:
determining a plurality of sub-rendering tasks of a video to be rendered;
rendering corresponding sub video clips in the video to be rendered respectively according to the sub rendering tasks;
and merging the rendered sub-video clips to obtain the rendered video.
2. The video rendering method of claim 1, wherein the rendering method further comprises:
and determining the accumulated rendering time length of each sub rendering task, wherein the relative deviation of the accumulated rendering time lengths of any two sub rendering tasks is less than or equal to a preset threshold value.
3. The video rendering method of claim 1, wherein the rendering method further comprises:
and determining the accumulated rendering time length of each sub rendering task, wherein the variance value of the accumulated rendering time length of each sub rendering task is less than or equal to a preset variance value.
4. The video rendering method of claim 2 or 3, wherein the determining a plurality of sub-rendering tasks of the video to be rendered comprises:
acquiring the unit number of rendering units for rendering the video to be rendered;
and according to the number of the units, based on rendering operation of the rendering task corresponding to the video to be rendered and rendering duration of each rendering operation, dividing the rendering task to obtain a plurality of sub-rendering tasks.
5. The video rendering method according to claim 1, wherein the rendering the corresponding sub-video segments in the video to be rendered respectively according to the sub-rendering tasks comprises:
processing the video to be rendered according to the sub-rendering tasks to obtain sub-video fragments corresponding to the sub-rendering tasks;
and respectively sending the sub video clips and the corresponding sub rendering tasks to corresponding rendering units for rendering.
6. The video rendering method according to claim 1, 2, 3 or 5, wherein the merging the rendered sub-video segments to obtain a rendered video comprises:
acquiring a time sequence of the sub-rendering tasks in the rendering tasks;
and combining the rendered sub-video clips corresponding to the time sequence of the sub-rendering tasks to obtain a rendered video.
7. A video rendering apparatus, characterized in that the video rendering apparatus comprises: the system comprises a rendering configuration unit, a plurality of rendering execution units and a video merging unit;
the rendering configuration unit is used for determining a plurality of sub-rendering tasks of the video to be rendered;
the rendering execution unit is used for rendering corresponding sub-video fragments in the video to be rendered respectively according to the sub-rendering tasks;
and the video merging unit is used for merging the rendered sub-video clips to obtain a rendered video.
8. A video rendering system, the video rendering system comprising: the system comprises a rendering configuration server, a plurality of rendering execution servers and a video merging server;
the rendering configuration server is used for determining a plurality of sub-rendering tasks of the video to be rendered;
the rendering execution server is used for rendering corresponding sub-video fragments in the video to be rendered respectively according to the sub-rendering tasks;
and the video merging server is used for merging the rendered sub-video clips to obtain a rendered video.
9. An electronic device is characterized by comprising a plurality of processors, a communication interface, a memory and a communication bus, wherein the processors, the communication interface and the memory are communicated with each other through the communication bus; the processor includes: a first processor for executing the configuration tasks, a plurality of second processors for executing the rendering tasks, and a third processor for executing the merging task;
a memory for storing a computer program;
the first processor is used for executing the program stored in the memory and realizing the determination of a plurality of sub-rendering tasks of the video to be rendered;
the second processor is used for executing the program stored in the memory and respectively rendering corresponding sub-video fragments in the video to be rendered according to the sub-rendering tasks;
and the third processor is used for executing the program stored in the memory to realize the combination of the rendered sub-video clips and obtain the rendered video.
10. A computer readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the video rendering method of any of claims 1-6.
CN202110076748.XA 2021-01-20 2021-01-20 Video rendering method, device and system, electronic equipment and storage medium Pending CN112929728A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110076748.XA CN112929728A (en) 2021-01-20 2021-01-20 Video rendering method, device and system, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110076748.XA CN112929728A (en) 2021-01-20 2021-01-20 Video rendering method, device and system, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN112929728A true CN112929728A (en) 2021-06-08

Family

ID=76165048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110076748.XA Pending CN112929728A (en) 2021-01-20 2021-01-20 Video rendering method, device and system, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112929728A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923519A (en) * 2021-11-11 2022-01-11 深圳万兴软件有限公司 Video rendering method and device, computer equipment and storage medium
CN114257868A (en) * 2021-12-23 2022-03-29 中国农业银行股份有限公司 Video production method, device, equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750297A (en) * 2011-11-11 2012-10-24 新奥特(北京)视频技术有限公司 Rendering and compositing method and system of cluster packaging
CN103077088A (en) * 2013-01-17 2013-05-01 浙江大学 Method for balancing dynamic feedback load based on PKDT (Prediction KD Tree) in cluster rendering environment
CN107333176A (en) * 2017-08-14 2017-11-07 北京百思科技有限公司 The method and system that a kind of distributed video is rendered
US20180268057A1 (en) * 2017-03-17 2018-09-20 Apple Inc. Dynamic Media Rendering
CN109600629A (en) * 2018-12-28 2019-04-09 北京区块云科技有限公司 A kind of Video Rendering method, system and relevant apparatus
CN109996115A (en) * 2017-12-29 2019-07-09 深圳华侨城卡乐技术有限公司 Video broadcasting method, storage medium and player based on multiwindow rendering

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750297A (en) * 2011-11-11 2012-10-24 新奥特(北京)视频技术有限公司 Rendering and compositing method and system of cluster packaging
CN103077088A (en) * 2013-01-17 2013-05-01 浙江大学 Method for balancing dynamic feedback load based on PKDT (Prediction KD Tree) in cluster rendering environment
US20180268057A1 (en) * 2017-03-17 2018-09-20 Apple Inc. Dynamic Media Rendering
CN107333176A (en) * 2017-08-14 2017-11-07 北京百思科技有限公司 The method and system that a kind of distributed video is rendered
CN109996115A (en) * 2017-12-29 2019-07-09 深圳华侨城卡乐技术有限公司 Video broadcasting method, storage medium and player based on multiwindow rendering
CN109600629A (en) * 2018-12-28 2019-04-09 北京区块云科技有限公司 A kind of Video Rendering method, system and relevant apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923519A (en) * 2021-11-11 2022-01-11 深圳万兴软件有限公司 Video rendering method and device, computer equipment and storage medium
CN113923519B (en) * 2021-11-11 2024-02-13 深圳万兴软件有限公司 Video rendering method, device, computer equipment and storage medium
CN114257868A (en) * 2021-12-23 2022-03-29 中国农业银行股份有限公司 Video production method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
CN110971929B (en) Cloud game video processing method, electronic equipment and storage medium
WO2019242222A1 (en) Method and device for use in generating information
CN107846629B (en) Method, device and server for recommending videos to users
CN111436005B (en) Method and apparatus for displaying image
EP3410302A1 (en) Graphic instruction data processing method, apparatus and system
WO2019114330A1 (en) Video playback method and apparatus, and terminal device
CN109862100B (en) Method and device for pushing information
CN112866809B (en) Video processing method, device, electronic equipment and readable storage medium
CN112929728A (en) Video rendering method, device and system, electronic equipment and storage medium
CN112532998B (en) Method, device and equipment for extracting video frame and readable storage medium
CN115345968B (en) Virtual object driving method, deep learning network training method and device
CN112291634B (en) Video processing method and device
CN111541927A (en) Video playing method and device
CN114168793A (en) Anchor display method, device, equipment and storage medium
US10674188B2 (en) Playback apparatus, method of controlling playback apparatus, playback method and server apparatus
CN113542888B (en) Video processing method and device, electronic equipment and storage medium
CN110809166B (en) Video data processing method and device and electronic equipment
CN111625745B (en) Recommendation method, recommendation device, electronic equipment and computer readable medium
CN112004116B (en) Method, device, electronic equipment and medium for determining object adding mode
CN111918112B (en) Video optimization method, device, storage medium and terminal
CN113784217A (en) Video playing method, device, equipment and storage medium
CN114741193A (en) Scene rendering method and device, computer readable medium and electronic equipment
CN113905177A (en) Video generation method, device, equipment and storage medium
CN113779304A (en) Method and device for detecting infringement video
CN110087145B (en) Method and apparatus for processing video

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210608

RJ01 Rejection of invention patent application after publication