CN112702605A - Video transcoding system, video transcoding method, electronic device, and storage medium - Google Patents

Video transcoding system, video transcoding method, electronic device, and storage medium Download PDF

Info

Publication number
CN112702605A
CN112702605A CN202011551023.3A CN202011551023A CN112702605A CN 112702605 A CN112702605 A CN 112702605A CN 202011551023 A CN202011551023 A CN 202011551023A CN 112702605 A CN112702605 A CN 112702605A
Authority
CN
China
Prior art keywords
video data
transcoding
preprocessing
cluster
video
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
CN202011551023.3A
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.)
Bigo Technology Singapore Pte Ltd
Original Assignee
Bigo Technology Singapore Pte 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 Bigo Technology Singapore Pte Ltd filed Critical Bigo Technology Singapore Pte Ltd
Priority to CN202011551023.3A priority Critical patent/CN112702605A/en
Publication of CN112702605A publication Critical patent/CN112702605A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Abstract

The embodiment of the invention discloses a video transcoding system, a video transcoding method, electronic equipment and a storage medium, wherein a preprocessing cluster in the video transcoding system is used for acquiring original video data and preprocessing the original video data to obtain preprocessed video data, a management server is used for controlling the preprocessing cluster to send the preprocessed video data to a transcoding cluster, and the transcoding cluster is used for receiving the preprocessed video data, transcoding the preprocessed video data to obtain target video data and sending the target video data to a client through a content distribution network. Due to decoupling of preprocessing and transcoding, data streams are transmitted in a video memory during preprocessing, and preprocessed video data are transmitted between a preprocessing cluster and a transcoding cluster, so that the transmission efficiency is high, the bandwidth and the transmission time are saved, the transcoding efficiency is improved, the hardware cost of a system is reduced, transcoding is not influenced by preprocessing, and the accuracy and the speed of prediction of coding parameters are ensured.

Description

