CN109309646B - Multimedia transcoding method and system - Google Patents

Multimedia transcoding method and system Download PDF

Info

Publication number
CN109309646B
CN109309646B CN201710620933.4A CN201710620933A CN109309646B CN 109309646 B CN109309646 B CN 109309646B CN 201710620933 A CN201710620933 A CN 201710620933A CN 109309646 B CN109309646 B CN 109309646B
Authority
CN
China
Prior art keywords
transcoding
task
cloud storage
storage platform
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710620933.4A
Other languages
Chinese (zh)
Other versions
CN109309646A (en
Inventor
丁硕青
张炎泼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Baishancloud Technology Co Ltd
Original Assignee
Guizhou Baishancloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guizhou Baishancloud Technology Co Ltd filed Critical Guizhou Baishancloud Technology Co Ltd
Priority to CN201710620933.4A priority Critical patent/CN109309646B/en
Publication of CN109309646A publication Critical patent/CN109309646A/en
Application granted granted Critical
Publication of CN109309646B publication Critical patent/CN109309646B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention provides a multimedia transcoding method and a multimedia transcoding system. Relates to the field of cloud computing; the problem of current multimedia transcoding system transcoding inefficiency, can not satisfy a large amount of transcoding demands of different cloud storage platforms is solved. The method comprises the following steps: the transcoding server is adapted to obtain an interface corresponding to the cloud storage platform according to the cloud storage platform specified in the transcoding task; downloading a multimedia source file related to the transcoding task to the local through the interface, and transcoding according to the transcoding task to obtain a transcoded file; uploading the transcoded file to the cloud storage platform through the interface. The technical scheme provided by the invention is suitable for the cloud storage system, and realizes high flexibility and can adapt to transcoding of multimedia files with different format requirements of different cloud storage platforms.

Description

Multimedia transcoding method and system
Technical Field
The invention relates to the field of cloud computing, in particular to a multimedia transcoding method and a multimedia transcoding system.
Background
With the continuous development of the video live broadcast and on-demand market in recent years, more and more enterprises with multimedia transcoding requirements come, and many of the enterprises use cloud storage platforms. Different cloud storage platforms require different standards such as encoding formats and sizes of storage files, and accordingly, each cloud storage platform needs a special multimedia transcoding system.
The currently common multimedia transcoding system has the following disadvantages:
-single input/output source. Only one specific multimedia source (such as HTTP file push and URL address) is supported for transcoding, and the transcoded multimedia source is stored back to a specific position.
Poor resource isolation. Transcoding tasks created by different users share the same resources, and when a small number of users suddenly increase the amount of tasks, the overall performance is greatly affected.
Poor disaster tolerance. Existing multimedia transcoding systems are typically single IDC deployments, which when the IDC fails, may render the overall transcoding service unavailable.
In sum, the transcoding efficiency of the existing multimedia transcoding system is low, and the requirement of a large amount of transcoding of different cloud storage platforms cannot be met.
Disclosure of Invention
The present invention is directed to solving the problems described above.
According to a first aspect of the present invention, there is provided a multimedia transcoding method, comprising:
the transcoding server is adapted to obtain an interface corresponding to the cloud storage platform according to the cloud storage platform specified in the transcoding task;
downloading a multimedia source file related to the transcoding task to the local through the interface, and transcoding according to the transcoding task to obtain a transcoded file;
uploading the transcoded file to the cloud storage platform through the interface.
Preferably, the step of adapting, by the transcoding server, to obtain an interface corresponding to the cloud storage platform according to the cloud storage platform specified in the transcoding task further includes:
and receiving the identity keys of the cloud storage platforms provided by the user, and establishing an association relationship among the user, the cloud storage platforms and the identity keys of the cloud storage platforms.
Preferably, the transcoding task carries task parameters, and the task parameters at least include any one or more of the following parameters:
queue ID, template ID, cloud storage platform, multimedia source file address, transcoding output parameters,
the method for the transcoding server to obtain the interface corresponding to the cloud storage platform in an adaptive mode according to the cloud storage platform specified in the transcoding task comprises the following steps:
the transcoding server acquires an identity key of a corresponding cloud storage platform according to the cloud storage platform indicated by the user and the transcoding task;
and selecting a corresponding interface according to the identity key of the cloud storage platform and the cloud storage platform appointed in the transcoding task.
Preferably, before the step of adapting, by the transcoding server, to obtain an interface corresponding to the cloud storage platform according to the cloud storage platform specified in the transcoding task, the method further includes:
and selecting idle transcoding servers to execute the transcoding task according to the load state of each transcoding server in the transcoding server cluster.
Preferably, the method further comprises:
when a transcoding task creating request submitted by a user is received, extracting task parameters in the transcoding task creating request to generate a transcoding task.
Preferably, the method further comprises:
and managing the generated transcoding tasks through at least one queue, wherein different queues have different priorities.
Preferably, before the step of selecting a more idle transcoding server to execute the transcoding task according to the load status of each transcoding server in the transcoding server cluster, the method further includes:
and selecting one transcoding task from the queue with higher priority as the current transcoding task to be executed.
The invention also provides a multimedia transcoding system which comprises a plurality of cloud storage platforms using different coding formats and a transcoding server cluster, wherein the transcoding server cluster comprises a plurality of transcoding servers;
and the transcoding server in the transcoding server cluster is used for obtaining an interface corresponding to the cloud storage platform in an adaptive manner according to the cloud storage platform appointed in the transcoding task, downloading the multimedia source file related to the transcoding task to the local through the interface, transcoding according to the transcoding task to obtain a transcoded file, and uploading the transcoded file to the cloud storage platform through the interface.
Preferably, the transcoding server is further configured to receive an identity key of each cloud storage platform provided by the user, and establish an association relationship among the user, the cloud storage platform, and the identity key of the cloud storage platform.
Preferably, the transcoding task carries task parameters, and the task parameters at least include any one or more of the following parameters:
queue ID, template ID, cloud storage platform, multimedia source file address, transcoding output parameters,
the transcoding server is specifically configured to obtain an identity key of a corresponding cloud storage platform according to a user and the cloud storage platform indicated by the transcoding task, and select a corresponding interface according to the identity key of the cloud storage platform and a cloud storage platform specified in the transcoding task.
Preferably, the system further comprises a task scheduling server cluster, wherein the task scheduling server cluster comprises a plurality of task allocation servers;
and the task allocation servers in the task scheduling server cluster are used for selecting idle transcoding servers to execute the transcoding tasks according to the load states of all the transcoding servers in the transcoding server cluster.
Preferably, the system further comprises a front-end interface server cluster, wherein the front-end interface server cluster comprises a plurality of front-end interface servers;
the front-end interface server in the front-end interface server cluster is used for extracting task parameters in a transcoding task creating request and generating a transcoding task when the transcoding task creating request submitted by a user is received.
Preferably, the system further comprises a distributed database cluster, said distributed database cluster comprising a plurality of database instances;
the front-end interface server cluster is used for writing the generated transcoding task into the distributed database cluster, and managing the generated transcoding task through at least one queue, wherein different queues have different priorities;
and the database instance in the distributed database cluster is used for storing the generated transcoding task and the generated transcoding task queue.
Preferably, the task allocation server in the task scheduling server cluster is further configured to select a transcoding task from a queue with a higher priority as a current transcoding task to be executed.
The invention provides a multimedia transcoding method and a multimedia transcoding system. The problem that the transcoding efficiency of the existing multimedia transcoding system is low and the requirement of a large number of transcoding of different cloud storage platforms cannot be met is solved, and the high-flexibility transcoding of multimedia files which can adapt to different format requirements of different cloud storage platforms is realized.
Other characteristic features and advantages of the invention will become apparent from the following description of exemplary embodiments, which is to be read in connection with the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. In the drawings, like reference numerals are used to indicate like elements. The drawings in the following description are directed to some, but not all embodiments of the invention. For a person skilled in the art, other figures can be derived from these figures without inventive effort.
Fig. 1 schematically illustrates a multimedia transcoding system architecture provided in an embodiment of the present invention;
fig. 2 schematically shows a flow of a multimedia transcoding method provided by the second embodiment of the present invention;
fig. 3 schematically shows a multimedia transcoding system architecture provided in an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention. It should be noted that the embodiments and features of the embodiments in the present application may be arbitrarily combined with each other without conflict.
The currently common multimedia transcoding system has the following disadvantages:
-single input/output source. Only one specific multimedia source (such as HTTP file push and URL address) is supported for transcoding, and the transcoded multimedia source is stored back to a specific position.
Poor resource isolation. Transcoding tasks created by different users share the same resources, and when a small number of users suddenly increase the amount of tasks, the overall performance is greatly affected.
Poor disaster tolerance. Existing multimedia transcoding systems are typically single IDC deployments, which when the IDC fails, may render the overall transcoding service unavailable.
In order to solve the above problem, embodiments of the present invention provide a multimedia transcoding method and system. When a user creates a transcoding request, corresponding parameters are provided, an interface matched with the cloud storage platform is generated according to the parameters, file transmission is further carried out through the interface and the cloud storage platform, and the cloud storage platforms of different multimedia source coding formats are supported.
First, a first embodiment of the present invention will be described with reference to the drawings.
An embodiment of the present invention provides a multimedia storage system, an architecture of which is shown in fig. 1, and the multimedia storage system includes:
the system comprises a plurality of cloud storage platforms and transcoding server clusters which use different coding formats, wherein each transcoding server cluster comprises a plurality of transcoding servers;
the transcoding server is used for obtaining an interface corresponding to the cloud storage platform in an adaptive manner according to a cloud storage platform designated in a transcoding task, downloading a multimedia source file related to the transcoding task to the local through the interface, transcoding according to the transcoding task to obtain a transcoded file, and uploading the transcoded file to the cloud storage platform through the interface.
Preferably, the transcoding server is further configured to receive an identity key of each cloud storage platform provided by the user, and establish an association relationship among the user, the cloud storage platform, and the identity key of the cloud storage platform.
Preferably, the transcoding task carries task parameters, and the task parameters at least include any one or more of the following parameters:
queue ID, template ID, cloud storage platform, multimedia source file address, transcoding output parameters,
the transcoding server is specifically configured to obtain an identity key of a corresponding cloud storage platform according to a user and the cloud storage platform indicated by the transcoding task, and select a corresponding interface according to the identity key of the cloud storage platform and a cloud storage platform specified in the transcoding task.
Preferably, the system further comprises a task scheduling server cluster, wherein the task scheduling server cluster comprises a plurality of task allocation servers;
and the task allocation servers in the task scheduling server cluster are used for selecting idle transcoding servers to execute the transcoding tasks according to the load states of all the transcoding servers in the transcoding server cluster.
Preferably, the system further comprises a front-end interface server cluster, wherein the front-end interface server cluster comprises a plurality of front-end interface servers;
the front-end interface server in the front-end interface server cluster is used for extracting task parameters in a transcoding task creating request and generating a transcoding task when the transcoding task creating request submitted by a user is received.
Preferably, the system further comprises a distributed database cluster, said distributed database cluster comprising a plurality of database instances;
the front-end interface server cluster is used for writing the generated transcoding task into the distributed database cluster, and managing the generated transcoding task through at least one queue, wherein different queues have different priorities;
and the database instance in the distributed database cluster is used for storing the generated transcoding task and the generated transcoding task queue.
Preferably, the task allocation server in the task scheduling server cluster is further configured to select a transcoding task from a queue with a higher priority as a current transcoding task to be executed.
Preferably, the transcoding server cluster and the task scheduling involved in the multimedia transcoding system
The degree server cluster and the front-end interface server cluster are arranged in different Internet Data Centers (IDCs) so as to meet the requirement of full-network transcoding. A distributed database cluster is a master-slave database deployed across IDCs.
The second embodiment of the present invention will be described below with reference to the drawings.
The embodiment of the invention provides a multimedia transcoding method, which is applied to a multimedia transcoding system shown in fig. 1, further optimizes task management and resource scheduling on the basis of realizing a transcoding server capable of adapting to various different cloud storage platform coding formats, and the specific flow is shown in fig. 2, and comprises the following steps:
step 201, a transcoding server receives identity keys of various cloud storage platforms provided by a user, and an association relationship is established among the user, the cloud storage platforms and the identity keys of the cloud storage platforms;
the user provides an identity Key required by the cloud storage platform (for example, an Access Key and a Secret Key required by an AWS platform) in an encryption mode according to a cloud storage platform parameter list supported by the transcoding server.
The transcoding server establishes an association relation among the identity key provided by the user, the user and the cloud storage platform and stores the association relation.
Step 202, when receiving a transcoding task creating request submitted by a user, a front-end interface server extracts task parameters in the transcoding task creating request and generates a transcoding task;
in this step, the front-end interface server processes the received user request, and generates a transcoding task according to task parameters carried in the request when the received request is a request for creating a transcoding task.
The task parameters at least comprise any one or more of the following parameters:
the method comprises the steps of queue ID, template ID, cloud storage platform, identity key of the cloud storage platform, multimedia source file address and transcoding output parameters (output path, authority and the like).
The queue ID indicates the transcoding task queue in which the transcoding task is located. And after the creation is completed, writing the transcoding task into the database. Preferably, the generated transcoding tasks are managed by at least one queue, different queues having different priorities, the different transcoding task queues being marked by a queue ID.
The template ID indicates a transcoding template used by the current transcoding task, and the format of the output file can be determined according to the transcoding template. The transcoding template specifies output parameters of transcoding, such as output container format, encoding mode, video resolution, bitrate, and the like. Each user may create one or more transcoding templates. The created transcoding templates are stored in a distributed database cluster. The user needs to provide a template ID when creating the transcoding task.
Besides creating the transcoding task request, the user can also maintain and manage the transcoding task in the database by sending out the following requests:
-create \ delete \ view transcoding task;
-create \ update \ delete \ view transcoding template;
-create \ update \ delete \ view transcoding task queue.
If the user knows the template ID created by the user, the user does not need to request all the templates again, and the user only needs to indicate the corresponding template ID when sending out the transcoding task request.
Step 203, selecting a current transcoding task to be executed from the unexecuted transcoding tasks;
in this step, since a plurality of unexecuted transcoding tasks may be stored in the database at the same time, the execution sequence needs to be determined, and the transcoding servers need to be sequentially allocated to execute the transcoding tasks.
Preferably, when a plurality of queues exist, one transcoding task is selected from the queue with higher priority as the current transcoding task to be executed. The transcoding task selection in the same queue can be performed according to first-in first-out or other rules suitable for the current application scenario.
Step 204, distributing a transcoding server for the current transcoding task to be executed;
in this step, as the transcoding server cluster is configured, each transcoding server in the cluster can process transcoding tasks of different cloud storage platforms. Therefore, the transcoding server with the most appropriate performance or more appropriate performance can be selected from the transcoding servers to perform the transcoding task, so that the optimal allocation of resources is achieved.
For example, a more idle transcoding server may be selected to perform the transcoding task based on the load status of each transcoding server in the transcoding server cluster. Or selecting a transcoding server which is stably and quickly transmitted with the cloud storage platform to execute the transcoding task according to the communication efficiency, quality and the like of the cloud storage platform.
Step 205, the transcoding server adapts to obtain an interface corresponding to a cloud storage platform according to the cloud storage platform specified in the transcoding task;
in the step, the transcoding server adapts to obtain an interface corresponding to the specified cloud storage platform according to the parameters in the transcoding task.
The method specifically comprises the following steps:
1. the transcoding server acquires an identity key of a corresponding cloud storage platform according to the cloud storage platform indicated by the user and the transcoding task;
2. and selecting a corresponding interface according to the identity key of the cloud storage platform and the cloud storage platform appointed in the transcoding task.
Step 206, the transcoding server downloads the multimedia source file related to the transcoding task to the local through the interface, and transcodes according to the transcoding task to obtain a transcoded file;
in the step, the transcoding server downloads the multimedia source file from the specified cloud storage platform through an interface obtained through adaptation according to information such as the position and the identity key of the source file in the transcoding task. The transcoding platform selects a corresponding downloading interface of the cloud storage platform interface according to the identity key and the cloud storage platform provided by the user before, and converts the source file name provided by the user when creating the task into the downloading interface parameters of the cloud platform according to the conversion rule predefined by the platform for transcoding.
And transcoding according to the output parameters indicated in the transcoding task to obtain the transcoded file in the required format.
Step 207, uploading the transcoded file to the cloud storage platform by the transcoding server through the interface;
in this step, after transcoding is completed, the transcoding platform selects an upload interface of a corresponding cloud storage platform interface according to a key and a cloud platform name provided by a user before, and converts parameters such as an output file name and an output permission provided by the user when creating a task into upload interface parameters of the cloud storage platform according to a conversion rule predefined by the platform to upload a transcoded file.
Preferably, the transcoding server may further generate an execution result of a transcoding task after the transcoding task is executed, provide the execution result to a person or entity with a corresponding right, where the execution result includes indication information of success/failure of transcoding, and input file information, output file information, and other content. The execution result can be sent by a user configuration mode, such as an HTTP mode, an email mode, a short message mode and the like.
The third embodiment of the present invention will be described below with reference to the accompanying drawings.
An embodiment of the present invention provides a multimedia transcoding system, as shown in fig. 3, which is composed of a front-end interface server cluster (including at least two front-end interface servers deployed across IDCs), a distributed database cluster, a task scheduling server cluster (including at least two task scheduling servers deployed across IDCs), and a transcoding server cluster (including at least two transcoding servers deployed across IDCs). Wherein:
the front-end interface server is used to verify the request validity (based on the AWS signature algorithm), and to process the following user requests:
-create \ delete \ view transcoding task;
-create \ update \ delete \ view transcoding template;
-create \ update \ delete \ view transcoding task queue.
The distributed database cluster is a plurality of master-slave databases which are arranged across IDCs and used for storing information such as transcoding tasks, transcoding templates, transcoding task queues, performance statistics and the like.
The task scheduling server is used for reading executable transcoding tasks from the database and selecting a relatively idle server to distribute tasks according to the load capacity (CPU, memory, current task number and the like) of the current transcoding server.
And the transcoding server is responsible for transcoding a multimedia source file stored in a certain cloud storage platform based on FFmpeg according to the received transcoding task, and uploading the transcoded multimedia source file back to the cloud storage platform specified by the user. And for each transcoding server, a maximum concurrent task number can be set according to the performance of the transcoding server, so that excessive resource consumption is prevented.
Assume that a user has created a transcoding task queue and a transcoding template.
1. The user submits a 'create transcoding task' request and provides the required parameters: the method comprises the following steps of queue ID, template ID, cloud storage platform identity key, multimedia source file address and transcoding output parameters (output path, authority and the like).
2. And the verification module in the front-end interface server can verify the legality of the request according to the signature information carried in the user request. And after the request is confirmed to be legal, writing the transcoding task into a corresponding queue of the database.
3. The task scheduling server cluster periodically (every second) obtains executable tasks from the database.
4. For each transcoding task which can be executed, the task scheduling server cluster selects a relatively idle transcoding server according to the load data of each transcoding server in the database (the statistical module of each transcoding server can report the respective state at regular time).
5. And the task scheduling server cluster sends the transcoding task to the selected transcoding server through the RPC request.
6. After receiving the distributed transcoding task, the transcoding server executes the following steps:
6.1. the cloud storage interface adaptation module selects a corresponding interface according to a 'cloud storage platform' in the task.
6.2. And downloading the multimedia source file to the local according to the interface specification obtained by the adaptation, the source file position in the task, the cloud storage platform identity key and other information (different 'cloud storage platforms' need different information, and the embodiment is only one).
6.3. And transcoding the multimedia source file downloaded to the local by using an FFmpeg module according to the transcoding rule.
7. After the transcoding is successful, the transcoding server uploads the transcoded file to the cloud storage platform by using the interface obtained by the adaptation.
8. Further, after the transcoding is successful or failed, a notification module in the transcoding server sends the transcoding result (success \ failure, transcoding input file information and output file information) to the user in a user configuration mode (HTTP, mail and short message).
The transcoding task involved in the embodiment of the invention is created by a user and stored in a database. Defining a specific transcoding event to be executed asynchronously, and the task parameters comprise: cloud storage providers, original file location parameters, output file permissions, and the like.
Transcoding templates involved in embodiments of the invention: created by the system or user, stored in a database. Rules required in transcoding are defined, such as output packaging format, output video coding mode, output resolution, output code rate, output frame rate, watermark, editing parameters and the like. The transcoding task is created by specifying a transcoding template.
The transcoding task queue involved in the embodiments of the present invention: created by the user and stored in the database. When the creation task is to specify a queue ID. The queue can be configured with information such as priority, maximum parallel task number and the like.
Different from the existing video transcoding system, the multimedia transcoding system provided by the embodiment of the invention can allow a user to create queues with different priorities according to the needs of the user. For example, the priority of the queue is marked with a number, the priority being from 0 to 9 (the lower the value, the higher the priority). As a common application, a user may create a queue of normal priority (priority 5) and a queue of high priority (priority 0). Most tasks enter a queue with common priority, and when an urgent transcoding task occurs, a user can put the transcoding task into a queue with high priority. When there are resources available in the system, the system will prioritize tasks in the high priority queue.
In order to control the overall load of the system, further, the total number of queues that can be created by each user and the number of concurrent tasks per queue can be limited.
In the embodiment of the invention, the cloud storage adaptation module stores interface calling methods (realized based on the platform SDK) of different cloud storage platforms, parameters required to be provided by a user (for example, for an AWS 3 platform, information such as Bucket, Key, Access Key and the like is required), and parameter transcoding rules. The main workflow of the adaptation module is as follows:
1. and acquiring necessary parameters and conversion rules according to a cloud storage platform provided by a user.
2. Verifying whether the user-supplied parameters are complete.
3. And converting the parameters provided by the user into the format of the parameters required by the cloud storage interface according to the parameter conversion rule.
4. And downloading and uploading the multimedia file by using the interface obtained by adaptation.
The embodiment of the invention provides a multimedia transcoding method and a multimedia transcoding system. The problem that the transcoding efficiency of the existing multimedia transcoding system is low and the requirement of a large number of transcoding of different cloud storage platforms cannot be met is solved, and the high-flexibility transcoding of multimedia files which can adapt to different format requirements of different cloud storage platforms is realized. The technical scheme provided by the embodiment of the invention can be seamlessly adapted to different cloud storage platforms. When the user changes the cloud storage platform, only the cloud storage provider and the related parameters in the parameters need to be changed. Through the manageable transcoding task queues with different priorities, more flexible priority control and better concurrency performance are realized. And the queues are isolated, so that the influence of the pressure of a single user on the overall performance is avoided. All modules in the system are arranged across IDCs, and the reliability of the system is improved.
The above-described aspects may be implemented individually or in various combinations, and such variations are within the scope of the present invention.
Finally, it should be noted that: the above examples are only for illustrating the technical solutions of the present invention, and are not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (10)

1. A method of multimedia transcoding, comprising:
when receiving a transcoding creating request submitted by a user, a front-end interface server extracts task parameters in the transcoding creating task request and generates a transcoding task; a verification module in the front-end interface server verifies the request validity according to the signature information carried in the user request, and writes the transcoding task into a corresponding queue of the database after the request is confirmed to be valid;
managing the generated transcoding task through at least one queue, wherein different queues have different priorities; the transcoding server is adapted to obtain an interface corresponding to the cloud storage platform according to the cloud storage platform specified in the transcoding task;
downloading a multimedia source file related to the transcoding task to the local through the interface, and transcoding according to the transcoding task to obtain a transcoded file;
uploading the transcoded file to the cloud storage platform through the interface;
the method for the transcoding server to obtain the interface corresponding to the cloud storage platform in an adaptive mode according to the cloud storage platform specified in the transcoding task comprises the following steps:
the transcoding server acquires an identity key of a corresponding cloud storage platform according to the cloud storage platform indicated by the user and the transcoding task;
and selecting a corresponding interface according to the identity key of the cloud storage platform and the cloud storage platform appointed in the transcoding task.
2. The multimedia transcoding method of claim 1, wherein the step of adapting, by the transcoding server, the interface corresponding to the cloud storage platform according to the cloud storage platform specified in the transcoding task further comprises:
and receiving the identity keys of the cloud storage platforms provided by the user, and establishing an association relation among the user, the cloud storage platforms and the identity keys of the cloud storage platforms.
3. The method for transcoding multimedia as claimed in claim 2, wherein the transcoding task carries task parameters, and the task parameters at least include any one or more of the following parameters:
the device comprises a queue ID, a template ID, a cloud storage platform, a multimedia source file address and transcoding output parameters.
4. The multimedia transcoding method of claim 1, wherein before the step of adapting, by the transcoding server, the interface corresponding to the cloud storage platform according to the cloud storage platform specified in the transcoding task, the method further comprises:
and selecting idle transcoding servers to execute the transcoding task according to the load state of each transcoding server in the transcoding server cluster.
5. The method of multimedia transcoding of claim 1, wherein the step of selecting a more idle transcoding server to perform the transcoding task according to the load status of each transcoding server in the cluster of transcoding servers further comprises:
and selecting one transcoding task from the queue with higher priority as the current transcoding task to be executed.
6. A multimedia transcoding system comprises a plurality of cloud storage platforms using different coding formats, and is characterized by further comprising a transcoding server cluster, wherein the transcoding server cluster comprises a plurality of transcoding servers;
the transcoding server in the transcoding server cluster is used for obtaining an interface corresponding to the cloud storage platform in an adaptive manner according to the cloud storage platform designated in the transcoding task, downloading the multimedia source file related to the transcoding task to the local through the interface, transcoding according to the transcoding task to obtain a transcoded file, and uploading the transcoded file to the cloud storage platform through the interface;
the system also comprises a front-end interface server cluster, wherein the front-end interface server cluster comprises a plurality of front-end interface servers;
the front-end interface server in the front-end interface server cluster is used for extracting task parameters in a transcoding task creating request and generating a transcoding task when the transcoding task creating request submitted by a user is received; a verification module in the front-end interface server verifies the request validity according to the signature information carried in the user request, and writes the transcoding task into a corresponding queue of the database after the request is confirmed to be valid;
the system also includes a distributed database cluster containing a plurality of database instances;
the front-end interface server cluster is used for writing the generated transcoding task into the distributed database cluster, and managing the generated transcoding task through at least one queue, wherein different queues have different priorities;
the database instance in the distributed database cluster is used for storing the generated transcoding task and the generated transcoding task queue;
the transcoding server is specifically configured to obtain an identity key of a corresponding cloud storage platform according to a user and the cloud storage platform indicated by the transcoding task, and select a corresponding interface according to the identity key of the cloud storage platform and a cloud storage platform specified in the transcoding task.
7. The multimedia transcoding system of claim 6,
the transcoding server is further used for receiving the identity keys of the cloud storage platforms provided by the user and establishing an association relationship among the user, the cloud storage platforms and the identity keys of the cloud storage platforms.
8. The multimedia transcoding system of claim 7, wherein the transcoding task carries task parameters, and the task parameters at least include any one or more of the following parameters:
the device comprises a queue ID, a template ID, a cloud storage platform, a multimedia source file address and transcoding output parameters.
9. The multimedia transcoding system of claim 6, further comprising a task scheduling server cluster, wherein the task scheduling server cluster comprises a plurality of task allocation servers;
and the task allocation servers in the task scheduling server cluster are used for selecting idle transcoding servers to execute the transcoding tasks according to the load states of all the transcoding servers in the transcoding server cluster.
10. The multimedia transcoding system of claim 6,
and the task allocation server in the task scheduling server cluster is also used for selecting a transcoding task from the queue with higher priority as the current transcoding task to be executed.
CN201710620933.4A 2017-07-27 2017-07-27 Multimedia transcoding method and system Active CN109309646B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710620933.4A CN109309646B (en) 2017-07-27 2017-07-27 Multimedia transcoding method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710620933.4A CN109309646B (en) 2017-07-27 2017-07-27 Multimedia transcoding method and system

Publications (2)

Publication Number Publication Date
CN109309646A CN109309646A (en) 2019-02-05
CN109309646B true CN109309646B (en) 2021-04-27

Family

ID=65201754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710620933.4A Active CN109309646B (en) 2017-07-27 2017-07-27 Multimedia transcoding method and system

Country Status (1)

Country Link
CN (1) CN109309646B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901566A (en) * 2020-07-29 2020-11-06 浪潮云信息技术股份公司 Monitoring data storage system and storage method
CN112035405B (en) * 2020-08-29 2023-10-13 平安科技(深圳)有限公司 Document transcoding method and device, scheduling server and storage medium
CN113938681B (en) * 2021-09-26 2024-08-27 浪潮云信息技术股份公司 System and method for controlling video code rate in multiple modes
CN115277579B (en) * 2022-07-25 2024-03-19 广州品唯软件有限公司 Warehouse video calling method and cloud platform

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868707A (en) * 2011-07-04 2013-01-09 腾讯科技(深圳)有限公司 Method and system for downloading and transcoding file
CN105049505A (en) * 2015-07-09 2015-11-11 上海爱数软件有限公司 Method and system for adapting various kinds of cloud storage interfaces
US10419798B2 (en) * 2015-12-28 2019-09-17 Synchronoss Technologies, Inc. Method and apparatus for just-in-time transcoding
CN106101258B (en) * 2016-07-08 2021-05-25 腾讯科技(深圳)有限公司 Interface calling method, device and system of hybrid cloud
CN106973306A (en) * 2017-02-14 2017-07-21 北京时间股份有限公司 Distributed trans-coding method, apparatus and system

Also Published As

Publication number Publication date
CN109309646A (en) 2019-02-05

Similar Documents

Publication Publication Date Title
CN109309646B (en) Multimedia transcoding method and system
US20200204641A1 (en) Queue processor for document servers
US10587772B2 (en) Configurable document server
US11132213B1 (en) Dependency-based process of pre-existing data sets at an on demand code execution environment
US9607003B2 (en) Network coded storage with multi-resolution codes
US8488448B2 (en) System and method for message sequencing in a broadband gateway
WO2007053720A2 (en) Queue processor for document servers
CN102859961B (en) There is the distributed video transcoding system of adaptive file process
CN111901230B (en) Internet of things gateway and system supporting equipment access verification and equipment access verification method
CN111736775A (en) Multi-source storage method, device, computer system and storage medium
CN112055078B (en) Data transmission method, device, computer equipment and storage medium
CN106375471B (en) Edge node determination method and device
CN111491037A (en) Communication method with object storage server through SFTP data stream
CN113364888B (en) Service scheduling method, system, electronic device and computer readable storage medium
US10750125B2 (en) Automatic deployment of distributed video conference system
CN104092627A (en) Bandwidth adjusting method and device
CN101964776A (en) Method, client and system for customizing IMS (Information Management System) service
CN102026097A (en) Service configuration fragment acquisition method and server
CN112261125A (en) Centralized unit cloud deployment method, device and system
CN103092932A (en) Distributed document transcoding system
US9438693B2 (en) System and method for message retry in a broadband gateway
Jeon et al. User centric content management system for open IPTV over SNS
CN112380040B (en) Message processing method and device, electronic equipment and storage medium
CN101800751B (en) Distributed real-time data-coding transmission method
CN110428254B (en) Decentralized storage downloading method and arbitration method, equipment and storage medium

Legal Events

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