CN115967824A - Video preview method, device, medium, equipment and computer program product - Google Patents

Video preview method, device, medium, equipment and computer program product Download PDF

Info

Publication number
CN115967824A
CN115967824A CN202111191438.9A CN202111191438A CN115967824A CN 115967824 A CN115967824 A CN 115967824A CN 202111191438 A CN202111191438 A CN 202111191438A CN 115967824 A CN115967824 A CN 115967824A
Authority
CN
China
Prior art keywords
video
stream
rendered
address
preview
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
CN202111191438.9A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202111191438.9A priority Critical patent/CN115967824A/en
Publication of CN115967824A publication Critical patent/CN115967824A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

A video preview method, apparatus, medium, device and computer program product are provided, wherein the method comprises: the method comprises the steps of obtaining a preview instruction, sending the preview instruction to a video rendering server, wherein the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered, so that the video rendering server renders the video to be rendered according to the video to be rendered effect and generates a target video stream; receiving a streaming address returned by the video rendering server, wherein the streaming address is an address corresponding to a streaming address of a target video stream in the streaming media server; and pulling the target video stream from the streaming media server according to the stream pulling address, and playing the target video stream, so that the development cost is effectively reduced, and the video effect previewed by the client in real time can be ensured to be consistent with the video effect output by the video rendering server. The method and the device for processing the video data can be applied to various scenes such as a block chain, audio and video and application technologies.

Description