Video transcoding system, video transcoding method, electronic device, and storage medium
Technical Field
The embodiment of the invention relates to the technical field of video processing, in particular to a video transcoding system, a video transcoding method, electronic equipment and a storage medium.
Background
The digital video transcoding technology is a technology for converting video data from one video format to another video format, so that the transcoded video data can adapt to different network bandwidths, different terminal processing capabilities and different user requirements.
As shown in fig. 1, video transcoding mainly includes decapsulation, decoding, image pre-processing, encoding, and encapsulation. The packing format of the transcoded video (e.g. mp4, mov), the encoding format of the bare stream (e.g. h264, hevc, aac), the bitrate, resolution, frame rate of the video, the number of channels of the audio, and the sampling rate may be changed. In addition, according to different service requirements, a series of complex preprocessing operations such as understanding of video content, evaluation of video quality and beautification of video pictures can be included in the transcoding process.
Compared with hardware transcoding, software transcoding has higher coding efficiency, the volume of a code stream is smaller under the same video quality, the bandwidth cost of a distribution link can be saved, and the watching experience of a user is improved, so that software coding is widely applied. With the complexity of business requirements, video preprocessing algorithms are more and more, and if preprocessing is mostly based on deep learning, the method is very dependent on a GPU for parallel computation, and the following problems exist when the GPU is dependent on:
(1) data streams are frequently transmitted between the memory and the video memory, so that the efficiency of the whole transcoding system is low;
(2) the preprocessing is coupled in a transcoding link, and influences an adaptive coding parameter prediction algorithm;
(3) the preprocessing relies on GPU machine resources with high cost and limited quantity, the transcoding business scale is huge, and the whole transcoding process needs to be completely deployed on a machine with high GPU machine resource cost.
Disclosure of Invention
The embodiment of the invention provides a video transcoding system, a video transcoding method, electronic equipment and a storage medium, and aims to solve the problems that software video decoding efficiency is low, video preprocessing influences coding parameter prediction and cost is high.
In a first aspect, an embodiment of the present invention provides a video transcoding system, including a preprocessing cluster, a management server, and a transcoding cluster;
the preprocessing cluster is used for acquiring original video data and preprocessing the original video data to obtain preprocessed video data;
the management server is used for controlling the preprocessing cluster to send the preprocessed video data to the transcoding cluster;
the transcoding cluster is used for receiving the preprocessed video data, transcoding the preprocessed video data to obtain target video data, and sending the target video data to a client through a content distribution network.
In a second aspect, an embodiment of the present invention provides a video transcoding method, which is applied to a video transcoding system including a preprocessing cluster, a management server, and a transcoding cluster, where the video transcoding method includes:
the preprocessing cluster acquires original video data and preprocesses the original video data to obtain preprocessed video data;
the management server controls the preprocessing cluster to send the preprocessed video data to the transcoding cluster;
and the transcoding cluster transcodes the preprocessed video data to obtain target video data and sends the target video data to a client through a content distribution network.
In a third aspect, an embodiment of the present invention provides an electronic device, where the electronic device includes:
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement the video transcoding method of the present invention.
In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the video transcoding method according to the present invention.
The video transcoding system comprises a preprocessing cluster, a management server and a transcoding cluster, wherein the preprocessing cluster is used for acquiring original video data and preprocessing the original video data to obtain preprocessed video data, the management server is used for controlling the preprocessing cluster to send the preprocessed video data to the transcoding cluster, and the transcoding cluster is used for transcoding the preprocessed video data to obtain target video data and sending the target video data to a client through a content distribution network. The method and the device have the advantages that the original video data are processed through the preprocessing cluster, transcoding is conducted on the preprocessed video data through the transcoding cluster, preprocessing and transcoding decoupling are achieved, on one hand, the preprocessing cluster can adopt a GPU platform, data streams are transmitted in a video memory during preprocessing, the preprocessing cluster and the transcoding cluster transmit the preprocessed video data, transmission efficiency is high, transcoding efficiency is high, on the other hand, preprocessing can be achieved on the GPU platform, transcoding can be achieved on the CPU platform, the whole transcoding process does not need to depend on the platform with the GPU, system hardware cost is low, on the other hand, the problem that a large number of resources are needed for preprocessing to affect coding parameter prediction is solved, the transcoding process runs in the transcoding cluster, is not affected by preprocessing, and accuracy and speed of coding parameter prediction are guaranteed.
Drawings
Fig. 1 is a flow diagram of video transcoding in the prior art;
fig. 2 is a block diagram illustrating a video transcoding system according to an embodiment of the present invention;
fig. 3 is a block diagram illustrating a video transcoding system according to a second embodiment of the present invention;
FIG. 4 is a flow chart of a pre-processing cluster processing video data according to an embodiment of the present invention;
fig. 5 is a flowchart of transcoding cluster transcoding in an embodiment of the present invention;
fig. 6 is a flowchart illustrating steps of a video transcoding system according to a third embodiment of the present invention;
fig. 7 is a schematic structural diagram of an electronic device according to a fourth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures. The embodiments and features of the embodiments in the present application may be combined with each other without conflict.
Example one
Fig. 2 is a structural block diagram of a video transcoding system according to an embodiment of the present invention, and as shown in fig. 2, the video transcoding system according to the embodiment of the present invention includes a preprocessing cluster 10, a transcoding cluster 20, and a management server 30, where the management server 30 is respectively connected to the preprocessing cluster 10 and the transcoding cluster 20 in a communication manner.
The management server 30 is configured to control the preprocessing cluster 10 to send the preprocessed video data to the transcoding cluster 20, and the transcoding cluster 20 is configured to receive the preprocessed video data, transcode the preprocessed video data to obtain target video data, and send the target video data to a client through a content distribution network.
The preprocessing cluster 10 may be a plurality of computing devices deployed with a GPU platform, the transcoding cluster 20 may be a plurality of computing devices deployed with a CPU platform, the preprocessing cluster 10 may obtain original video data to be transcoded uploaded by a user from a storage server, and perform preprocessing on the original video data, for example, the preprocessing may be image beautification processing such as denoising, adjusting resolution, adding a watermark, removing a watermark, and the like on the original video data, and the preprocessing may also be operations such as video content understanding, video quality evaluation, and the like. The management server 30 may comprehensively manage tasks, resources, load balancing, and the like of the entire video transcoding system, and after the pre-processing cluster 10 completes pre-processing of the original video data, the management server 30 controls the pre-processing cluster 10 to send the pre-processed video data to the transcoding cluster 20, for example, controls the pre-processing cluster 10 to send the pre-processed video data to a specified computing device in the transcoding cluster 20. After receiving the pre-processed video data, the transcoding cluster 20 transcodes the pre-processed video data into multiple paths of target video data suitable for different network bandwidths, different terminals and different formats, and distributes the target video data to the client through the content distribution network.
The method and the device have the advantages that the original video data are processed through the preprocessing cluster, transcoding is conducted on the preprocessed video data through the transcoding cluster, preprocessing and transcoding decoupling are achieved, on one hand, the preprocessing cluster can adopt a GPU platform, data streams are transmitted in a video memory during preprocessing, the preprocessing cluster and the transcoding cluster only transmit the preprocessed video data, transmission efficiency is high, transcoding efficiency is high, on the other hand, preprocessing can be achieved on the GPU platform, transcoding can be achieved on the CPU platform, the whole transcoding process does not need to depend on the GPU platform, system hardware cost is low, on the other hand, the problem that a large number of resources are needed for preprocessing to affect coding parameter prediction is solved, the transcoding process runs on the transcoding cluster, the transcoding process is not affected by preprocessing, and accuracy and speed of coding parameter prediction are guaranteed.
Example two
Fig. 3 is a block diagram of a video transcoding system according to a second embodiment of the present invention, and as shown in fig. 3, on the basis of the first embodiment, the preprocessing cluster 10 includes an original video data obtaining module 101, a decoding module 102, a preprocessing module 103, an encoding module 104, and a sending module 105.
The original video data obtaining module 101 is configured to obtain, from a storage server, original video data uploaded by a client, where the original video data may be in a format of mp3, mp4, rm, rmvb, avi, wmv, and the like, and in an example, the client sends the original video data and transcoding requirements to the storage server in response to a transcoding operation of a user on the video data, and the original video data obtaining module 101 may obtain, from the storage server, the original video data and the transcoding requirements of the user, where the transcoding requirements may be resolution, bitrate, transcoding format, and the like.
The decoding module 102 is configured to decode original video data to obtain decoded first video data, where the original video data obtained by the original video data obtaining module 101 is packaged video data in various formats, and the decoding module 102 may decode the original video data to obtain decoded first video data of a yuv/rgb data stream, so that the preprocessing module 103 may preprocess the decoded first video data of the yuv/rgb data stream.
The preprocessing module 103 is configured to perform preprocessing on the decoded first video data to obtain preprocessed video data, where the preprocessing may include image processing such as denoising, resolution adjustment, watermark addition, watermark removal, color adjustment, and the like, and certainly may also include other preprocessing, and the preprocessing is not limited in the embodiment of the present invention.
The encoding module 104 is configured to encode the preprocessed video data to obtain preprocessed encoded video data, and since the preprocessing is performed on a decoded yuv/rgb data layer, the volume of yuv/rgb data is very large, in order to facilitate sending the preprocessed video data to the transcoding cluster 20, the preprocessed video data may be encoded to obtain the preprocessed encoded video data, so that the video data is compressed, the data volume transmitted to the transcoding cluster 20 is reduced, the network bandwidth is saved, the transmission time is shortened, and the transcoding efficiency can be improved.
In an example of the present invention, the preprocessing module 103 may include a preprocessing task obtaining sub-module, a preprocessing sub-module, and a preprocessing progress determining sub-module.
The preprocessing task obtaining submodule is used for obtaining at least one preprocessing task, the preprocessing submodule is used for preprocessing the decoded first video data in sequence according to the preprocessing tasks, the preprocessing progress judging submodule is used for judging whether all preprocessing tasks are executed on the decoded first video data, if yes, the execution coding module codes the preprocessed video data, if not, the preprocessing progress judging submodule returns to continue to execute the next preprocessing task, the preprocessing flow is specifically shown in fig. 4, and the specific flow is as follows:
s1, the original video data acquisition module acquires original video data;
s2, decoding the original video data by the decoding module to obtain decoded video data;
s3, the preprocessing task obtaining submodule obtains N preprocessing tasks;
s4, the preprocessing submodule sequentially preprocesses the decoded first video data according to the preprocessing task i;
s5, the pretreatment progress judgment submodule judges whether i is smaller than N, if yes, S6 is executed, and if not, S7 is executed;
S6、i=i+1;
and S7, coding the preprocessed video data to obtain preprocessed coded video data.
In practical applications, a pre-processing task for an original video data may be preset in the pre-processing cluster 10, the pre-processing cluster 10 obtains the original video data and then decodes the original video data to obtain video data of a decoded yuv/rgb data stream, the pre-processing module 103 sequentially executes the pre-processing tasks one by one to pre-process the video data until all the pre-processing tasks are executed to obtain pre-processed video data, and the encoding module 104 encodes the pre-processed video data to obtain pre-processed encoded video data.
After the preprocessing cluster 10 finishes preprocessing and encoding the original video data, the sending module 105 may send a preprocessing completion message to the management server 30, and after receiving the preprocessing completion message, the management server 30 may control the preprocessing cluster 10 to send the preprocessed video data to the transcoding cluster 20.
In an optional embodiment, the management server 30 may include a message receiving module and a message sending module, wherein the message receiving module is configured to receive a preprocessing completion message sent by the preprocessing cluster 10, the message sending module is configured to generate a video data sending message and send the video data sending message to the preprocessing cluster 10, the preprocessing cluster 10 further includes a receiving module, the receiving module is configured to receive the video data sending message sent by the management server 30, and the sending module 105 of the preprocessing cluster 10 is further configured to send the preprocessed video data to the transcoding cluster when receiving the video data sending message.
For example, after receiving the preprocessing completion message sent by the preprocessing cluster 10, the management server 30 may obtain the load status of each computing device in the transcoding cluster 20, and select a computing device with a lower load as the transcoding device, or the management server 30 selects a corresponding computing device from the transcoding cluster 20 as the transcoding device according to the transcoding requirement (transcoding format), and specifically, the management server 30 may generate a video data sending message including the address of at least one computing device in the transcoding cluster 20 to send to the preprocessing cluster 10, so that the sending module 105 of the preprocessing cluster 10 may send the preprocessed video data to the specified computing device in the transcoding cluster 20 for video transcoding.
Of course, in practical applications, the pre-processing cluster 10 may send the pre-processed video data to the management server 30, and the management server 30 sends the pre-processed video data to a computing device designated in the transcoding cluster 20 according to the load and resource status of the transcoding cluster 20.
The preprocessing of the video data is executed in the preprocessing cluster, the preprocessing cluster can be a GPU preprocessing cluster, the preprocessing data stream is transmitted in the video memory, the preprocessing efficiency is improved, moreover, the preprocessed video data is transmitted to the transcoding cluster through the network after being encoded, the data transmission quantity between the preprocessing cluster and the transcoding cluster is reduced, and the bandwidth and the transmission time are saved.
As shown in fig. 3, in an alternative embodiment of the present invention, the transcoding cluster 20 includes a video data receiving module 201, a transcoding module 202, and a video data sending module 203.
The video data receiving module 201 is configured to receive preprocessed video data from the preprocessing cluster 10, the transcoding module 202 is configured to transcode the preprocessed video data to obtain transcoded target video data, the video data sending module 203 is configured to send the transcoded target video data to a content distribution network, and the content distribution network sends the transcoded target video data to a client.
In an alternative embodiment of the present invention, transcoding module 202 of transcoding cluster 20 may include a decoding sub-module, an encoding sub-module, and an encapsulation sub-module.
The decoding submodule is used for decoding the preprocessed video data to obtain decoded second video data, the encoding submodule is used for encoding the decoded second video data according to at least one preset encoding format to obtain at least one path of encoded video data, and the packaging submodule is used for packaging the corresponding encoded video data according to the encoding format to obtain transcoded target video data.
In one example, the transcoding cluster 20 receives the preprocessed encoded video data sent by the preprocessing cluster 10, and for transcoding needs, decodes the preprocessed encoded video data by the decoding submodule to obtain decoded second video data, then encodes the decoded second video data, and finally encapsulates the second video data into video data in various formats by the encapsulation submodule as the target video data.
In an example, the encoding sub-module may include a first path encoding unit, an encoding parameter prediction unit, and an nth path encoding unit, where the first path encoding unit is configured to encode the decoded second video data to obtain a first path of encoded video data, a first encoding parameter, and a quality parameter, the encoding parameter prediction unit is configured to input the first encoding parameter and the quality parameter into a pre-trained encoding parameter prediction model to obtain an N path of encoding parameters, and the nth path encoding unit is configured to encode the decoded second video data based on the nth path of encoding parameters to obtain an nth path of encoded video data.
As shown in fig. 5, which is an illustration of transcoding of the transcoding cluster 20, in fig. 5, a decoding submodule of a transcoding module 202 in the transcoding cluster 20 first decodes pre-processed video data received by a video data receiving module 201, when the transcoding submodule transcodes, a first path of encoding unit first encodes the decoded video data to obtain a first path of encoded video data, a first encoding parameter and a quality parameter, where the first encoding parameter may be encoding parameters such as code rate, bit rate and compression rate, and the quality parameter may be quality parameters such as resolution and sharpness, then the first encoding parameter and the quality parameter are input into a pre-trained encoding parameter prediction model to predict encoding parameters of an nth path of the second path and the third path … …, and the nth path of encoding unit may encode the decoded video data according to the predicted encoding parameters to obtain encoded video data of an nth path, the encapsulation subunit may encapsulate the encoded video data according to the nth channel encapsulation format to obtain multiple channels of target video data.
The method and the device have the advantages that the original video data are processed through the preprocessing cluster, transcoding is conducted on the preprocessed video data through the transcoding cluster, preprocessing and transcoding decoupling are achieved, on one hand, the preprocessing cluster can adopt a GPU platform, data streams are transmitted in a video memory during preprocessing, the preprocessing cluster and the transcoding cluster transmit the preprocessed video data, transmission efficiency is high, transcoding efficiency is high, on the other hand, preprocessing can be achieved on the GPU platform, transcoding can be achieved on the CPU platform, the whole transcoding process does not need to depend on the platform with the GPU, system hardware cost is low, on the other hand, the problem that a large number of resources are needed for preprocessing to affect coding parameter prediction is solved, the transcoding process runs in the transcoding cluster, is not affected by preprocessing, and accuracy and speed of coding parameter prediction are guaranteed.
Furthermore, the video data after the pre-processing is coded and then sent to the transcoding cluster through the network, so that the data transmission quantity between the pre-processing cluster and the transcoding cluster is reduced, and the bandwidth and the transmission time are saved.
EXAMPLE III
Fig. 6 is a flowchart of steps of a video transcoding method provided in a third embodiment of the present invention, where the method is applicable to transcoding video data, and the method may be executed by a video transcoding system according to an embodiment of the present invention, where the video transcoding system includes a preprocessing cluster, a management server, and a transcoding cluster, and the video transcoding system may be implemented by hardware or software and is integrated in an electronic device provided in an embodiment of the present invention, and specifically, as shown in fig. 6, the video transcoding method according to an embodiment of the present invention may include the following steps:
s601, the preprocessing cluster acquires original video data and preprocesses the original video data to obtain preprocessed video data.
In an optional embodiment of the present invention, the pre-processing cluster may be a plurality of computing devices deployed with a GPU platform, and the pre-processing cluster may acquire original video data uploaded by a client from a storage server, decode the original video data to obtain decoded first video data, further pre-process the decoded first video data to obtain pre-processed video data, and send the pre-processed encoded video data to the transcoding cluster after encoding the pre-processed video data to obtain pre-processed encoded video data.
In one example, the client sends the original video data and transcoding requirements to the storage server in response to a transcoding operation of a user on the video data, and the preprocessing cluster may obtain the original video data and the transcoding requirements of the user from the storage server, where the transcoding requirements may be resolution, bitrate, transcoding format, and the like.
Because the pre-processing cluster needs to perform image beautification processing such as denoising, resolution adjustment, watermark increasing, watermark removing and the like on video data based on the yuv/rgb data layer, or perform operations such as video content understanding, video quality evaluation and the like on the original video data, before the pre-processing, the pre-processing cluster decodes the original video data to obtain decoded video data of the yuv/rgb data stream, and sends the decoded video data to the transcoding cluster after the pre-processing is completed, performs lossless coding (such as x264, crf 18, and ultra preset coding) on the pre-processed video data to obtain pre-processed coded video data, sends the pre-processed coded video data to the transcoding cluster, and compresses the video data and reduces the data amount transmitted to the transcoding cluster after the pre-processed video data is coded and then sent to the transcoding cluster, the network bandwidth is saved, the transmission time is shortened, and the transcoding efficiency can be improved.
S602, the management server controls the preprocessing cluster to send the preprocessed video data to the transcoding cluster.
In the embodiment of the invention, the management server can comprehensively manage tasks, resources, load balance and the like of the whole video transcoding system, and after the preprocessing of the current processing cluster on the original video data is completed, the management server can control the preprocessing cluster to send the preprocessed video data to the transcoding cluster.
In one example, after the preprocessing cluster completes preprocessing and encodes the original video data, the preprocessing cluster may send a preprocessing completion message to the management server, the management server generates a video data sending message after receiving the preprocessing completion message and sends the video data sending message to the preprocessing cluster, and the preprocessing cluster sends the preprocessed video data to the transcoding cluster when receiving the video data sending message sent by the management server.
Optionally, after receiving a preprocessing completion message sent by the preprocessing cluster, the management server may obtain load states of the computing devices in the transcoding cluster, and select a computing device with a lower load as the transcoding device, or select a corresponding computing device from the transcoding cluster as the transcoding device according to transcoding requirements (transcoding format), and specifically, the management server may generate a video data sending message, which includes an address of at least one computing device in the transcoding cluster, and send the video data after preprocessing to a designated computing device in the transcoding cluster for video transcoding.
Of course, in practical applications, the pre-processing cluster may also send the pre-processed video data to the management server, and the management server sends the pre-processed video data to a computing device specified in the transcoding cluster according to the load and resource status of the transcoding cluster.
S603, the transcoding cluster transcodes the preprocessed video data to obtain target video data, and sends the target video data to a client through a content distribution network.
In an optional embodiment of the present invention, after receiving the preprocessed video data from the front processing cluster, the transcoding cluster transcodes the preprocessed video data to obtain transcoded video data, and sends the transcoded video data to the content distribution network, and the content distribution network sends the transcoded video data to the client.
Optionally, in the transcoding process, the preprocessed video data is decoded, then a first path of coding is performed on the decoded video data to obtain first path of coded video data, first coding parameters and quality parameters, the first coding parameters may be coding parameters such as a code rate, a bit rate and a compression rate, the quality parameters may be quality parameters such as resolution and definition, then the first coding parameters and the quality parameters are input into a pre-trained coding parameter prediction model to predict coding parameters of a second path and a third path … …, then the decoded video data may be coded according to the predicted N path of coding parameters to obtain N paths of coded video data, and the coded video data is packaged according to a packaging format of the N path to obtain multiple paths of target video data.
The video transcoding method of the embodiment of the invention processes original video data through the preprocessing cluster and transcodes the preprocessed video data through the transcoding cluster, so that preprocessing and transcoding decoupling are realized.
Example four
Referring to fig. 7, a schematic structural diagram of an electronic device in one example of the invention is shown. As shown in fig. 7, the electronic device may specifically include: a processor 701, a storage device 702, a display screen 703 with touch functionality, an input device 704, an output device 705, and a communication device 706. The number of the processors 701 in the electronic device may be one or more, and one processor 701 is taken as an example in fig. 7. The processor 701, the storage device 702, the display 703, the input device 704, the output device 705, and the communication device 706 of the electronic apparatus may be connected by a bus or other means, and fig. 7 illustrates an example of connection by a bus. The electronic equipment is used for executing the video transcoding method provided by any embodiment of the invention.
Embodiments of the present invention further provide a computer-readable storage medium, where instructions, when executed by a processor of a device, enable the device to perform a video transcoding method as described in the above method embodiments.
It should be noted that, as for the method, the electronic device, and the storage medium embodiments, since they are basically similar to the system embodiments, the description is relatively simple, and in relevant places, reference may be made to part of the description of the system embodiments.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious modifications, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (15)

1. A video transcoding system is characterized by comprising a preprocessing cluster, a management server and a transcoding cluster;
the preprocessing cluster is used for acquiring original video data and preprocessing the original video data to obtain preprocessed video data;
the management server is used for controlling the preprocessing cluster to send the preprocessed video data to the transcoding cluster;
the transcoding cluster is used for receiving the preprocessed video data, transcoding the preprocessed video data to obtain target video data, and sending the target video data to a client through a content distribution network.
2. The video transcoding system of claim 1, wherein the pre-processing cluster comprises:
the original video data acquisition module is used for acquiring original video data uploaded by a client from a storage server;
the decoding module is used for decoding the original video data to obtain decoded first video data;
and the preprocessing module is used for preprocessing the decoded first video data to obtain preprocessed video data.
3. The video transcoding system of claim 2, wherein the pre-processing cluster further comprises:
and the coding module is used for coding the pre-processed video data to obtain the pre-processed coded video data.
4. The video transcoding system of claim 2, wherein the preprocessing module comprises:
the preprocessing task obtaining submodule is used for obtaining at least one preprocessing task;
the preprocessing submodule is used for sequentially preprocessing the decoded first video data according to the preprocessing task;
and the preprocessing progress judgment sub-module is used for judging whether all preprocessing tasks are executed on the decoded first video data, if so, executing the coding module, and if not, returning to the preprocessing sub-module.
5. The video transcoding system of claim 1, wherein the pre-processing cluster further comprises:
and the sending module is used for sending a preprocessing completion message to the management server when all preprocessing tasks are executed on the decoded first video data.
6. The video transcoding system of claim 5, wherein the management server comprises:
the message receiving module is used for receiving a preprocessing completion message sent by the preprocessing cluster;
and the message sending module is used for generating a video data sending message and sending the video data sending message to the preprocessing cluster.
7. The video transcoding system of claim 6, wherein the pre-processing cluster further comprises:
the receiving module is used for receiving a video data sending message sent by the management server;
and the sending module is also used for sending the preprocessed video data to the transcoding cluster when the video data sending message is received.
8. The video transcoding system of claim 1, wherein the pre-processing cluster is a GPU pre-processing cluster.
9. A video transcoding system as claimed in any one of claims 1 to 8 wherein the transcoding cluster comprises:
a video data receiving module, configured to receive the preprocessed video data from the preprocessing cluster;
the transcoding module is used for transcoding the preprocessed video data to obtain transcoded target video data;
and the video data sending module is used for sending the transcoded target video data to a content distribution network, and the content distribution network sends the transcoded target video data to a client.
10. The video transcoding system of claim 9, wherein the transcoding module comprises:
the decoding submodule is used for decoding the preprocessed video data to obtain decoded second video data;
the encoding submodule is used for encoding the decoded second video data according to at least one preset encoding format to obtain at least one path of encoded video data;
and the packaging submodule is used for packaging the corresponding coded video data according to the coding format to obtain the transcoded target video data.
11. The video transcoding system of claim 10, wherein the encoding sub-module comprises:
a first path coding unit, configured to code the decoded second video data according to a preset first path coding format to obtain a first path coded video data, a first coding parameter, and a quality parameter;
the coding parameter prediction unit is used for inputting the first coding parameter and the quality parameter into a pre-trained coding parameter prediction model to obtain N paths of coding parameters, wherein N is a natural number;
and the Nth path coding unit is used for coding the decoded second video data based on a preset Nth path coding format and the Nth path coding parameter to obtain Nth path coded video data.
12. The video transcoding system of claim 11, wherein the encapsulation sub-module is further configured to:
and packaging the N path of coded video data according to the coding format of the N path of coded video data to obtain the N path of transcoded target video data.
13. A video transcoding method is applied to a video transcoding system comprising a preprocessing cluster, a management server and a transcoding cluster, and comprises the following steps:
the preprocessing cluster acquires original video data and preprocesses the original video data to obtain preprocessed video data;
the management server controls the preprocessing cluster to send the preprocessed video data to the transcoding cluster;
and the transcoding cluster transcodes the preprocessed video data to obtain target video data and sends the target video data to a client through a content distribution network.
14. An electronic device, characterized in that the electronic device comprises:
one or more processors;
a storage device for storing one or more programs,
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method of video transcoding of claim 13.
15. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out a method of video transcoding as claimed in claim 13.
CN202011551023.3A 2020-12-24 2020-12-24 Video transcoding system, video transcoding method, electronic device, and storage medium Pending CN112702605A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011551023.3A CN112702605A (en) 2020-12-24 2020-12-24 Video transcoding system, video transcoding method, electronic device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011551023.3A CN112702605A (en) 2020-12-24 2020-12-24 Video transcoding system, video transcoding method, electronic device, and storage medium