Video preview method, device, medium, equipment and computer program product
Technical Field
The present invention relates to the field of video processing technologies, and in particular, to a video preview method, apparatus, medium, device, and computer program product.
Background
At present, the flow of an advertisement publishing platform on the market is complex, the number of advertisement positions is large, an advertiser can usually put a plurality of flow positions on the advertisement publishing platform aiming at one product, and the advertisement of each flow position highlights different benefit points so as to improve the propaganda effect.
For video advertisements, if the video is edited on line, such as converting the size, converting the duration, and the like, it takes time and labor, and therefore many advertisers can directly edit the video on line. However, when the video template has a new effect and special effect or service logic, multiple terminals need to be synchronously developed and supported, which results in excessive development cost resources and difficulty in keeping the final performances of the terminals consistent.
Disclosure of Invention
The application provides a video previewing method, a video previewing device, a video previewing medium, a video previewing device and a computer program product, which can effectively reduce development cost and ensure that the video effect of front-end real-time previewing and the video effect of rear-end rendering output are consistent.
In a first aspect, a video preview method is provided, which is applied to a client, and includes:
acquiring a preview instruction, and sending the preview instruction to a video rendering server, wherein the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered, so that the video rendering server renders the video to be rendered according to the video to be rendered effect and generates a target video stream;
receiving a pull address returned by the video rendering server, wherein the pull address is an address corresponding to a push address of the target video stream in a streaming media server;
and pulling a target video stream from the streaming media server according to the stream pulling address, and playing the target video stream.
In some implementations, further comprising:
acquiring a storage instruction, and sending the storage instruction to the video rendering server;
receiving a video finished product address returned by the video rendering server;
and acquiring a video finished product from a file sharing server according to the video finished product address, and storing the video finished product.
In some implementations, the playing the target video stream includes:
acquiring a current bandwidth;
and playing the target video stream according to the current bandwidth.
In some implementations, the playing the target video stream according to the current bandwidth includes:
if the current bandwidth is smaller than the preset bandwidth, playing the target video stream with a first definition;
and if the current bandwidth is not less than the preset bandwidth, playing the target video stream with a second definition, wherein the second definition is greater than the first definition.
In some implementations, the playing the target video stream according to the current bandwidth includes:
if the current bandwidth is smaller than the preset bandwidth, displaying a prompt dialog box, wherein the prompt dialog box comprises a selection area, and the selection area is used for a user to select whether to reduce the definition to play the target video stream;
if the user selects to reduce the definition to play the target video stream, playing the target video stream with a first definition;
and if the user selects not to reduce the definition to play the target video stream, playing the target video stream at the second definition.
In some implementations, the video preview method further includes:
caching the pulled target video stream in sequence;
and when the network is interrupted, sending the video stream identifier of the last cached target video stream to the streaming media server so as to pull the target video stream behind the last cached target video stream from the streaming media server.
In a second aspect, a video preview method is further provided, where the video preview method is applied to a video rendering server, and the video preview method includes:
acquiring a preview instruction sent by a client, wherein the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered;
creating a pull address, and sending the pull address to a client corresponding to the preview instruction;
performing video rendering according to the video to be rendered and the effect to be rendered of the video to be rendered so as to generate a target video stream;
and pushing the target video stream to a stream pushing address, wherein the stream pushing address is an address corresponding to the stream pulling address in a stream media server, so that the client can pull the target video stream from the stream media server for previewing.
In some implementations, the video preview method further includes:
when the video rendering server finishes rendering the video to be rendered according to the effect to be rendered, generating a video finished product;
and sending the video finished product to a file sharing server, and acquiring a video finished product address of the video finished product.
In some implementations, the video preview method further includes:
acquiring a storage instruction sent by the client;
and sending the video finished product address to the client side so that the client side can obtain and store the video finished product according to the video finished product address.
In a third aspect, a video preview apparatus is provided, which is applied to a client, and includes:
the video rendering device comprises an acquisition module, a display module and a display module, wherein the acquisition module is used for acquiring a preview instruction and sending the preview instruction to a video rendering server, and the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered so that the video rendering server renders the video to be rendered according to the video to be rendered effect and generates a target video stream;
a receiving module, configured to receive a pull address returned by the video rendering server, where the pull address is an address in a streaming media server corresponding to a push address of the target video stream;
and the playing module is used for pulling the target video stream from the streaming media server according to the stream pulling address and playing the target video stream.
In a fourth aspect, there is also provided a video preview apparatus applied to a video rendering server, including:
the system comprises an acquisition module, a display module and a display module, wherein the acquisition module is used for acquiring a preview instruction sent by a client, and the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered;
the creating module is used for creating a pull address and sending the pull address to a client corresponding to the preview instruction;
the rendering module is used for performing video rendering according to the video to be rendered and the effect to be rendered of the video to be rendered so as to generate a target video stream;
and the stream pushing module is used for pushing the target video stream to a stream pushing address, wherein the stream pushing address is an address corresponding to the stream pulling address in the streaming media server, so that the client can pull the target video stream from the streaming media server for previewing.
In a fifth aspect, there is provided a computer-readable storage medium comprising instructions which, when run on a computer device, cause the computer device to perform the method of the first or second aspect as described above.
In a sixth aspect, there is provided a computer device comprising: the video preview system comprises an interaction device, an input/output (I/O) interface, a processor and a memory, wherein the memory stores program instructions, the interaction device is used for acquiring operation instructions input by a user, and the processor is used for executing the program instructions stored in the memory and executing the video preview method according to the first aspect or the second aspect.
In a seventh aspect, a computer program product is provided, which comprises computer instructions for implementing the steps of the method according to the first or second aspect when executed by a processor.
According to the embodiment of the application, the preview instruction is obtained and sent to the video rendering server, the preview instruction carries the video to be rendered and the effect to be rendered of the video to be rendered, so that the video rendering server renders the video to be rendered according to the effect to be rendered and generates the target video stream, then the streaming address returned by the video rendering server is received, the streaming address is the address corresponding to the streaming address of the target video stream in the streaming media server, the target video stream is pulled from the streaming media server according to the streaming address and played, the client does not need to perform real-time rendering preview, the video effect of the client for real-time preview can be guaranteed to be consistent with the video effect output by the video rendering server, the video streaming technology is innovatively combined, the client does not need to wait for finishing rendering all video frames, the user can render while previewing is improved, the client does not need to support rendering and other related service logics, the development cost can be effectively reduced, and under the condition that the development resources are limited, corresponding service demands can be rapidly performed.
Drawings
Fig. 1 is a schematic flowchart of a video preview method according to an embodiment of the present application.
Fig. 2 is a process schematic diagram of a video preview method provided by an embodiment of the present application.
Fig. 3 is a schematic flowchart of another video preview method provided in an embodiment of the present application.
Fig. 4 is a schematic structural diagram of a video preview system provided in an embodiment of the present application.
Fig. 5 is a process schematic diagram of a video preview method according to an embodiment of the present application.
Fig. 6 is a schematic block diagram of a video preview device according to an embodiment of the present application.
FIG. 7 is a schematic block diagram of another video preview device provided in the embodiment of the present application
Fig. 8 is a schematic block diagram of another video preview device provided in an embodiment of the present application.
Detailed Description
Technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments obtained by a person of ordinary skill in the art without making any creative effort with respect to the embodiments in the present application belong to the protection scope of the present application.
The embodiment of the application provides a video preview method, a video preview device, computer equipment, a storage medium and a computer program product. Specifically, the video preview method according to the embodiment of the present application may be executed by a computer device, where the computer device may be a terminal or a server.
First, some terms or terms appearing in the course of description of the present application are explained as follows:
video streaming: video streaming refers to the transmission of video data, which can be handled as a steady and continuous stream over a network, for example. Because of the streaming, the client browser or plug-in is able to display the multimedia data before the entire file is transferred.
The streaming media server: streaming media refers to a form of media that streams audio, video, and multimedia files over a network. Compared with the network playing mode of watching after downloading, the stream media is characterized in that continuous audio and video information is compressed and then is put on a network server, and a user can watch while downloading without waiting for the whole file to be downloaded. Due to the superiority of the streaming media technology, the technology is widely applied to video-on-demand, video conference, remote education, remote medical treatment and online live broadcast systems. Streaming media technology has gained rapid development in recent years as a sign of new generation internet applications.
The streaming media server is a core system of the streaming media application, and is a key platform for an operator to provide video services to users. The main functions of the streaming media server are to collect, cache, schedule, transmit and play streaming media contents. The main performance of the streaming media application system depends on the performance and quality of service of the media server. Therefore, the streaming media server is the basis of the streaming media application system and is the most important component.
File sharing server (Common Internet File System, CIFS): the file sharing service is provided through a network, and the file uploading and downloading service is provided.
The block chain system: is a distributed system formed by connecting clients, a plurality of nodes (any form of computing device in an access network, such as a server and a user terminal) through a network communication mode. A Peer-To-Peer (P2P) network is formed among the nodes, the P2P Protocol is an application layer Protocol operating on a Transmission Control Protocol (TCP), in a distributed system, any machine such as a server and a terminal can be added To become a node, and the node includes a hardware layer, an intermediate layer, an operating system layer and an application layer.
The functions of each node in the block chain system comprise:
1) Routing, the basic function a node has for supporting communication between nodes.
Besides the routing function, the node may also have the following functions:
2) The application is used for being deployed in a block chain, realizing specific services according to actual service requirements, recording data related to the realization functions to form recorded data, carrying a digital signature in the recorded data to represent a source of task data, and sending the recorded data to other nodes in the block chain system, so that the recorded data is added to a temporary block when the other nodes verify the source and the integrity of the recorded data.
3) And the Block chain comprises a series of blocks (blocks) which are mutually connected according to the generated chronological order, new blocks cannot be removed once being added into the Block chain, and the blocks record the record data submitted by the nodes in the Block chain system.
A block chain (Blockchain), which is essentially a decentralized database, is a string of data blocks associated by using a cryptographic method, and each data block contains related information for verifying the validity (anti-counterfeiting) of the information and generating a next block.
In some scenarios, the streaming media server may be a decentralized streaming media system based on blockchain technology, comprising a plurality of nodes. Point-to-point connections between users and nodes, rather than through a central server.
Referring to fig. 1, fig. 1 is a schematic flowchart illustrating a video preview method according to an embodiment of the present application, where the video preview method is applied to a client and is described as follows:
step 101, a preview instruction is obtained and sent to a video rendering server, wherein the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered, so that the video rendering server renders the video to be rendered according to the video to be rendered effect and generates a target video stream.
For understanding, the video editing function of the current advertising platform is described as follows, and the partial nouns appearing in the description process are explained as follows:
lottie is an animation library which is open to Airbnb and faces iOS (mobile operating system developed by apple), android (mobile operating system developed by google, usa) and reach Native (cross-platform mobile application development framework), and can render After Effects (AE, a graphic video processing software) animation in real time.
FFmpeg is a set of open source computer programs that can be used to record, convert digital audio, video, and convert them into streams.
Referring to fig. 2, in some examples, a designer may design a video template using AE software, export the designed video template into a JSON format file using a body movie plugin provided by Lottie, and a client may directly run the video template file on each terminal, such as iOS, andorid, and Web, using a lottielibrary to restore a video template effect. For example, when a user edits an advertisement video at a Web site, the content of the video template, such as pictures, videos, and texts, may be directly replaced, specifically according to the setting of the video template. After the user edits, the video effect can be previewed online by using a lottiee-web library provided by lottiee without waiting for background rendering output. After previewing the effect of the video template, a user can submit a storage request, after receiving the rendering data of the video template, the server rendering service renders each frame of the video template picture into a plurality of pictures by using a lottienode library provided by lottiee, and finally synthesizes each frame of the picture into a video finished product mp4 file by using an FFmpeg library.
However, limited by the client animation rendering technical constraint and the video effect characteristic constraint supported by the lottiee animation effect scheme, the video online editing and previewing function of the advertisement publishing platform mainly has the following disadvantages: firstly, lottiee does not support the partial animation effect of AE, such as stroking animation and the like, and if the advertisement service scene needs the AE animation effect which is not supported by lottiee, secondary development is needed based on lottiee, so that the development cost is very high, and the service demand cannot be quickly responded. Secondly, when the effect special effect or the service logic is newly added to the video template, multiple ends need to be synchronously developed and supported, the final performances of all the ends need to be kept consistent, the investment development cost resources are doubled, and the appeal of quickly responding to the service cannot be achieved under the conditions that the functions of the product are quickly iterated and the development resources are limited. Thirdly, the difference between the front-end animation rendering implementation scheme and the back-end animation rendering implementation scheme can cause the video effect previewed by the front end to be inconsistent with the video finished product actually rendered by the back end, and can cause the user to suspect the product quality and not trust the product any more. The cost is also enormous if the underlying code of the front-end animation rendering technology is modified, and modifying the underlying code may also introduce some unknown problems. Therefore, the present disclosure provides a video preview method, which solves the above technical problems.
Specifically, the client may be a client corresponding to any application program with a video editing function installed on the terminal device, for example, the client of the advertisement publishing platform may include a personal computer, a server, a portable device, a vehicle-mounted device, and the like. When a user wants to publish a video advertisement on the advertisement publishing platform, the video advertisement can be edited through the video editing function of the client.
For example, a user enters a video template editing page of the client, the video template editing page provides a plurality of video templates, and the user can edit the content of the replacement video template, such as operations of replacing videos, replacing pictures, adding subtitles or decorations, changing sizes, changing duration, adding new special effects, and the like. The video template editing page can be provided with a preview button, and after a user edits the video, the user can click the preview button to generate a preview instruction.
In this embodiment, after obtaining a preview instruction, the client sends the preview instruction to the video rendering server, where the preview instruction carries the video to be rendered and the effect to be rendered of the video to be rendered. Specifically, the video to be rendered may be a video template, video elements (e.g., video clips, scripts, dubbing, etc.) in the video template may be modified or replaced, the effect to be rendered is a modification or replacement operation performed by a user with respect to the video template, and the video rendering server is configured to render the video to be rendered according to the effect to be rendered and output as a target video stream.
For example, when an automobile manufacturer wants to deliver an automobile advertisement on an advertisement platform, the automobile manufacturer can enter a video template editing page of an advertisement platform client, select a proper video template, import prepared automobile materials, add subtitles and decorations, and click a preview button to preview the effect after the operation is completed.
And 102, receiving a pull address returned by the video rendering server, wherein the pull address is an address corresponding to a push address of the target video stream in the streaming media server.
For ease of understanding, the above-described pull and push addresses are colloquially explained:
and pulling the streaming address, namely pulling the address of the video stream from the streaming media server by the streaming end.
The streaming address may be understood as an address where the streaming end uploads the video stream to the streaming server.
Specifically, the stream pulling end and the stream media server, and the stream pushing end and the stream media server may use a specific Real-Time transport Protocol to pull and push the video stream, for example, real-Time transport protocols such as RTSP (Real Time Streaming Protocol) are suitable for Streaming Real-Time transmission of animation and video and audio over the internet.
In this embodiment, after receiving the preview instruction, the video rendering server first creates a stream pull address of the target video stream, and directly returns the stream pull address to the client, and asynchronously initiates a stream push flow and a video finished product output flow.
It is easily understood that the streaming media server may be a decentralized streaming media system based on the blockchain technology, including a plurality of nodes. The video rendering server can push the rendered and output target video stream to a certain node for caching, and then the client pulls the target video stream from the node. Therefore, the bandwidth cost of the content distribution network can be reduced, and the efficiency of the streaming media server can be improved.
The video rendering server is interconnected with the streaming media server, searches for an idle node in the streaming media server after receiving a preview instruction, returns the address of the idle node serving as a stream pulling address to the client, and meanwhile, takes the address of the idle node as a stream pushing address and pushes a target video stream output by rendering to the idle node in real time.
And 103, pulling the target video stream from the streaming media server according to the stream pulling address, and playing the target video stream.
Specifically, after the user clicks the preview button, the client may jump to the preview page, and after the client receives the stream pulling address sent by the video rendering server, the client may pull the target video stream from the streaming media server and the node corresponding to the stream pulling address, and play the video stream on the preview page without waiting for the video rendering result.
It should be noted that the streaming transmission method is to divide the multimedia file into individual compressed packets through a special compression method, and the packets are continuously transmitted to the client in real time by the streaming server, and the client decompresses the compressed multimedia file by using a decompression device (hardware or software) and plays the decompressed multimedia file on the preview interface.
Therefore, the client does not need to perform logic processing on the video preview, the video preview is simplified into only the playing operation of the player component, the video stream output by the video rendering server is directly pulled from the streaming media server, the preview video played by the client can be ensured to be completely consistent with the finished video output by the video rendering server, and the reliability of the video rendering method is improved.
In some embodiments, the video preview method may further include: acquiring a storage instruction, and sending the storage instruction to a video rendering server; receiving a video finished product address returned by the video rendering server; and acquiring the video finished product from the file sharing server according to the video finished product address, and storing the video finished product.
It is readily understood that when the user is satisfied with the video rendering effect and wants to save, the save button can be clicked to generate a save instruction. After the client acquires the storage instruction, the storage instruction can be sent to the video rendering server, if the video rendering server finishes rendering, the rendered video finished product can be pushed to the file sharing server, the address of the video finished product is acquired, then the video address is returned to the client, and the client can acquire the video finished product from the address corresponding to the address of the video finished product in the file sharing server and store the video finished product.
Under the general condition, a user can completely preview the video effect, namely when the user initiates the storage operation, the finished video product is rendered, the user does not need to wait for the finished video product to be rendered, and the user operation experience is smooth without blockage.
Under other conditions, if the user does not completely preview the video effect and the finished video product is not rendered completely, displaying the rendering progress of the finished video product and prompting the user that the rendering is to be completed. In this case, the time for which the user needs to wait is not too long.
In some embodiments, the step "playing the target video stream" may mainly include: acquiring a current bandwidth; and playing the target video stream according to the current bandwidth.
It is easy to understand that, in order to ensure the playing effect of the video, there is a certain requirement on the network transmission speed between the video rendering server and the client. If the network transmission speed is slow, the playing will be intermittent. Therefore, the playing effects with different definitions can be selected according to the actual bandwidth of the user.
In this embodiment, the step "playing the target video stream according to the current bandwidth" may specifically include: if the current bandwidth is smaller than the preset bandwidth, playing the target video stream at a first definition; and if the current bandwidth is not less than the preset bandwidth, playing the target video stream with a second definition, wherein the second definition is greater than the first definition.
It is readily understood that the preset bandwidth can be customized by the developer. If the current bandwidth of the user is small, the target video stream can be played at a low definition in order to make the playing of the target video stream continuous, and if the current bandwidth of the user is wide, the target video stream can be played at a high definition, so that the playing continuity and the definition of the video can be ensured.
In this embodiment, the step "playing the target video stream according to the current bandwidth" may specifically include: if the current bandwidth is smaller than the preset bandwidth, displaying a prompt dialog box, wherein the prompt dialog box comprises a selection area, and the selection area is used for a user to select whether to reduce the definition to play the target video stream; if the user selects to play the target video stream with reduced definition, playing the target video stream with third definition; and if the user selects not to reduce the definition to play the target video stream, playing the target video stream in a fourth definition, wherein the fourth definition is greater than the third definition.
Considering that some users tend to guarantee continuity and have low requirements on definition, and some users tend to guarantee definition and have low requirements on continuity, if the current bandwidth is smaller than the preset bandwidth, a prompt dialog box is displayed, and the prompt dialog box comprises a selection area for the user to select whether to reduce definition to play the target video stream. If the user chooses to reduce the definition to play the video stream, the video stream is played with lower definition to ensure the continuity of video playing, and if the user chooses not to reduce the definition to play the target video stream, the video stream is played with higher definition to ensure the definition of the video. Therefore, the humanization of the video preview method can be improved.
Specifically, the first definition, the second definition, the third definition, and the fourth definition may be customized by a developer, for example, the first definition may be equal to the third definition, and the second definition may be equal to the fourth definition.
In some embodiments, the video preview method may further include: caching the pulled target video stream in sequence; and when the network is interrupted, sending the video stream identifier of the last cached target video stream to the streaming media server so as to pull the target video stream behind the last cached target video stream from the streaming media server.
It should be noted that, in order to avoid a situation of network interruption during the preview process, a user needs to pull a target video stream from the streaming media server again, which results in occupation of too many network resources, the client may sequentially cache the pulled target video stream, when the network is interrupted, the preview may be resumed according to the cached target video stream, and the streaming media server sends the video stream identifier of the last cached target video stream to the streaming media server, and after receiving the video stream identifier, the streaming media server sends the target video stream whose receiving time is after the receiving time of the target video stream corresponding to the video stream identifier to the client in sequence, so that occupation of network resources may be reduced, and transmission efficiency of the target video stream may be improved.
The video previewing method provided by the embodiment of the application can be applied to video editing service scenes such as creative workbenches and video template independent tools. For example, the flow of a certain internet platform is complicated, the advertisement space is many, a video wants to put into a plurality of flow format of this internet platform, the offline rotation size, time consuming and labor consuming, the advertiser wants to add benefit points for the video fast, promote the video effect, at this moment, can set up the intention workstation that is realized by the video preview method that this application embodiment provided on this internet platform, this intention workstation can provide multiple intelligent adjustment mode, can show video benefit points clearly, improve the video effect. For example, in general situations, it is time-consuming and labor-consuming to add subtitles to an advertisement video and decorate an atmosphere selling point, adjustment efficiency of a designer is low, an optimizer also wants to quickly adjust the video, and a creative work table implemented by the video preview method provided by the embodiment of the application can realize functions of one-key subtitle adding decoration, intelligent video content identification and the like, and can add subtitles and decoration through algorithm optimization.
For example, the user can intelligently adjust the size through the creative work table, for example, convert the video of vertical version 9 to the video of horizontal version 16, and at this time, the video is shown in a three-grid manner, with gaussian blur at the top and bottom and the original video in the middle that is scaled down in equal proportion. Or, the user can automatically cut the video through a focus following algorithm provided by the creative work table, for example, the original edition video is a horizontal edition video, through the creative work table, the user can track the focus figure to cut, and if the user directly cuts, the situation that the cut video picture is the background and has no focus figure may occur. Therefore, the method can realize stable and smooth picture effect and can be widely applied to scenes such as mouth broadcasting and drama scenes.
For another example, the video editing interface may also provide a plurality of caption templates, and the user may click on one of the templates to select the caption format. For example, a movie to be shown is desired to be delivered to an advertisement platform, an advertiser may enter a video template editing page of an advertisement platform client, may select a suitable movie template, and then import a movie fragment material prepared in advance. This video template editing interface can be provided with a key discernment subtitle function, and the user can select this function, the lines that appear in the direct recognition film segment, so, can reduce the threshold that the user makeed the video advertisement, promote the efficiency of putting in of advertisement, in addition, for the advertisement video increases the subtitle, can effectively promote the click conversion. The video template editing interface can also be provided with a one-key decoration function, and the one-key decoration function provides various material combinations. Specifically, the material combination can correspond to a video template, for example, a movie template selected by a user, the movie template can correspond to a plurality of material combinations, and each material combination can be named according to the movie type, for example, police drama, horror drama, love drama, and the like. Each material combination can comprise a plurality of decorations, caption forms, special effects and the like, and after a user introduces the materials, the user can be prompted to select the corresponding material combination on a video template editing interface to realize one-key decoration, caption and special effects selection.
For another example, the video editing interface can also provide a file assistant function, namely, a high-quality file suggestion is provided, and a user can screen out related advertisement files according to industries and keywords, so that file creativity can be quickly obtained, efficient editing is realized, and the delivery efficiency of video advertisements is further improved.
According to the video preview method provided by the embodiment of the application, the preview instruction is obtained and sent to the video rendering server, the preview instruction carries the video to be rendered and the effect to be rendered of the video to be rendered according to the effect to be rendered and generates the target video stream, then the streaming address returned by the video rendering server is received, the streaming address is an address corresponding to the streaming address of the target video stream in the streaming media server, the target video stream is pulled from the streaming media server according to the streaming address and played, and the client does not need to perform real-time rendering and previewing, so that the video effect previewed by the client in real time is kept consistent with the video effect output by the video rendering server, and the video streaming technology is innovatively combined, the client does not need to wait for finishing of all video rendering, the user can preview while rendering, the user interactive experience is improved, meanwhile, the client does not need to support related service logics such as rendering support, the development cost can be effectively reduced, and under the condition that the development resources are limited, corresponding service demands can be quickly.
Referring to fig. 3, fig. 3 is a schematic flowchart of another video preview method according to an embodiment of the present application, where the method is applied to a video rendering server, and mainly includes steps 201 to 204, which are described as follows:
step 201, a preview instruction sent by a client is obtained, and the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered.
In some embodiments, after a user edits a client video template, a preview button is clicked, a preview instruction is generated and sent to a video rendering server, the video rendering server obtains the preview instruction, the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered, and the video rendering server can render the video to be rendered according to the video to be rendered effect in subsequent steps.
And 202, creating a pull stream address, and sending the pull stream address to a client corresponding to the preview instruction.
In particular, the video rendering server may be interconnected with a streaming media server, which may be a decentralized streaming media system based on a blockchain technique, comprising a plurality of nodes. After receiving the preview instruction, the video rendering server searches for an idle node in the streaming media server, and returns the address of the idle node as a pull stream address to the client, so that the client can pull the video stream according to the pull stream address to preview the video.
And 203, performing video rendering according to the video to be rendered and the video to be rendered effect of the video to be rendered so as to generate a target video stream.
Specifically, the video rendering server may render each frame of the video to be rendered according to the effect to be rendered, and then transcode the rendered video into a streaming media format by using a specific coding tool, thereby generating the target video stream.
For example, when a user performs operations such as replacing a video and adding an effect on a video template at a client, the video rendering server may render each frame of the video template according to the operations performed by the user, and transcode the rendered video into a target video stream by using an encoding tool.
It is easy to understand that the video rendering server may generate a segment of target video stream according to a specific frame number, for example, after each specific frame number is rendered, the rendered video frame is transcoded into the target video stream, and the stream is pushed to the streaming media server in the subsequent steps, so that the client may pull the target video stream from the streaming media server, and the client does not need to wait until all the rendering is completed to preview the rendering effect.
And step 204, pushing the target video stream to a stream pushing address, wherein the stream pushing address is an address corresponding to the stream pulling address in the streaming media server, so that the client can pull the target video stream from the streaming media server for previewing.
Specifically, the video rendering server may asynchronously initiate a video rendering stream pushing flow while creating the stream pulling address, and push the generated target video stream to the stream pushing address, where the stream pushing address is an address corresponding to the stream pulling address in the streaming media server, that is, an address of the idle node.
Therefore, the video rendering server renders the video advertisement, and the client only needs to perform the pulling and playing operation of the video stream, so that the playing effect of the client is completely consistent with that of the final video finished product, and the defect of online editing of the current advertisement video is overcome. If a video template, a special effect or service logic needs to be newly added subsequently, only development support needs to be carried out on a video rendering server, development support of a client side is not needed, compared with the existing online advertisement video editing method, the invested development cost is reduced by more than half, and under the condition of limited development resources, the appeal of corresponding services can be quickly met.
In some embodiments, the method may further comprise: when the video rendering server finishes rendering the video to be rendered according to the effect to be rendered, generating a video finished product; and sending the video finished product to a file sharing server, and acquiring a video finished product address of the video finished product.
Specifically, video rendering usually requires a rendering time period as long as the video time period, for example, 30 seconds are required for video rendering, and the rendering can be completed only after 30 seconds are required. The video rendering server can render and output the finished video product as an MP4 file, send the MP4 file to the file sharing server, and then obtain the video finished product address of the MP4 file, so as to send the video finished product address to the client in the subsequent steps, so that the client can obtain and store the finished video product.
In some embodiments, the method may further comprise: acquiring a storage instruction sent by a client; and sending the video finished product address to the client so that the client can obtain and store the video finished product according to the video finished product address.
It is readily understood that when the user is satisfied with the video rendering and wants to save, the save button can be clicked to generate a save instruction. And after the client side obtains the storage instruction, the storage instruction is sent to the video rendering server. Generally, the user can completely preview the video effect, that is, when the user initiates the save operation, the finished video product is rendered, and the video rendering server pushes the finished video product to the file sharing server. And after receiving the storage instruction, the video rendering server sends the video finished product address to the client, and the client can acquire and store the video finished product from the address corresponding to the video finished product address in the file sharing server. The user operation experience is smooth and has no jamming. According to the video preview method provided by the embodiment of the application, a preview instruction sent by a client is obtained, the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered, then a stream pulling address is created and sent to the client corresponding to the preview instruction, then video rendering is carried out according to the video to be rendered and the video to be rendered effect of the video to be rendered to generate a target video stream, the target video stream is pushed to the stream pushing address, the stream pushing address is an address corresponding to the stream pulling address in a streaming media server, so that the client can pull the target video stream from the streaming media server for previewing, the effect of the video rendering output of the video rendering server is directly previewed by the client, the video effect previewed in real time by the client is guaranteed to be consistent with the video effect of the video rendering output of the video rendering server, the client does not need to perform rendering output, video template effect or service logic development support is not needed, the investment cost is reduced by more than half compared with the existing scheme, and under the condition that the development resources are limited, the demand of services can be quickly responded.
In some embodiments, after the video rendering server obtains the preview instruction from the client, the video rendering server renders the video to be rendered and the effect to be rendered of the video to be rendered to obtain a finished video product, and pushes the finished video product to the file sharing server. Meanwhile, after a storage instruction is received from the client, the video to be rendered, the effect of the video to be rendered and the association relation between the video to be rendered and the video finished product address are stored in the video rendering server. The method comprises the steps that a user creating a video to be rendered and a video to be rendered effect of the video to be rendered on a client can share the video to be rendered and the video to be rendered effect of the video to be rendered to other users, so that when the other users send preview instructions on the client, a video finished product address can be obtained in a video rendering server according to the video to be rendered and the video to be rendered effect of the video to be rendered and the association relationship between the video to be rendered effect of the video to be rendered and the video finished product address, and the video finished product address is returned to the client, so that the other users can directly preview a video finished product without re-rendering the video finished product. The other users may also modify the to-be-rendered effect of the to-be-rendered video, and preview the modified to-be-rendered video and the to-be-rendered effect of the to-be-rendered video, in this case, the video rendering server re-renders a new finished video product according to the modified to-be-rendered video and the to-be-rendered effect of the to-be-rendered video, pushes the new finished video product to the file sharing server for storage, and stores the to-be-rendered effect of the to-be-rendered video and the modified to-be-rendered video in the video rendering server, and an association relationship between the to-be-rendered video and a new finished video product address, and in this embodiment, the finished video product address may be the same as or different from the new finished video product address. In some embodiments, the modified to-be-rendered effect of the to-be-rendered video only changes a part of frames of the finished video product (for example, only tens of frames of the finished video product are changed when the title of the to-be-rendered video is modified), and therefore, when the video rendering server receives the preview instruction, the original finished video product can be obtained according to the to-be-rendered video and the to-be-rendered effect of the to-be-rendered video, frames of the finished video product to be changed are determined and generated according to the modified to-be-rendered effect of the to-be-rendered video, and the frames of the finished video product to be changed are replaced by corresponding frames of the original finished video product, so that a new finished video product is generated, and the generation efficiency of the finished video product is improved.
Referring to fig. 4 and fig. 5, fig. 4 is a schematic structural diagram of a video preview system according to an embodiment of the present application, and fig. 5 is a schematic process diagram of a video preview method according to an embodiment of the present application, which is described below in conjunction with fig. 4 and fig. 5 in entirety:
as shown in fig. 4, the video preview system includes a client, a video rendering server, a streaming server and a file sharing server, wherein the client may be a browser end of an advertising platform, the advertising platform provides an online editing function of an advertisement video, and the streaming server may be a decentralized streaming system based on a block chain technology and includes a plurality of nodes.
Specifically, as shown in fig. 5, after a user edits a video online at a browser end, a preview instruction for generating a video editing effect is triggered, a video preview page is skipped to, and the preview instruction is sent to a video rendering server end. After receiving the preview request, the video rendering server firstly creates a first pull address and directly returns the first pull address to the video preview page of the browser end, and the video rendering result does not need to be waited for. After receiving the preview request, the video rendering server side can search for an idle node in the streaming media server and return the address of the idle node to the browser side as a pull address. And after receiving the preview request, the video rendering server asynchronously initiates a stream pushing flow, namely rendering the video and outputting the video stream to an address corresponding to the stream pulling address of the stream media server. And after receiving the preview request, the video rendering server asynchronously initiates a video finished product output flow, that is, after finishing rendering the video finished product, the video finished product is pushed to the file sharing server, and a video finished product address is obtained. And when the video rendering server receives a saving instruction sent by the browser end, the video finished product address is returned to the browser end, and then the browser end obtains and saves the video finished product from the address corresponding to the video finished product address in the file sharing server.
Therefore, when a user carries out online editing and previewing of the advertisement video at the browser end, the video is rendered and output as the video stream through the video rendering server, real-time previewing can be carried out without waiting for the completion of rendering and output of all video frames, and smooth interaction experience is guaranteed. And the browser does not participate in the rendering of the video, so that the logic processing for the video rendering is not required, the video preview is simplified into the playing operation, and the effect of the browser preview is ensured to be consistent with the final effect of the video finished product. Furthermore, when a special effect or service logic is added to the video template, only development support of the video rendering server is needed, multi-end development support is not needed, compared with the existing scheme, the input development cost can be reduced by more than half, and the requirement of the service can be quickly responded under the condition that the development resources are limited.
While method embodiments of the present application have been described above in detail, and device embodiments of the present application will be described in detail below in conjunction with fig. 6-8, it is to be understood that device embodiments correspond to method embodiments, and similar descriptions may be had with reference to method embodiments.
Fig. 6 is a schematic structural diagram of a video preview device 10 according to an embodiment of the present application, and as shown in fig. 6, the video preview device 10 may include:
the obtaining module 11 is configured to obtain a preview instruction, and send the preview instruction to the video rendering server, where the preview instruction carries a video to be rendered and a to-be-rendered effect of the video to be rendered, so that the video rendering server renders the to-be-rendered effect according to the to-be-rendered effect and generates a target video stream;
a receiving module 12, configured to receive a stream pulling address returned by the video rendering server, where the stream pulling address is an address in the streaming media server corresponding to a stream pushing address of a target video stream;
and the playing module 13 is configured to pull the target video stream from the streaming media server according to the stream pulling address, and play the target video stream.
In some embodiments, the video preview device 10 may further include a save module for: acquiring a storage instruction, and sending the storage instruction to a video rendering server; receiving a video finished product address returned by the video rendering server; and acquiring the video finished product from the file sharing server according to the video finished product address, and storing the video finished product.
Specifically, the playing module 13 may be mainly used to: acquiring a current bandwidth; and playing the target video stream according to the current bandwidth.
Further, the playing module 13 may specifically be configured to: if the current bandwidth is smaller than the preset bandwidth, playing the target video stream at a first definition; and if the current bandwidth is not less than the preset bandwidth, playing the target video stream with a second definition, wherein the second definition is greater than the first definition.
Further, the playing module 13 may specifically be configured to: if the current bandwidth is smaller than the preset bandwidth, displaying a prompt dialog box, wherein the prompt dialog box comprises a selection area, and the selection area is used for a user to select whether to reduce the definition to play the target video stream; if the user selects to play the target video stream with reduced definition, playing the target video stream with third definition; and if the user selects not to reduce the definition to play the target video stream, playing the target video stream with a fourth definition, wherein the fourth definition is larger than the third definition.
In this embodiment, the frequency preview device 10 may further include a buffer module, configured to: caching the pulled target video stream in sequence; and when the network is interrupted, sending the video stream identifier of the last cached target video stream to the streaming media server so as to pull the target video stream behind the last cached target video stream from the streaming media server.
It should be noted that, for the functions of each module in the video preview device 10 in this embodiment, reference may be made to the specific implementation manner in each method embodiment described above, and details are not described here again.
The various modules in the video previewing apparatus may be implemented in whole or in part by software, hardware and a combination thereof. The modules may be embedded in hardware or independent of a processor in the computer device, or may be stored in a memory in the computer device in software, so that the processor calls and executes operations corresponding to the modules.
The video preview device 10 provided in this embodiment of the application, when a preset client runs on a terminal device for the first time, acquires a preview instruction from a server through the acquisition module 11, and sends the preview instruction to the video rendering server, where the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered, so that the video rendering server renders the video to be rendered according to the video to be rendered effect and generates a target video stream, then the receiving module 12 receives a pull address returned by the video rendering server, where the pull address is an address in the streaming media server corresponding to a push address of the target video stream, and then the playing module 13 pulls the target video stream from the streaming media server according to the pull address and plays the target video stream, without the client performing real-time rendering and previewing, thereby ensuring that a video effect previewed by the client in real time is consistent with a video effect output by the video rendering server, and innovatively combines a video streaming technology, without waiting for the completion of all video rendering outputs, which can be performed while previewing, so as to improve user interactive experience, and the client does not need related service logics such as support rendering, and can effectively reduce development cost, and can quickly seek related service resources under the condition of limited development.
Fig. 7 is another schematic structural diagram of a video preview device according to an embodiment of the present application, and as shown in fig. 7, the video preview device 20 may include:
the obtaining module 21 is configured to obtain a preview instruction sent by a client, where the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered;
the creating module 22 is configured to create a pull address and send the pull address to a client corresponding to the preview instruction;
the rendering module 23 is configured to perform video rendering according to the video to be rendered and a video to be rendered effect of the video to be rendered, so as to generate a target video stream;
and the stream pushing module 24 is configured to push the target video stream to a stream pushing address, where the stream pushing address is an address in the streaming server corresponding to the stream pulling address, so that the client can pull the target video stream from the streaming server for previewing.
In some embodiments, the video preview device 20 may further include a first sending module for: after the video rendering server finishes rendering the video to be rendered according to the effect to be rendered, generating a video finished product; and sending the video finished product to a file sharing server, and acquiring a video finished product address of the video finished product.
In some embodiments, the video preview device 20 may further include a second sending module for: acquiring a storage instruction sent by a client; and sending the video finished product address to the client so that the client can obtain and store the video finished product according to the video finished product address.
It should be noted that, in the embodiment of the present application, reference may be made to specific implementation manners in the foregoing method embodiments for functions of each module in the video preview device 20, and details are not described here again.
The various modules in the video previewing apparatus may be implemented in whole or in part by software, hardware and a combination thereof. The modules may be embedded in hardware or independent of a processor in the computer device, or may be stored in a memory in the computer device in software, so that the processor calls and executes operations corresponding to the modules.
In the video preview device 20 provided in this embodiment of the application, a preview instruction sent by a client is obtained by an obtaining module 21, the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered, then a creating module 22 creates a stream address and sends the stream address to a client corresponding to the preview instruction, then a rendering module 23 performs video rendering according to the video to be rendered and the video to be rendered effect of the video to be rendered to generate a target video stream, then a stream pushing module 24 pushes the target video stream to a stream pushing address, the stream pushing address is an address corresponding to the stream pulling address in a streaming media server, so that the client pulls the target video stream from the streaming media server for previewing, so that the client directly previews the video rendering output effect of the video rendering server, so as to ensure that the real-time video effect of the client is consistent with the video rendering output of the video rendering server, and the client does not need to perform rendering output, and therefore there is no need to develop and support a video template effect or service logic.
Fig. 8 is a further schematic structural diagram of a video previewing apparatus according to an embodiment of the present application, and as shown in fig. 8, the video previewing apparatus 30 may include: a communication interface 31, a memory 32, a processor 33 and a communication bus 34. The communication interface 31, the memory 32 and the processor 33 are communicated with each other through a communication bus 34. The communication interface 31 is used for data communication between the video preview device 30 and an external apparatus. The memory 32 may be used for storing software programs and modules, and the processor 33 may operate the software programs and modules stored in the memory 32, for example, the software programs of the corresponding operations in the foregoing method embodiments.
In some embodiments, the processor 33 may invoke software programs and modules stored in the memory 32 to perform the following operations:
the method comprises the steps of obtaining a preview instruction, sending the preview instruction to a video rendering server, wherein the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered, so that the video rendering server renders the video to be rendered according to the video to be rendered effect and generates a target video stream; receiving a pull address returned by the video rendering server, wherein the pull address is an address corresponding to a push address of a target video stream in the streaming media server; and pulling the target video stream from the streaming media server according to the stream pulling address, and playing the target video stream. Alternatively, the first and second electrodes may be,
acquiring a preview instruction sent by a client, wherein the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered; creating a pull address and sending the pull address to a client corresponding to the preview instruction; performing video rendering according to the video to be rendered and the video to be rendered effect of the video to be rendered to generate a target video stream; and pushing the target video stream to a stream pushing address, wherein the stream pushing address is an address corresponding to the stream pulling address in the streaming media server, so that the client can pull the target video stream from the streaming media server for previewing.
In some embodiments, the present application further provides a computer device comprising a memory and a processor, the memory storing a computer program, the processor implementing the steps of the above method embodiments when executing the computer program.
The embodiment of the application also provides a computer readable storage medium for storing the computer program. The computer-readable storage medium can be applied to a computer device, and the computer program enables the computer device to execute the corresponding process in the video preview method in the embodiment of the present application, which is not described herein again for brevity.
Embodiments of the present application further provide a computer program product, which includes computer instructions stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and executes the computer instruction, so that the computer device executes the corresponding process in the video preview method in the embodiment of the present application, which is not described herein again for brevity.
Embodiments of the present application also provide a computer program, which includes computer instructions stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and executes the computer instruction, so that the computer device executes the corresponding process in the video preview method in the embodiment of the present application, which is not described herein again for brevity.
It should be understood that the processor of the embodiments of the present application may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method embodiments may be performed by integrated logic circuits of hardware in a processor or instructions in the form of software. The Processor may be a general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, or discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor.
It will be appreciated that the memory in the embodiments of the subject application can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. The non-volatile Memory may be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (EEPROM), or a flash Memory. Volatile Memory can be Random Access Memory (RAM), which acts as external cache Memory. By way of example, and not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), synchronous Dynamic Random Access Memory (SDRAM), double Data Rate Synchronous Dynamic random access memory (DDR SDRAM), enhanced Synchronous SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
It should be understood that the above memories are exemplary but not limiting illustrations, for example, the memories in the embodiments of the present application may also be Static Random Access Memory (SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous Dynamic Random Access Memory (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (enhanced SDRAM, ESDRAM), synchronous Link DRAM (SLDRAM), direct Rambus RAM (DR RAM), and the like. That is, the memory in the embodiments of the present application is intended to comprise, without being limited to, these and any other suitable types of memory.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one type of logical functional division, and other divisions may be realized in practice, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions may be stored in a computer-readable storage medium if they are implemented in the form of software functional units and sold or used as separate products. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer or a server) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a U disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (14)

1. A video preview method is applied to a client, and comprises the following steps:
the method comprises the steps of obtaining a preview instruction, and sending the preview instruction to a video rendering server, wherein the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered, so that the video rendering server renders the video to be rendered according to the video to be rendered effect and generates a target video stream;
receiving a pull address returned by the video rendering server, wherein the pull address is an address corresponding to a push address of the target video stream in a streaming media server;
and pulling a target video stream from the streaming media server according to the stream pulling address, and playing the target video stream.
2. The video preview method of claim 1, further comprising:
acquiring a storage instruction, and sending the storage instruction to the video rendering server;
receiving a video finished product address returned by the video rendering server;
and acquiring a video finished product from a file sharing server according to the video finished product address, and storing the video finished product.
3. The video preview method of claim 1, wherein said playing said target video stream comprises:
acquiring a current bandwidth;
and playing the target video stream according to the current bandwidth.
4. The video previewing method according to claim 3, wherein said playing the target video stream according to the current bandwidth comprises:
if the current bandwidth is smaller than the preset bandwidth, playing the target video stream at a first definition;
and if the current bandwidth is not less than the preset bandwidth, playing the target video stream with a second definition, wherein the second definition is greater than the first definition.
5. The video preview method of claim 3, wherein said playing the target video stream according to the current bandwidth comprises:
if the current bandwidth is smaller than the preset bandwidth, displaying a prompt dialog box, wherein the prompt dialog box comprises a selection area, and the selection area is used for a user to select whether to reduce the definition to play the target video stream;
if the user selects to reduce the definition to play the target video stream, playing the target video stream in a third definition;
and if the user selects not to reduce the definition to play the target video stream, playing the target video stream with the fourth definition, wherein the fourth definition is greater than the third definition.
6. The video preview method of claim 1, further comprising:
caching the pulled target video stream in sequence;
when the network is interrupted, sending the video stream identifier of the target video stream cached at the last to the streaming media server so as to pull the target video stream behind the target video stream cached at the last from the streaming media server.
7. A video preview method is applied to a video rendering server, and comprises the following steps:
acquiring a preview instruction sent by a client, wherein the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered;
creating a pull address and sending the pull address to a client corresponding to the preview instruction;
performing video rendering according to the video to be rendered and the effect to be rendered of the video to be rendered so as to generate a target video stream;
and pushing the target video stream to a stream pushing address, wherein the stream pushing address is an address corresponding to the stream pulling address in a stream media server, so that the client can pull the target video stream from the stream media server for previewing.
8. The video preview method of claim 7, further comprising:
when the video rendering server finishes rendering the video to be rendered according to the effect to be rendered, generating a video finished product;
and sending the video finished product to a file sharing server, and acquiring a video finished product address of the video finished product.
9. The video preview method of claim 8, further comprising:
acquiring a storage instruction sent by the client;
and sending the video finished product address to the client so that the client can obtain and store the video finished product according to the video finished product address.
10. A video previewing apparatus applied to a client, comprising:
the video rendering method comprises the steps that an obtaining module is used for obtaining a preview instruction and sending the preview instruction to a video rendering server, wherein the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered, so that the video rendering server renders the video to be rendered effect according to the video to be rendered effect and generates a target video stream;
a receiving module, configured to receive a pull address returned by the video rendering server, where the pull address is an address in a streaming media server corresponding to a push address of the target video stream;
and the playing module is used for pulling the target video stream from the streaming media server according to the stream pulling address and playing the target video stream.
11. A video preview device applied to a video rendering server includes:
the system comprises an acquisition module, a display module and a display module, wherein the acquisition module is used for acquiring a preview instruction sent by a client, and the preview instruction carries a video to be rendered and a video to be rendered effect of the video to be rendered;
the creating module is used for creating a pull address and sending the pull address to a client corresponding to the preview instruction;
the rendering module is used for performing video rendering according to the video to be rendered and the effect to be rendered of the video to be rendered so as to generate a target video stream;
and the stream pushing module is used for pushing the target video stream to a stream pushing address, wherein the stream pushing address is an address corresponding to the stream pulling address in the streaming media server, so that the client can pull the target video stream from the streaming media server for previewing.
12. A computer-readable storage medium comprising instructions that, when executed on a computer device, cause the computer device to perform the method of any of claims 1 to 6, or the method of any of claims 7 to 9.
13. A computer device, characterized in that the computer device comprises a processor and a memory, wherein a computer program is stored in the memory, and the processor is configured to execute the method according to any one of claims 1 to 6 or the steps in the video preview method according to any one of claims 7 to 9 by calling the computer program stored in the memory.
14. A computer program product comprising computer instructions, characterized in that the computer instructions, when executed by a processor, implement the steps of the method of any one of claims 1 to 6, or the video preview method of claims 7 to 9.
CN202111191438.9A 2021-10-13 2021-10-13 Video preview method, device, medium, equipment and computer program product Pending CN115967824A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111191438.9A CN115967824A (en) 2021-10-13 2021-10-13 Video preview method, device, medium, equipment and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111191438.9A CN115967824A (en) 2021-10-13 2021-10-13 Video preview method, device, medium, equipment and computer program product

Publications (1)

Publication Number Publication Date
CN115967824A true CN115967824A (en) 2023-04-14

Family

ID=87358436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111191438.9A Pending CN115967824A (en) 2021-10-13 2021-10-13 Video preview method, device, medium, equipment and computer program product

Country Status (1)

Country Link
CN (1) CN115967824A (en)

Similar Documents

Publication Publication Date Title
US9478256B1 (en) Video editing processor for video cloud server
JP6610555B2 (en) Reception device, transmission device, and data processing method
US20230188769A1 (en) Methods, systems, processors and computer code for providing video clips
JP5728736B2 (en) Audio splitting at codec applicable frame size
US7330875B1 (en) System and method for recording a presentation for on-demand viewing over a computer network
US8265457B2 (en) Proxy editing and rendering for various delivery outlets
US9684716B2 (en) Video display method
US20120185772A1 (en) System and method for video generation
CN107172476A (en) A kind of system and implementation method of interactive script recorded video resume
US8643779B2 (en) Live audio track additions to digital streams
TWI513238B (en) Synchro-content broadcast delivery system
CN111064972A (en) Live video control method based on IPV9
JP2017504230A (en) Video broadcast system and method for distributing video content
CN112261416A (en) Cloud-based video processing method and device, storage medium and electronic equipment
CN116647628A (en) Remote cloud-based video production system in an environment with network delay
US20190199763A1 (en) Systems and methods for previewing content
US11812121B2 (en) Automated post-production editing for user-generated multimedia contents
CN112333536A (en) Audio and video editing method, equipment and computer readable storage medium
US20150162997A1 (en) Methods for streaming radio content
WO2017185601A1 (en) Method and device for providing and downloading video
JP2005277847A (en) Image reproduction system, image transmission apparatus, image receiving apparatus, image reproduction method, image reproduction program, and recording medium
US20180137890A1 (en) Virtual Video Editing
KR101982853B1 (en) Method for providing interaction based mobile streaming service using realtime customized platform
JP7290260B1 (en) Servers, terminals and computer programs
JP2004040502A (en) Information-reproducing apparatus, information-reproducing method, and information reproducing system

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40084588

Country of ref document: HK