Publications (1)

Publication Number Publication Date
CN112702605A true CN112702605A (en) 2021-04-23

Family

ID=75509813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011551023.3A Pending CN112702605A (en) 2020-12-24 2020-12-24 Video transcoding system, video transcoding method, electronic device, and storage medium

Country Status (1)

Country Link
CN (1) CN112702605A (en)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098483A (en) * 2007-07-19 2008-01-02 上海交通大学 Video cluster transcoding system using image group structure as parallel processing element
CN101442657A (en) * 2008-12-23 2009-05-27 西安交通大学 Design method for stream medium distributed digital watermarking architecture
US8031197B1 (en) * 2006-02-03 2011-10-04 Nvidia Corporation Preprocessor for formatting video into graphics processing unit (“GPU”)-formatted data for transit directly to a graphics memory
KR20130001169A (en) * 2011-06-24 2013-01-03 김성한 Micro-server cluster type adaptive video streaming server
CN104244025A (en) * 2013-06-09 2014-12-24 北京同步科技有限公司 Cluster transcoding system and method thereof
US9338467B1 (en) * 2010-07-19 2016-05-10 Google Inc. Parallel video transcoding
CN106658005A (en) * 2016-12-30 2017-05-10 上海聚力传媒技术有限公司 Video coding method and device
CN106791928A (en) * 2016-12-29 2017-05-31 上海幻电信息科技有限公司 The high performance video trans-coding system and method for a kind of self adaptation
CN107067365A (en) * 2017-04-25 2017-08-18 中国石油大学(华东) The embedded real-time video stream processing system of distribution and method based on deep learning
CN110418177A (en) * 2019-04-19 2019-11-05 腾讯科技(深圳)有限公司 Method for video coding, device, equipment and storage medium
CN110418144A (en) * 2019-08-28 2019-11-05 成都索贝数码科技股份有限公司 A method of realizing that one enters to have more transcoding multi code Rate of Chinese character video file based on NVIDIA GPU
CN111179201A (en) * 2019-12-31 2020-05-19 广州市百果园信息技术有限公司 Video denoising method and electronic equipment
CN111263154A (en) * 2020-01-22 2020-06-09 腾讯科技(深圳)有限公司 Video data processing method and device and storage medium

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8031197B1 (en) * 2006-02-03 2011-10-04 Nvidia Corporation Preprocessor for formatting video into graphics processing unit (“GPU”)-formatted data for transit directly to a graphics memory
CN101098483A (en) * 2007-07-19 2008-01-02 上海交通大学 Video cluster transcoding system using image group structure as parallel processing element
CN101442657A (en) * 2008-12-23 2009-05-27 西安交通大学 Design method for stream medium distributed digital watermarking architecture
US9338467B1 (en) * 2010-07-19 2016-05-10 Google Inc. Parallel video transcoding
KR20130001169A (en) * 2011-06-24 2013-01-03 김성한 Micro-server cluster type adaptive video streaming server
CN104244025A (en) * 2013-06-09 2014-12-24 北京同步科技有限公司 Cluster transcoding system and method thereof
CN106791928A (en) * 2016-12-29 2017-05-31 上海幻电信息科技有限公司 The high performance video trans-coding system and method for a kind of self adaptation
CN106658005A (en) * 2016-12-30 2017-05-10 上海聚力传媒技术有限公司 Video coding method and device
CN107067365A (en) * 2017-04-25 2017-08-18 中国石油大学(华东) The embedded real-time video stream processing system of distribution and method based on deep learning
CN110418177A (en) * 2019-04-19 2019-11-05 腾讯科技(深圳)有限公司 Method for video coding, device, equipment and storage medium
CN110418144A (en) * 2019-08-28 2019-11-05 成都索贝数码科技股份有限公司 A method of realizing that one enters to have more transcoding multi code Rate of Chinese character video file based on NVIDIA GPU
CN111179201A (en) * 2019-12-31 2020-05-19 广州市百果园信息技术有限公司 Video denoising method and electronic equipment
CN111263154A (en) * 2020-01-22 2020-06-09 腾讯科技(深圳)有限公司 Video data processing method and device and storage medium

Similar Documents

Publication Publication Date Title
KR102235590B1 (en) Method and apparatus for processing a video
US20200145692A1 (en) Video processing method and apparatus
KR101483137B1 (en) Method and system for low complexity transcoding of images with near optimal quality
KR101894420B1 (en) Adaptive video transcoding method and its system for maximizing transcoding server capacity
KR102525577B1 (en) Method and apparatus for streaming data
US20100011012A1 (en) Selective Compression Based on Data Type and Client Capability
US8184692B2 (en) Distributed and automated video encoding and delivery system
JP2023524000A (en) Dynamic Parameter Selection for Quality Normalized Video Transcoding
US20160316216A1 (en) Encoding/Transcoding Based on Subjective Video Quality Preferences
KR20160080929A (en) Apparatus and method of adaptive ultra high definition multimedia streaming service based on cloud
CN105282124A (en) Transmission method and presentation method of progressive picture based on XMPP
CN111885346A (en) Picture code stream synthesis method, terminal, electronic device and storage medium
CN114845106A (en) Video coding method, video coding device, storage medium and electronic equipment
US8565302B2 (en) Video streaming apparatus with quantization and method thereof
US20230082784A1 (en) Point cloud encoding and decoding method and apparatus, computer-readable medium, and electronic device
CN112702605A (en) Video transcoding system, video transcoding method, electronic device, and storage medium
JP6216046B2 (en) Automatic codec adaptation
CN112788343A (en) Software and hardware coding cooperation system and method for video processing server and electronic device
US20170230676A1 (en) System for efficient video transcoding based on encoder decisions extraction
CA2737913C (en) Video streaming apparatus with quantization and method thereof
CN114503569A (en) AV1 codec for real-time video communication
US20140143824A1 (en) Multicast-based content transmitting system and method, and device and method for estimating high-speed movement
US20170347138A1 (en) Efficient transcoding in a network transcoder
CN111182309B (en) Video decoding processing method and device
US9355461B2 (en) Multicast-based content transmitting system and method, and device and method for estimating high-speed movement

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