CN103458270A - Video transcoding system and method - Google Patents

Video transcoding system and method Download PDF

Info

Publication number
CN103458270A
CN103458270A CN2013104096884A CN201310409688A CN103458270A CN 103458270 A CN103458270 A CN 103458270A CN 2013104096884 A CN2013104096884 A CN 2013104096884A CN 201310409688 A CN201310409688 A CN 201310409688A CN 103458270 A CN103458270 A CN 103458270A
Authority
CN
China
Prior art keywords
transcoding
video
module
task
slicing
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.)
Granted
Application number
CN2013104096884A
Other languages
Chinese (zh)
Other versions
CN103458270B (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.)
Shenzhen Atte Smart Life Co ltd
Original Assignee
Shenzhen Temobi Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Temobi Science and Technology Co Ltd filed Critical Shenzhen Temobi Science and Technology Co Ltd
Priority to CN201310409688.4A priority Critical patent/CN103458270B/en
Publication of CN103458270A publication Critical patent/CN103458270A/en
Application granted granted Critical
Publication of CN103458270B publication Critical patent/CN103458270B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention provides a video transcoding system. The video transcoding system comprises a scheduling module, a slicing module, a transcoding module and a combining module. The scheduling module is used for generating slicing tasks of a video source file. The slicing module is used for executing the slicing tasks and slicing the video source file to acquire a plurality of video subfiles. The scheduling module is further used for generating transcoding subtasks corresponding to the video subfiles. The transcoding module is used for executing the transocding subtasks and transcoding the video subfiles to acquire a plurality of corresponding transcoded subfiles. The scheduling module is further used for generating combining tasks corresponding to the transcoded subfiles. The combining module is used for executing the combining tasks and combining the transcoded subfiles to acquire combined transcoding video files. According to the video transcoding system, the multiple transcoding subtasks can be processed in parallel, and therefore efficiency for transcoding videos is greatly improved. The invention further provides a video transcoding method.

Description

Video transcoding system and method
Technical Field
The invention relates to the technical field of image processing, in particular to a video transcoding system and a video transcoding method.
Background
At present, for various reasons such as different application fields, different requirements of users, different used playing terminals and the like, transcoding is required to be performed on a video source file to obtain a video file meeting the requirements. For example, in the fields of traffic, security, monitoring, movies and the like, the requirement on video quality is high, and the video is required to have high resolution and code rate; due to the limited storage space of the mobile device, the mobile device generally needs to transcode the video source file into a video file with lower resolution so as to reduce the storage space occupied by the video and facilitate transmission.
The inventor finds that in the traditional transcoding method, only one available resource corresponding to a transcoding module can be used for transcoding a video transcoding task of a video source file, the transcoding efficiency is low, and the situation of low transcoding efficiency is more obvious when a video source file is larger.
Disclosure of Invention
Based on this, it is necessary to provide a video transcoding system and method aiming at the problem of low transcoding efficiency of the conventional video transcoding method.
A video transcoding system comprises a scheduling module, a slicing module, a transcoding module and a film combining module; wherein,
the scheduling module is used for generating a slicing task of a video source file;
the slicing module is used for executing the slicing task to slice the video source file to obtain a plurality of video subfiles;
the scheduling module is further used for generating a transcoding subtask corresponding to each video subfile;
the transcoding module is used for executing the transcoding subtask to transcode each video subfile to obtain a plurality of corresponding transcoding subfiles;
the scheduling module is further used for generating a film combining task corresponding to the transcoding subfile;
and the film combining module is used for executing the film combining task to combine the plurality of transcoding sub-files to obtain a combined transcoding video file.
A method of video transcoding, the method comprising:
generating a slicing task of a video source file;
executing the slicing task to slice the video source file to obtain a plurality of video subfiles;
generating a transcoding subtask corresponding to each of the video subfiles;
executing the transcoding subtask to transcode each video subfile to obtain a plurality of corresponding transcoding subfiles;
generating a film combining task corresponding to the transcoding subfile;
and executing the film combination task to combine the plurality of transcoding sub-files to obtain a combined transcoding video file.
According to the video transcoding system and method, the slicing module executes the slicing task to slice the video source file to obtain the plurality of video subfiles, the transcoding module executes the transcoding subtask to transcode each video subfile to obtain the corresponding plurality of transcoding subfiles, and the film combining module executes the film combining task to combine the plurality of transcoding subfiles to obtain the combined transcoded video file. Compared with the transcoding subtasks, the slicing task and the film combining task have little time, and have little influence on the efficiency of the whole video transcoding process. A large video transcoding task originally corresponding to a video source file is converted into a plurality of small transcoding subtasks, and the plurality of small transcoding subtasks can be processed in parallel through a plurality of transcoding modules and/or a plurality of available resources corresponding to the transcoding modules, so that the video transcoding efficiency is greatly improved.
Drawings
Fig. 1 is a block diagram of a video transcoding system in one embodiment;
FIG. 2 is a block diagram of a scheduling module of one embodiment of FIG. 1;
FIG. 3 is a block diagram of a scheduling module according to another embodiment of FIG. 1;
FIG. 4 is a diagram of allocating available resources for a slicing task in one embodiment;
FIG. 5 is a diagram that illustrates a set of resources shared by a slice task and a slice join task in one embodiment;
fig. 6 is a flowchart illustrating a video transcoding method according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
As shown in fig. 1, in one embodiment, a video transcoding system is provided that includes a scheduling module 102, a slicing module 104, a transcoding module 106, and a stitching module 108.
The scheduling module 102 is configured to generate a slicing task of a video source file.
The scheduling module 102 generates a slicing task of the video source file after receiving a video transcoding task for transcoding the video source file, where the slicing task is used to cut the video source file into a plurality of video subfiles. One video source file corresponds to one slicing task, and when a plurality of video source files, namely a plurality of video transcoding tasks, are available, a plurality of corresponding slicing tasks are generated.
The slicing module 104 is configured to perform a slicing task to slice the video source file to obtain a plurality of video subfiles.
The scheduling module 102 sends the generated slicing tasks to the slicing module 104, and the slicing module 104 may be one or more and may be configured as needed. The slicing module 104 invokes the available resources to perform a slicing task to slice the video source file to obtain a plurality of video subfiles. After the slicing module 104 completes the slicing task, the scheduling module 102 returns a feedback of the completion of the slicing, so that the scheduling module 102 can continue the subsequent processing.
The scheduling module 102 is further configured to generate a transcoding subtask corresponding to each video subfile.
After the video subfiles are obtained after slicing is completed, the scheduling module 102 generates a transcoding subtask corresponding to each video subfile, and the transcoding subtask is used for transcoding the corresponding video subfile into a transcoding subfile.
When a video transcoding task corresponding to a video source file correspondingly outputs a transcoded video file, namely a transcoded video file corresponding to transcoding specification information is output, one video sub-file corresponds to one transcoding sub-task; and if the multi-channel video file is correspondingly output, namely the transcoding video files corresponding to the multiple transcoding specification information are output, one video subfile corresponds to the multiple transcoding subtasks, and the number of the transcoding subtasks corresponding to one video subfile is the same as the number of the types of the transcoding specification information.
The transcoding specification information is video parameters of a transcoded video file obtained after transcoding, and includes but is not limited to at least one of frame rate, code rate, resolution, coding format and the like. And for the transcoding subtasks corresponding to one video subfile, different transcoding specification information respectively correspond to different transcoding subtasks, and the transcoding subfiles corresponding to the transcoding specification information are obtained after transcoding. For example, if the number of the video subfiles is M and the number of the types of the transcoding specification information is O, the number of the generated transcoding subtasks is M × O, and M × O available resources are required to execute the transcoding subtasks, so that M × O transcoding subfiles respectively corresponding to different transcoding specification information are obtained.
The transcoding module 106 is configured to execute a transcoding subtask to transcode each video subfile, and obtain a plurality of corresponding transcoding subfiles.
After the scheduling module 102 generates a transcoding subtask corresponding to each video subfile, the generated transcoding subtask is sent to the transcoding module 106. Transcoding module 106 may be one or more and may be configured as desired. Transcoding module 106 invokes the available resources to perform a transcoding subtask to transcode the video subfile, and obtains a plurality of corresponding transcoded subfiles. After completing the transcoding subtask, transcoding module 106 returns a feedback of completed transcoding to scheduling module 102, thereby facilitating scheduling module 102 to continue subsequent processing.
The scheduling module 102 is further configured to generate a slicing task corresponding to the transcoding subfile.
After transcoding the video subfiles into the transcoding subfiles, the scheduling module 102 generates a mashup task corresponding to the transcoding subfiles, where the mashup task is used to merge the corresponding transcoding subfiles into the transcoded video files.
The combining module 108 is configured to perform a combining task to combine the multiple transcoding sub-files, and obtain a combined transcoding video file.
The stitching module 108 may be one or more, and may be configured as desired. After receiving the mashup task generated by the scheduling module 102, the mashup module 108 executes the mashup task to merge the multiple transcoding subfiles, so as to obtain a merged transcoded video file. The stitching module 108 returns a feedback of the completion of the stitching to the scheduling module 102 after completing the stitching task, so that the scheduling module 102 can continue to perform subsequent processing conveniently.
In one embodiment, the video source file, the video subfile and the transcoding subfile are stored in a common storage, and read-write operation is performed according to the storage address of the video source file, the video subfile or the transcoding subfile when needed. The method can avoid the loss of transmission resources and time caused by the transmission of a large amount of data, and improve the video transcoding efficiency.
Static pressure tests on the slicing module 104, the transcoding module 106 and the combining module 108 show that when a task is not executed, the number of available resources corresponding to a single slicing module 104, transcoding module 106 or combining module 108 is consistent with the number of CPU cores of a terminal corresponding to the slicing module 104, transcoding module 106 or combining module 108.
According to the video transcoding system, the slicing module executes the slicing task to slice a video source file to obtain a plurality of video subfiles, the transcoding module executes the transcoding subtask to transcode each video subfile to obtain a plurality of corresponding transcoding subfiles, and the film combining module executes the film combining task to combine the plurality of transcoding subfiles to obtain a combined transcoded video file. Compared with the transcoding subtasks, the slicing task and the film combining task have little time, and have little influence on the efficiency of the whole video transcoding process. A large video transcoding task originally corresponding to a video source file is converted into a plurality of small transcoding subtasks, and the plurality of small transcoding subtasks can be processed in parallel through a plurality of transcoding modules and/or a plurality of available resources corresponding to the transcoding modules, so that the video transcoding efficiency is greatly improved.
In an embodiment, the scheduling module 102 is further configured to generate a slicing task corresponding to the transcoding subfile corresponding to the same transcoding specification information after the transcoding subtask corresponding to the same transcoding specification information is completed.
The film combining module 108 is further configured to execute a film combining task corresponding to the same transcoding specification information, combine the multiple transcoding subfiles corresponding to the same transcoding specification information, and obtain a combined transcoding video file corresponding to the same transcoding specification information.
In this embodiment, when a transcoded video file corresponding to multiple transcoding specification information needs to be output, the scheduling module 102 may generate a slicing task corresponding to the transcoding sub-file corresponding to the same transcoding specification information after all transcoding sub-tasks corresponding to the same transcoding specification information are completed. The film combining module 108 executes a film combining task corresponding to the same transcoding specification information, so as to combine a plurality of transcoding sub-files corresponding to the same transcoding specification information, and obtain a combined transcoding video file corresponding to the same transcoding specification information.
In the embodiment, the transcoding sub-files corresponding to one transcoding specification information can be combined without waiting for the completion of all transcoding sub-tasks, so that the corresponding transcoded video transcoding files are obtained, and the video transcoding efficiency is improved.
As shown in fig. 2, in one embodiment, the scheduling module 102 includes a calculating module 102a, configured to calculate an expected number of video subfiles according to a preset slice threshold and/or a total number of resources corresponding to the transcoding module; the resource pre-allocation module 102b is used for pre-allocating the number of available resources for transcoding according to the number of predicted video sub-files, and the pre-allocated available resources correspond to the transcoding module 106; and the resource pre-allocation updating module 102c is configured to obtain the number of the video subfiles, and update the number of the pre-allocated available resources according to the number of the video subfiles.
In this embodiment, the preset slice threshold may be the size or the number of slices of a single video subfile. If the preset slice threshold is the size of a single video subfile of 100MB (megabytes) and the video source file size is 900MB, the number of video subfiles is expected to be 900/100= 9; if the preset slice threshold is 9 slices, the number of the video subfiles is expected to be 9. Available resources corresponding to the transcoding pre-allocation transcoding module 106 can be allocated for transcoding before the slicing module 104 executes the slicing task, so that the transcoding module 106 has enough preparation time, and when the transcoding module 106 executes the transcoding subtask, enough available resources execute the transcoding subtask, thereby improving the efficiency of video transcoding.
The resource pre-allocation module 102b is configured to pre-allocate the number of available resources for transcoding according to the number of predicted video sub-files, where the pre-allocated available resources correspond to the transcoding module 106. If only one path of output is available, the number of the pre-allocated available resources is equal to the number of the predicted video subfiles; if there is a plurality of output channels, the number of available resources pre-allocated is equal to the product of the number of the predicted video sub-files and the number of the types of the transcoding specification information. It should be noted that, since no slice is generated at this time, the number of pre-allocated available resources is a total amount, and does not correspond to each transcoding subtask.
And the resource pre-allocation updating module 102c is configured to obtain the number of the video subfiles after slicing, and update the pre-allocated available resources according to the number of the video subfiles. Since the actual number of the video subfiles (which is the actual number of the video subfiles) is not necessarily the same as the expected number of the video subfiles, the number of pre-allocated available resources needs to be updated according to the number of the video subfiles after the slicing task is completed, thereby avoiding resource waste due to excessive pre-allocation of resources.
In one embodiment, the calculation module 102a is configured to calculate the number of predicted video subfiles according to a preset slice threshold and a total number of resources corresponding to the transcoding module 106. In this embodiment, the preset slice threshold is the size of a preset single video subfile. Specifically, the calculating module 102a is configured to divide the file size of the video source file by the total number of resources corresponding to the transcoding module 106 to obtain an intermediate value, and if the intermediate value is greater than the slice threshold, predict that the number of video subfiles is equal to the total number of resources corresponding to the transcoding module 106; conversely, if the intermediate value is not greater than the slice threshold, then the number of video subfiles is expected to be equal to the file size of the video source file divided by the value of the slice threshold. The total number of resources corresponding to the transcoding module 106 herein refers to the total number of resources (including used and available resources) corresponding to all the transcoding modules 106, for example, if there are 4 transcoding modules 106 and each transcoding module 106 corresponds to 4 available resources, the total number of resources corresponding to the transcoding module 106 is 16.
In this embodiment, the predicted number of video subfiles is calculated according to the preset slice threshold and the total number of resources corresponding to the transcoding module 106, so that it can be ensured that the predicted number of video subfiles is always greater than or equal to the actual number of video subfiles, and thus it can be ensured that resources pre-allocated for transcoding are sufficient. After the slicing task is completed, the resource pre-allocation updating module 102c obtains the number of the video subfiles, updates the pre-allocated available resources according to the number of the video subfiles, releases the available resources which are not used, and avoids the waste of resources.
It should be noted that there may be a gap between the estimated video sub-file number obtained by calculation and the actual video sub-file number. Therefore, the scheduling module 102 is further configured to obtain the number of video sub-files from the slicing module 104, and adjust the available resources corresponding to the pre-allocated transcoding module 106 according to the obtained number of video sub-files. The pre-allocated available resources are adjusted by acquiring the actual number of the video subfiles, so that the waste of the available resources can be avoided.
In an embodiment, the scheduling module 102 is further configured to obtain transcoding specification information corresponding to the transcoding subtask, and estimate transcoding time consumption corresponding to the transcoding subtask according to the obtained transcoding specification information; and allocating available resources corresponding to the transcoding module 106 for the corresponding transcoding subtasks in the order from high to low in transcoding time consumption.
Different transcoding specification information can cause a large difference in transcoding time consumption corresponding to the transcoding subtask, for example, video parameters such as frame rate, code rate, resolution ratio and the like are positively correlated with transcoding time consumption, the frame rate is high, the code rate is high, or the resolution ratio is high, and the transcoding time consumption of the corresponding transcoding subtask is large.
In this embodiment, available resources corresponding to the transcoding module 106 are allocated to the corresponding transcoding subtasks in the order from high to low in transcoding time consumption, and available resources are preferentially allocated to the transcoding subtasks consuming more transcoding time, so that the transcoding subtasks consuming more time can be executed first, and overall, the time difference between the completion of all the transcoding subtasks is not large, so that time is saved and transcoding efficiency is improved compared with the case that the transcoding subtasks are not sent according to the transcoding time consumption sequence.
As shown in fig. 3, in an embodiment, the scheduling module 102 includes a slice task scheduling module 102d, configured to obtain the number of available resources corresponding to the slice module 104, and schedule a slice task to the corresponding slice module 104 according to the number of available resources corresponding to the slice module 104.
The available resource corresponding to the slicing module 104 can only execute one slicing task, the resource is an already used resource when the slicing task is executed, the resource is released after the slicing task is executed, and the resource becomes an available resource again.
In this embodiment, a plurality of video source files are sliced to obtain the number of available resources corresponding to the slicing module 104, and a slicing task can be scheduled reasonably according to the obtained number of available resources corresponding to the slicing module 104. For example, each slicing module 104 may be sent slicing tasks that are consistent with the number of available resources corresponding to that slicing module 104. Specifically, if one slicing module 104 corresponds to 2 available resources, 2 slicing tasks may be allocated to the slicing module 104 first. The slicing tasks are sent according to the number of available resources of the slicing modules 104, so that each slicing module 104 can be guaranteed to have enough available resources to execute the slicing tasks, slicing efficiency can be improved, and further the transcoding efficiency of the whole video is improved.
In one embodiment, the slicing task scheduling module 102d is further configured to obtain the number of available resources corresponding to the slicing module 104; and scheduling a slice task to the slice module 104 corresponding to the maximum available resource number, and continuously acquiring the available resource number corresponding to the slice module 104 until all slice tasks are scheduled.
Specifically, the transmission of the slicing task is suspended when there is no available resource, and is continued until there is available resource. When the number of available resources corresponding to the plurality of slicing modules 104 is the same, the slicing modules 104 may be selected to allocate slicing tasks in a predetermined order or randomly.
In an embodiment, the slice task scheduling module 102d is further configured to, before continuously acquiring the number of available resources corresponding to the slice module 104, acquire the number of available resources corresponding to the transcoding module 106, determine whether the number of available resources corresponding to the currently acquired transcoding module 106 is greater than the number of pre-allocated available resources corresponding to the scheduled slice task, and if so, execute to continuously acquire the number of available resources corresponding to the slice module 104 until all slice tasks are scheduled.
In this embodiment, after the transcoding subtask corresponding to the scheduled slice task is scheduled to the transcoding module 106, the number of pre-allocated available resources corresponding to the slice task is correspondingly reduced. Specifically, after a transcoding subtask corresponding to the slicing task is scheduled to the transcoding module 106, the number of pre-allocated available resources corresponding to the slicing task is reduced by 1. If the number of available resources corresponding to the currently acquired transcoding module 106 is greater than the number of pre-allocated available resources corresponding to the scheduled slicing task, it is described that the scheduled slicing task is completed, and then a corresponding transcoding subtask is generated, and the transcoding module 106 has a sufficient number of available resources to execute the corresponding transcoding subtask, and at this time, the slicing task may be continuously scheduled. On the contrary, if the number of available resources corresponding to the currently acquired transcoding module 106 is not greater than the number of pre-allocated available resources corresponding to the scheduled slicing task, which indicates that after the scheduled slicing task is completed, the transcoding module 106 does not have or has just enough available resources to execute the corresponding transcoding subtask, at this time, the scheduling of the slicing task may be suspended, and when the number of available resources corresponding to the to-be-acquired transcoding module 106 is greater than the number of pre-allocated available resources corresponding to the scheduled slicing task, the process of continuously acquiring the number of available resources corresponding to the slicing module 104 is performed again until all the slicing tasks are scheduled. The slicing task and the subsequent corresponding transcoding subtasks are prevented from being accumulated and cannot be executed in time, excessive storage and operation resources are occupied, and the storage resources and the operation resources are saved.
For example, as shown in fig. 4, in the left diagram of fig. 2, the number of used resources corresponding to the slicing modules 1 to 4 is 2, 3, and 2, respectively, and the number of available resources corresponding to the slicing modules 1 and 4 is 2, 1, and 2, respectively, it can be seen that at this time, the number of available resources corresponding to the slicing modules 1 and 4 is the largest, and the slicing task may be preferentially allocated to the slicing module 1 or the slicing module 4. If a slice task is scheduled to the slice module 1 first, as shown in the right diagram of fig. 2, the number of available resources corresponding to the slice modules 1 to 4 is 1, and 2, respectively, and then a slice task may be scheduled to the slice module 4. And the like until all slicing tasks are scheduled.
In this embodiment, the slicing tasks are sent to the slicing module 104 corresponding to the largest available resource number one by one and executed, so that the number of the slicing tasks executed by each slicing module 104 can be ensured to be approximately balanced, and resource waste caused by uneven distribution of the slicing tasks is avoided.
Referring to fig. 3, the scheduling module 102 further includes a transcoding subtask scheduling module 102e, configured to obtain the number of available resources corresponding to the transcoding module 106, and schedule a transcoding subtask to the corresponding transcoding module 106 according to the number of available resources corresponding to the transcoding module 106.
One available resource corresponding to the transcoding module 106 can only execute one transcoding subtask, the resource is a used resource when the transcoding subtask is executed, the resource is released after the transcoding subtask is executed, and the resource becomes an available resource again.
In this embodiment, the number of available resources corresponding to the transcoding module 106 is obtained, and the transcoding subtasks can be reasonably scheduled according to the obtained number of available resources corresponding to the transcoding module 106. For example, a transcoding subtask consistent with the number of available resources corresponding to the transcoding module 106 may be sent to each transcoding module 106. And the transcoding subtasks are sent according to the number of available resources of the transcoding modules 106, so that each transcoding module 106 can be ensured to have enough available resources to execute the transcoding subtasks, the efficiency of transcoding the video subfiles can be improved, and the efficiency of transcoding the whole video can be improved.
In one embodiment, the transcoding subtask scheduling module 102e is further configured to obtain the number of available resources corresponding to the transcoding module 106; and scheduling a transcoding subtask to the transcoding module 106 corresponding to the maximum available resource number, and continuously acquiring the available resource number corresponding to the transcoding module 106 until all transcoding subtasks are scheduled.
Specifically, the transcoding subtask is suspended from being sent when there are no available resources until the transcoding subtask continues to be sent when there are available resources. When the number of available resources corresponding to the plurality of transcoding modules 106 is the same, the transcoding modules 106 may be selected to allocate the transcoding subtasks in a predetermined order or randomly.
In this embodiment, the transcoding subtasks are sent to the transcoding module 106 corresponding to the largest available resource number one by one and executed, so that the number of the transcoding subtasks executed by each transcoding module 106 can be ensured to be approximately balanced, and resource waste caused by uneven allocation of the transcoding subtasks is avoided.
Referring to fig. 3, the scheduling module 102 further includes a stitching task scheduling module 102f, configured to obtain the number of available resources corresponding to the stitching module 108, and schedule a stitching task to the corresponding stitching module 108 according to the number of available resources corresponding to the stitching module 108.
The available resource corresponding to the combining module 108 can only execute one combining task, the resource is used when the combining task is executed, the resource is released after the combining task is executed, and the resource becomes available resource again.
In this embodiment, the number of available resources corresponding to the combining module 108 is obtained, and the combining task can be scheduled reasonably according to the number of available resources corresponding to the obtained combining module 108. For example, a stitching task consistent with the number of available resources corresponding to the stitching module 108 may be sent to each stitching module 108. And sending the film combining task according to the number of available resources of the film combining module 108, so that each film combining module 108 can be ensured to have enough available resources to execute the film combining task, the efficiency of transcoding the video subfiles can be improved, and the efficiency of transcoding the whole video can be improved.
In an embodiment, the stitching task scheduling module 102e is further configured to obtain the number of available resources corresponding to the stitching module 108; and scheduling a piece combining task to the piece combining module 108 corresponding to the maximum available resource number, and continuously acquiring the available resource number corresponding to the piece combining module 108 until all piece combining tasks are scheduled.
Specifically, the sending of the stitching task is suspended when there are no available resources, and the sending of the stitching task is continued until there are available resources. When the number of available resources corresponding to the plurality of combining modules 108 is the same, the combining modules 108 may be selected to allocate the combining tasks according to a predetermined order or randomly.
In this embodiment, the stitching tasks are sent to the stitching module 108 corresponding to the largest available resource number one by one and executed, so that the number of the stitching tasks executed by each stitching module 108 can be ensured to be approximately balanced, and resource waste caused by uneven distribution of the stitching tasks is avoided.
In one embodiment, the video transcoding method further comprises: the scheduling module 102 regularly queries the slicing module 104, the transcoding module 106 and the combining module 108 for task completion progress; and after receiving an instruction for stopping a video transcoding task of the target video source file, sending a stop command to a module executing a task related to the target video source file according to the task completion progress obtained by the query. The module herein refers to at least one of the slicing module 104, the transcoding module 106, and the stitching module 108. The video transcoding task is a task in the process of generating a video transcoding file according to a target video source file.
In this embodiment, the task completion progress is regularly queried for the slicing module 104, the transcoding module 106, and the combining module 108, so that the task progress can be known, and after an instruction for stopping the video transcoding task is received, a stop command is sent to the module executing the task related to the target video source file according to the task completion progress obtained through querying, so that the video transcoding task can be stopped, and the progress of the whole video transcoding task can be conveniently controlled.
In one embodiment, the slicing task and the stitching task may share a set of resources. The shared resource set refers to a set of resources that can be used for both slicing and slicing tasks, but can still only execute one task by the same resource at the same time.
For example, referring to fig. 5, slice module 1 and slice combining module 1 correspond to common resource set 1, slice module 2 and slice combining module 2 correspond to common resource set 2, slice module 3 and slice combining module 3 correspond to common resource set 3, and slice module 4 and slice combining module 4 correspond to common resource set 4. Referring to the left diagram of fig. 5, a common resource set 1 is executing one slice task and one slice task, a common resource set 2 is executing 2 slice tasks and one slice task, a common resource set 3 is executing 2 slice tasks and 1 slice task, and a common resource set 4 is executing 2 slice tasks, so the number of available resources of the common resource sets 1-4 is 2, 1, and 2, respectively. At this time, if the slice task is transmitted, the slice task may be transmitted to the slice module 1, and referring to the right diagram in fig. 5, the number of available resources corresponding to the shared resource set 1 becomes 1. If the slicing task is sent again, the slicing task can be sent to the slicing module 4, and the number of available resources of the shared resource set 4 becomes 1. In the embodiment, the slicing task and the slice combining task can share the resource set, so that the resources are saved.
As shown in fig. 6, in one embodiment, there is provided a video transcoding method, including:
step 602, a slicing task of a video source file is generated.
The scheduling module receives a video transcoding task for transcoding a video source file, and then generates a slicing task of the video source file, wherein the slicing task is used for cutting the video source file into a plurality of video subfiles. One video source file corresponds to one slicing task, and when a plurality of video source files, namely a plurality of video transcoding tasks, are available, a plurality of corresponding slicing tasks are generated.
And step 604, executing a slicing task to slice the video source file to obtain a plurality of video subfiles.
And the scheduling module sends the generated slicing tasks to the slicing module, and the slicing module calls available resources to execute the slicing tasks so as to slice the video source file and obtain a plurality of video subfiles.
Step 606, generating a transcoding subtask corresponding to each video subfile.
After the video subfiles are obtained after slicing is completed, the scheduling module generates a transcoding subtask corresponding to each video subfile, and the transcoding subtask is used for transcoding the corresponding video subfile into a transcoding subfile.
When a video transcoding task corresponding to a video source file correspondingly outputs a transcoded video file, namely a transcoded video file corresponding to transcoding specification information is output, one video sub-file corresponds to one transcoding sub-task; and if the multi-channel video file is correspondingly output, namely the transcoding video files corresponding to the multiple transcoding specification information are output, one video subfile corresponds to the multiple transcoding subtasks, and the number of the transcoding subtasks corresponding to one video subfile is the same as the number of the types of the transcoding specification information.
The transcoding specification information is video parameters of a transcoded video file obtained after transcoding, and includes but is not limited to at least one of frame rate, code rate, resolution, coding format and the like. And for the transcoding subtasks corresponding to one video subfile, different transcoding specification information respectively correspond to different transcoding subtasks, and the transcoding subfiles corresponding to the transcoding specification information are obtained after transcoding.
And 608, performing a transcoding subtask to transcode each video subfile to obtain a plurality of corresponding transcoding subfiles.
And after the scheduling module generates the transcoding subtasks corresponding to each video subfile, the generated transcoding subtasks are sent to the transcoding module. And the transcoding module calls the available resources to execute a transcoding subtask so as to transcode the video subfile and obtain a plurality of corresponding transcoding subfiles.
And step 610, generating a slicing task corresponding to the transcoding subfile.
After the video subfiles are transcoded into the transcoding subfiles, the scheduling module generates a film combining task corresponding to the transcoding subfiles, and the film combining task is used for combining the corresponding transcoding subfiles into the transcoded video files.
And step 612, executing a film combining task to combine the plurality of transcoding sub-files to obtain a combined transcoding video file.
And after receiving the film combination task generated by the scheduling module, the film combination module executes the film combination task so as to combine the plurality of transcoding sub-files and obtain the combined transcoding video file.
In one embodiment, the video source file, the video subfile and the transcoding subfile are stored in a common storage, and read-write operation is performed according to the storage address of the video source file, the video subfile or the transcoding subfile when needed. The method can avoid the loss of transmission resources and time caused by the transmission of a large amount of data, and improve the video transcoding efficiency.
The video transcoding method comprises the steps of executing a slicing task to slice a video source file to obtain a plurality of video subfiles, executing a transcoding subtask to transcode each video subfile to obtain a plurality of corresponding transcoding subfiles, executing a film combining task to combine the plurality of transcoding subfiles, and obtaining a combined transcoded video file. Compared with the transcoding subtasks, the slicing task and the film combining task have little time, and have little influence on the efficiency of the whole video transcoding process. A large video transcoding task originally corresponding to a video source file is converted into a plurality of small transcoding subtasks, video transcoding can be achieved by processing the plurality of small transcoding subtasks in parallel, and video transcoding efficiency is greatly improved.
In one embodiment, the step of performing a slicing task to slice the video source file to obtain a plurality of video subfiles further comprises: calculating the number of predicted video subfiles according to a preset slice threshold value and/or the total number of resources for transcoding; the amount of available resources for transcoding is pre-allocated for transcoding based on the projected number of video sub-files. The step of executing the slicing task to slice the video source file and obtain a plurality of video subfiles further comprises: and acquiring the number of the video subfiles, and updating the number of pre-allocated available resources for transcoding according to the number of the video subfiles.
In this embodiment, the preset slice threshold may be the size or the number of slices of a single video subfile. Available resources for transcoding can be pre-allocated for transcoding before the slicing task is executed, and when the transcoding subtask is executed, sufficient available resources for transcoding are available to execute the transcoding subtask, so that the efficiency of video transcoding is improved.
The amount of available resources for transcoding is pre-allocated for transcoding based on the projected number of video sub-files. If only one path of output exists, the number of available resources for transcoding pre-allocated is equal to the number of predicted video subfiles; if there is a plurality of output channels, the number of available resources for transcoding pre-allocated is equal to the product of the number of predicted video sub-files and the number of types of transcoding specification information. It should be noted that, since no slice is generated at this time, the number of pre-allocated available resources is a total amount, and does not correspond to each transcoding subtask.
And after the slicing is finished, acquiring the number of the video subfiles, and updating the number of the pre-allocated available resources for transcoding according to the number of the video subfiles. Since the actual number of video subfiles (which is the actual number of video subfiles if no special description is given) is not necessarily the same as the expected number of video subfiles, the number of pre-allocated available resources for transcoding needs to be updated according to the number of video subfiles after the slicing task is completed, so that the resource waste caused by excessive pre-allocation of resources is avoided.
In one embodiment, the projected number of video subfiles is calculated based on a preset slice threshold and the total number of resources used for transcoding. In this embodiment, the preset slice threshold is the size of a preset single video subfile. Specifically, a file size of a video source file is divided by the total number of resources used for transcoding to obtain an intermediate value, and if the intermediate value is greater than a slice threshold value, the number of video subfiles is expected to be equal to the total number of resources used for transcoding; conversely, if the intermediate value is not greater than the slice threshold, then the number of video subfiles is expected to be equal to the file size of the video source file divided by the value of the slice threshold. The total number of resources used for transcoding herein refers to the total number of all resources used for transcoding, including used and available resources.
In this embodiment, the predicted number of video subfiles is calculated according to the preset slice threshold and the total number of resources used for transcoding, so that it can be ensured that the predicted number of video subfiles is always greater than or equal to the actual number of video subfiles, and thus it can be ensured that resources pre-allocated for transcoding are sufficient. After the slicing task is completed, the number of the video subfiles is obtained, the pre-distributed available resources are updated according to the number of the video subfiles, the available resources which cannot be used are released, and waste of resources is avoided.
It should be noted that there may be a gap between the estimated video sub-file number obtained by calculation and the actual video sub-file number. Therefore, before the step of performing a transcoding subtask to transcode each video subfile and obtain a plurality of corresponding transcoded subfiles, the method further includes: and acquiring the number of the video subfiles, and adjusting pre-allocated available resources for transcoding according to the number of the acquired video subfiles. The pre-allocated available resources are adjusted by acquiring the actual number of the video subfiles, so that the waste of the available resources can be avoided.
In one embodiment, the step of generating a mashup task corresponding to the transcoding subfile includes: and after the transcoding subtasks corresponding to the same transcoding specification information are finished, generating a film combining task corresponding to the transcoding subfiles corresponding to the same transcoding specification information.
Executing a film combining task to combine a plurality of transcoding sub-files, and obtaining a combined transcoding video file, wherein the step of obtaining the combined transcoding video file comprises the following steps: and executing a film combining task corresponding to the same transcoding specification information, combining a plurality of transcoding sub-files corresponding to the same transcoding specification information, and obtaining a combined transcoding video file corresponding to the same transcoding specification information.
In this embodiment, when a transcoded video file corresponding to multiple transcoding specification information needs to be output, after all transcoding subtasks corresponding to the same transcoding specification information are completed, a film combining task corresponding to the transcoding subtasks corresponding to the same transcoding specification information can be generated. And executing the film combining task corresponding to the same transcoding specification information, thereby combining a plurality of transcoding sub-files corresponding to the same transcoding specification information and obtaining a combined transcoding video file corresponding to the same transcoding specification information.
In the embodiment, the transcoding sub-files corresponding to one transcoding specification information can be combined without waiting for the completion of all transcoding sub-tasks, so that the corresponding transcoded video transcoding files are obtained, and the video transcoding efficiency is improved.
In one embodiment, after the step of generating the transcoding subtask corresponding to each video subfile, the method further includes: acquiring transcoding specification information corresponding to the transcoding subtask, and estimating transcoding time consumption corresponding to the transcoding subtask according to the acquired transcoding specification information; and allocating available resources for transcoding for the corresponding transcoding subtasks in the order from high to low in transcoding time consumption.
In the embodiment, available resources for transcoding are allocated to the corresponding transcoding subtasks in the order from high to low in transcoding time consumption, and available resources are preferentially allocated to the transcoding subtasks which consume more transcoding time, so that the transcoding subtasks which consume more transcoding time can be executed first, the time difference of completion of all the transcoding subtasks is small overall, and compared with the method that transcoding subtasks are not sent according to the transcoding time consumption sequence, the time is saved, and the transcoding efficiency is improved.
In one embodiment, the step of performing a slicing task to slice the video source file to obtain a plurality of video subfiles further comprises: and acquiring the number of available resources for the slice, and allocating the available resources for the slice to the slice task according to the number of the available resources for the slice.
In this embodiment, a plurality of video source files are sliced to obtain the number of available resources for slicing, and the available resources can be reasonably allocated to the slicing task according to the number of the obtained available resources for slicing, so that sufficient available resources can be guaranteed to execute the slicing task, the slicing efficiency can be improved, and the transcoding efficiency of the whole video can be improved.
In one embodiment, the step of acquiring the number of available resources for slicing, and allocating the available resources for slicing to the slicing task according to the number of available resources for slicing specifically includes: the method comprises the steps of obtaining the number of available resources corresponding to a resource set for slicing, allocating one available resource in the resource set for slicing corresponding to the maximum number of available resources for one slicing task, and continuously obtaining the number of available resources corresponding to the resource set for slicing until all slicing tasks are allocated with the available resources.
In one embodiment, before continuing to acquire the number of available resources corresponding to the resource set for the slice, the method further includes: and acquiring the number of available resources corresponding to the resource set for transcoding, judging whether the number of the currently acquired available resources for transcoding is larger than the number of pre-allocated available resources for transcoding corresponding to the slicing task to which the available resources are allocated, and if so, continuing to acquire the number of the available resources corresponding to the resource set for slicing until all the slicing tasks are allocated with the available resources.
In this embodiment, after the available resources for transcoding are allocated to the transcoding subtask corresponding to the slice task to which the available resources have been allocated, the number of pre-allocated available resources corresponding to the slice task is correspondingly reduced. Specifically, after an available resource for transcoding is allocated to a transcoding subtask corresponding to the slicing task, the number of pre-allocated available resources corresponding to the slicing task is reduced by 1. If the number of the currently acquired available resources for transcoding is larger than the number of the pre-allocated available resources corresponding to the scheduled slicing task, after the scheduled slicing task is finished, the corresponding transcoding subtask is generated, and the available resources for transcoding with sufficient number are used for executing the corresponding transcoding subtask, and at this time, the slicing task can be continuously scheduled. On the contrary, if the number of the currently acquired available resources for transcoding is not greater than the number of the pre-allocated available resources corresponding to the scheduled slice task, it is indicated that after the scheduled slice task is completed, there is no available resource or just enough available resources for transcoding to execute the corresponding transcoding subtask, at this time, the scheduling of the slice task may be suspended, and when the number of the acquired available resources for transcoding is greater than the number of the pre-allocated available resources corresponding to the scheduled slice task, the step of continuously acquiring the number of the available resources corresponding to the resource set for slicing is executed again until all the slice tasks are allocated with the available resources. The slicing task and the subsequent corresponding transcoding subtasks are prevented from being accumulated and cannot be executed in time, excessive storage and operation resources are occupied, and the storage resources and the operation resources are saved.
In this embodiment, one available resource in the resource set for slicing corresponding to the largest number of available resources is allocated to each slice task one by one, so that the number of slice tasks corresponding to each resource set for slicing can be guaranteed to be approximately balanced, and resource waste caused by uneven allocation of the available resources for slicing is avoided.
In one embodiment, the step of performing a transcoding subtask to transcode each video subfile further comprises: and acquiring the number of available resources for transcoding, and allocating the available resources for transcoding to the transcoding subtask according to the number of the available resources for transcoding.
In the embodiment, a plurality of video source files are transcoded to obtain the number of available resources for transcoding, the available resources can be reasonably allocated to the transcoding subtasks according to the number of the obtained available resources for transcoding, enough available resources can be guaranteed to execute the transcoding subtasks, the transcoding efficiency of the video subfiles can be improved, and the transcoding efficiency of the whole video is improved.
In one embodiment, the obtaining of the number of available resources for transcoding, and the allocating, to the transcoding subtask, available resources for transcoding according to the number of available resources for transcoding specifically includes: the method comprises the steps of obtaining the number of available resources corresponding to a resource set used for transcoding, distributing one available resource in the resource set used for transcoding corresponding to the largest number of available resources for one transcoding subtask, and continuously obtaining the number of available resources corresponding to the resource set used for transcoding until all the transcoding subtasks are distributed with the available resources.
In this embodiment, one available resource in the resource set for transcoding, which corresponds to the largest number of available resources, is allocated to each transcoding subtask one by one, so that the number of transcoding subtasks corresponding to each resource set for transcoding can be guaranteed to be approximately balanced, and resource waste caused by uneven allocation of the available resources for transcoding is avoided.
In one embodiment, the step of executing a stitching task to merge a plurality of transcoded subfiles to obtain a merged transcoded video file further comprises: and acquiring the number of available resources for the combination, and allocating the available resources for the combination task according to the number of the available resources for the combination.
In this embodiment, a plurality of video source files are subjected to film combination processing to obtain the number of available resources for film combination, and the available resources can be reasonably allocated to the film combination task according to the obtained number of available resources for film combination, so that enough available resources can be ensured to execute the film combination task, the film combination efficiency can be improved, and the whole video transcoding efficiency can be further improved.
In an embodiment, the obtaining of the number of available resources for the slicing, and the allocating of the available resources for the slicing task according to the number of available resources for the slicing specifically includes: the method comprises the steps of obtaining the available resource number corresponding to a resource set for combining, distributing one available resource in the resource set for combining corresponding to the maximum available resource number for one combining task, and continuously obtaining the available resource number corresponding to the resource set for combining until all the combining tasks are distributed with the available resources.
In this embodiment, one available resource in the resource set for merging, which corresponds to the largest number of available resources, is allocated to each merging task one by one, so that the number of merging tasks corresponding to each resource set for merging can be guaranteed to be approximately balanced, and resource waste caused by uneven allocation of the available resources for merging can be avoided.
In one embodiment, the slicing task and the stitching task may share a set of resources. The shared resource set refers to a set of resources that can be used for both slicing and slicing tasks, but can still only execute one task by the same resource at the same time. In the embodiment, the slicing task and the slice combining task can share the resource set, so that the resources are saved.
The above-mentioned embodiments only express several embodiments of the present invention, and the description thereof is more specific and detailed, but not construed as limiting the scope of the present invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the inventive concept, which falls within the scope of the present invention. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (10)

1. A video transcoding system is characterized by comprising a scheduling module, a slicing module, a transcoding module and a film combining module; wherein,
the scheduling module is used for generating a slicing task of a video source file;
the slicing module is used for executing the slicing task to slice the video source file to obtain a plurality of video subfiles;
the scheduling module is further used for generating a transcoding subtask corresponding to each video subfile;
the transcoding module is used for executing the transcoding subtask to transcode each video subfile to obtain a plurality of corresponding transcoding subfiles;
the scheduling module is further used for generating a film combining task corresponding to the transcoding subfile;
and the film combining module is used for executing the film combining task to combine the plurality of transcoding sub-files to obtain a combined transcoding video file.
2. The system of claim 1, wherein the scheduling module comprises:
the calculation module is used for calculating the number of the predicted video subfiles according to a preset slice threshold value and/or the total number of resources corresponding to the transcoding module;
the resource pre-allocation module is used for pre-allocating the number of available resources for transcoding according to the number of the predicted video sub-files, and the pre-allocated available resources correspond to the transcoding module;
and the resource pre-allocation updating module is used for acquiring the video subfile number and updating the pre-allocated available resource number according to the video subfile number.
3. The system of claim 1, wherein the scheduling module is further configured to generate a slicing task corresponding to the transcoding subfile corresponding to the same transcoding specification information after the transcoding subtask corresponding to the same transcoding specification information is completed;
the film combining module is further used for executing a film combining task corresponding to the same transcoding specification information, combining the plurality of transcoding sub-files corresponding to the same transcoding specification information, and obtaining a combined transcoding video file corresponding to the same transcoding specification information.
4. The system of claim 1, wherein the scheduling module is further configured to obtain transcoding specification information corresponding to the transcoding subtask, and estimate a transcoding time consumption corresponding to the transcoding subtask according to the obtained transcoding specification information; and distributing available resources corresponding to the transcoding module for the corresponding transcoding subtasks according to the sequence of transcoding time consumption from high to low.
5. The system of claim 1, wherein the scheduling module comprises:
the slicing task scheduling module is used for acquiring the number of available resources corresponding to the slicing module and scheduling the slicing task to the corresponding slicing module according to the number of the available resources corresponding to the slicing module;
the transcoding subtask scheduling module is used for acquiring the number of available resources corresponding to the transcoding module and scheduling the transcoding subtask to the corresponding transcoding module according to the number of available resources corresponding to the transcoding module;
and the sheet combination task scheduling module is used for acquiring the number of available resources corresponding to the sheet combination module and scheduling the sheet combination task to the corresponding sheet combination module according to the number of available resources corresponding to the sheet combination module.
6. A method of video transcoding, the method comprising:
generating a slicing task of a video source file;
executing the slicing task to slice the video source file to obtain a plurality of video subfiles;
generating a transcoding subtask corresponding to each of the video subfiles;
executing the transcoding subtask to transcode each video subfile to obtain a plurality of corresponding transcoding subfiles;
generating a film combining task corresponding to the transcoding subfile;
and executing the film combination task to combine the plurality of transcoding sub-files to obtain a combined transcoding video file.
7. The method of claim 6, wherein the performing the slicing task slices the video source file, and wherein obtaining the plurality of video subfiles further comprises:
calculating the number of predicted video subfiles according to a preset slice threshold value and/or the total number of resources for transcoding;
pre-allocating the number of available resources for transcoding according to the number of the predicted video subfiles;
after the executing the slicing task slices the video source file and obtains a plurality of video subfiles, the method further includes:
and acquiring the number of the video subfiles, and updating the number of the pre-allocated available resources for transcoding according to the number of the video subfiles.
8. The method of claim 6, wherein the generating a mashup task corresponding to the transcoding subfile comprises:
after transcoding subtasks corresponding to the same transcoding specification information are completed, generating a film combining task corresponding to the transcoding subfiles corresponding to the same transcoding specification information;
the executing the film combination task to combine the plurality of transcoding sub-files to obtain a combined transcoding video file includes:
and executing a film combining task corresponding to the same transcoding specification information, combining a plurality of transcoding sub-files corresponding to the same transcoding specification information, and obtaining a combined transcoding video file corresponding to the same transcoding specification information.
9. The method of claim 6, wherein after the generating the transcoding subtask for each of the video subfiles, further comprising:
acquiring transcoding specification information corresponding to the transcoding subtask, and estimating transcoding time consumption corresponding to the transcoding subtask according to the acquired transcoding specification information;
and allocating available resources for transcoding to the corresponding transcoding subtasks according to the order of transcoding time consumption from high to low.
10. The method of claim 6, wherein before the performing the slicing task slices the video source file to obtain a plurality of video subfiles, further comprising:
acquiring the number of available resources for slicing, and allocating the available resources for slicing to the slicing task according to the number of the available resources for slicing;
before the executing the transcoding subtask transcodes each video subfile and obtaining the corresponding multiple transcoding subfiles, the method further includes:
acquiring the number of available resources for transcoding, and allocating available resources for transcoding to the transcoding subtask according to the number of the available resources for transcoding;
before the executing the mashup task to merge the plurality of transcoding sub-files and obtain the merged transcoded video file, the method further includes:
and acquiring the number of available resources for the combination, and allocating the available resources for the combination task according to the number of the available resources for the combination.
CN201310409688.4A 2013-09-09 2013-09-09 video transcoding system and method Active CN103458270B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310409688.4A CN103458270B (en) 2013-09-09 2013-09-09 video transcoding system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310409688.4A CN103458270B (en) 2013-09-09 2013-09-09 video transcoding system and method

Publications (2)

Publication Number Publication Date
CN103458270A true CN103458270A (en) 2013-12-18
CN103458270B CN103458270B (en) 2017-01-18

Family

ID=49740159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310409688.4A Active CN103458270B (en) 2013-09-09 2013-09-09 video transcoding system and method

Country Status (1)

Country Link
CN (1) CN103458270B (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731678A (en) * 2013-12-30 2014-04-16 世纪龙信息网络有限责任公司 Video file parallel transcoding method and system
CN103929655A (en) * 2014-04-25 2014-07-16 网易传媒科技(北京)有限公司 Method and device for transcoding audio and video file
CN104363463A (en) * 2014-11-10 2015-02-18 能力天空科技(北京)有限公司 Video processing method, device and system
CN104581200A (en) * 2015-02-06 2015-04-29 网易传媒科技(北京)有限公司 Slice transcoding method and slice transcoding equipment
CN104936016A (en) * 2014-03-17 2015-09-23 无锡天脉聚源传媒科技有限公司 Video combination method and system
CN105578205A (en) * 2014-10-27 2016-05-11 深圳国微技术有限公司 Video transcoding method and system
CN105578206A (en) * 2015-12-15 2016-05-11 无锡天脉聚源传媒科技有限公司 Multimedia file transcoding method and device
CN105657450A (en) * 2015-09-24 2016-06-08 天开数码媒体有限公司 Distributed video transcoding method
CN105657449A (en) * 2014-12-03 2016-06-08 中国移动通信集团公司 Video transcode allocation method and device and video transcode system
CN105992020A (en) * 2015-07-24 2016-10-05 乐视云计算有限公司 Video conversion resource distribution method and system
CN106713944A (en) * 2016-12-30 2017-05-24 北京奇虎科技有限公司 Method and apparatus for processing streaming data task
CN106790204A (en) * 2017-01-03 2017-05-31 北京奇虎科技有限公司 The conversion method and device of a kind of tunneling of flow data
WO2017096947A1 (en) * 2015-12-07 2017-06-15 乐视控股(北京)有限公司 Real-time control method and device for real-time transcoding
CN107205164A (en) * 2016-03-18 2017-09-26 百度在线网络技术(北京)有限公司 A kind of video transcoding method and device
CN108234242A (en) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 A kind of method for testing pressure and device based on stream
CN108512817A (en) * 2017-02-28 2018-09-07 北京大学 More video code conversion dispatching methods and device
CN109640115A (en) * 2018-12-17 2019-04-16 视联动力信息技术股份有限公司 A kind of files in stream media code-transferring method and device
CN110505523A (en) * 2019-09-24 2019-11-26 广州优视云集科技有限公司 A kind of video code conversion priority orders control method and processing terminal
CN110830805A (en) * 2019-10-24 2020-02-21 上海网达软件股份有限公司 Multi-resolution output distributed file transcoding method and device
CN110995830A (en) * 2019-11-29 2020-04-10 武汉卓讯互动信息科技有限公司 Network resource processing method and device
CN111031350A (en) * 2019-12-24 2020-04-17 北京奇艺世纪科技有限公司 Transcoding resource scheduling method, electronic device and computer readable storage medium
CN111246291A (en) * 2018-11-29 2020-06-05 浙江宇视科技有限公司 Video transcoding method and device and electronic equipment
CN112165622A (en) * 2020-09-23 2021-01-01 上海网达软件股份有限公司 Single-Pod multi-protocol video file transcoding method and system
WO2021233360A1 (en) * 2020-05-22 2021-11-25 中兴通讯股份有限公司 Method and apparatus for processing surveillance video, device and storage medium
CN115174535A (en) * 2022-06-24 2022-10-11 上海网达软件股份有限公司 POD scheduling method, system and device for realizing file transcoding based on Kubernetes and storage medium

Citations (5)

* 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
US20090172685A1 (en) * 2007-10-01 2009-07-02 Mevio Inc. System and method for improved scheduling of content transcoding
CN101917387A (en) * 2009-11-17 2010-12-15 新奥特(北京)视频技术有限公司 Multi-media transcoding cluster system
CN101917606A (en) * 2009-12-08 2010-12-15 新奥特(北京)视频技术有限公司 Control method and device for transcoding system
CN102780918A (en) * 2012-08-15 2012-11-14 华数传媒网络有限公司 Video distributed coding format converting method

Patent Citations (5)

* 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
US20090172685A1 (en) * 2007-10-01 2009-07-02 Mevio Inc. System and method for improved scheduling of content transcoding
CN101917387A (en) * 2009-11-17 2010-12-15 新奥特(北京)视频技术有限公司 Multi-media transcoding cluster system
CN101917606A (en) * 2009-12-08 2010-12-15 新奥特(北京)视频技术有限公司 Control method and device for transcoding system
CN102780918A (en) * 2012-08-15 2012-11-14 华数传媒网络有限公司 Video distributed coding format converting method

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731678B (en) * 2013-12-30 2017-02-08 世纪龙信息网络有限责任公司 Video file parallel transcoding method and system
CN103731678A (en) * 2013-12-30 2014-04-16 世纪龙信息网络有限责任公司 Video file parallel transcoding method and system
CN104936016A (en) * 2014-03-17 2015-09-23 无锡天脉聚源传媒科技有限公司 Video combination method and system
CN104936016B (en) * 2014-03-17 2018-02-09 无锡天脉聚源传媒科技有限公司 A kind of video file suits method and system
CN103929655A (en) * 2014-04-25 2014-07-16 网易传媒科技(北京)有限公司 Method and device for transcoding audio and video file
CN103929655B (en) * 2014-04-25 2017-06-06 网易传媒科技(北京)有限公司 The method and apparatus that transcoding treatment is carried out to audio-video document
CN105578205A (en) * 2014-10-27 2016-05-11 深圳国微技术有限公司 Video transcoding method and system
CN104363463B (en) * 2014-11-10 2019-06-18 能力天空科技(北京)有限公司 A kind of method for processing video frequency, apparatus and system
CN104363463A (en) * 2014-11-10 2015-02-18 能力天空科技(北京)有限公司 Video processing method, device and system
CN105657449A (en) * 2014-12-03 2016-06-08 中国移动通信集团公司 Video transcode allocation method and device and video transcode system
CN105657449B (en) * 2014-12-03 2018-12-28 中国移动通信集团公司 A kind of video code conversion distribution method, device and video code conversion system
CN104581200A (en) * 2015-02-06 2015-04-29 网易传媒科技(北京)有限公司 Slice transcoding method and slice transcoding equipment
CN105992020A (en) * 2015-07-24 2016-10-05 乐视云计算有限公司 Video conversion resource distribution method and system
WO2017016292A1 (en) * 2015-07-24 2017-02-02 乐视控股(北京)有限公司 Method of allocating video transcoding resource and system utilizing same
CN105657450A (en) * 2015-09-24 2016-06-08 天开数码媒体有限公司 Distributed video transcoding method
US10694199B2 (en) 2015-09-24 2020-06-23 Tfi Digital Media Limited Method for distributed video transcoding
WO2017096947A1 (en) * 2015-12-07 2017-06-15 乐视控股(北京)有限公司 Real-time control method and device for real-time transcoding
CN105578206A (en) * 2015-12-15 2016-05-11 无锡天脉聚源传媒科技有限公司 Multimedia file transcoding method and device
CN107205164A (en) * 2016-03-18 2017-09-26 百度在线网络技术(北京)有限公司 A kind of video transcoding method and device
CN107205164B (en) * 2016-03-18 2020-09-01 百度在线网络技术(北京)有限公司 Video transcoding method and device
WO2018121738A1 (en) * 2016-12-30 2018-07-05 北京奇虎科技有限公司 Method and apparatus for processing streaming data task
CN106713944A (en) * 2016-12-30 2017-05-24 北京奇虎科技有限公司 Method and apparatus for processing streaming data task
CN106790204A (en) * 2017-01-03 2017-05-31 北京奇虎科技有限公司 The conversion method and device of a kind of tunneling of flow data
CN108512817A (en) * 2017-02-28 2018-09-07 北京大学 More video code conversion dispatching methods and device
CN108512817B (en) * 2017-02-28 2020-09-04 北京大学 Multi-video transcoding scheduling method and device
CN108234242A (en) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 A kind of method for testing pressure and device based on stream
CN111246291A (en) * 2018-11-29 2020-06-05 浙江宇视科技有限公司 Video transcoding method and device and electronic equipment
CN111246291B (en) * 2018-11-29 2022-03-11 浙江宇视科技有限公司 Video transcoding method and device and electronic equipment
CN109640115A (en) * 2018-12-17 2019-04-16 视联动力信息技术股份有限公司 A kind of files in stream media code-transferring method and device
CN110505523A (en) * 2019-09-24 2019-11-26 广州优视云集科技有限公司 A kind of video code conversion priority orders control method and processing terminal
CN110830805A (en) * 2019-10-24 2020-02-21 上海网达软件股份有限公司 Multi-resolution output distributed file transcoding method and device
CN110995830A (en) * 2019-11-29 2020-04-10 武汉卓讯互动信息科技有限公司 Network resource processing method and device
CN111031350A (en) * 2019-12-24 2020-04-17 北京奇艺世纪科技有限公司 Transcoding resource scheduling method, electronic device and computer readable storage medium
WO2021233360A1 (en) * 2020-05-22 2021-11-25 中兴通讯股份有限公司 Method and apparatus for processing surveillance video, device and storage medium
CN113709522A (en) * 2020-05-22 2021-11-26 中兴通讯股份有限公司 Method, device and equipment for processing monitoring video and storage medium
CN112165622A (en) * 2020-09-23 2021-01-01 上海网达软件股份有限公司 Single-Pod multi-protocol video file transcoding method and system
CN112165622B (en) * 2020-09-23 2023-06-27 上海网达软件股份有限公司 Single-Pod multi-coroutine video file transcoding method and system
CN115174535A (en) * 2022-06-24 2022-10-11 上海网达软件股份有限公司 POD scheduling method, system and device for realizing file transcoding based on Kubernetes and storage medium

Also Published As

Publication number Publication date
CN103458270B (en) 2017-01-18

Similar Documents

Publication Publication Date Title
CN103458270B (en) video transcoding system and method
US11061925B2 (en) Multi-task scheduling method and system, application server and computer-readable storage medium
CN110769278B (en) Distributed video transcoding method and system
US9916183B2 (en) Scheduling mapreduce jobs in a cluster of dynamically available servers
US10652360B2 (en) Access scheduling method and apparatus for terminal, and computer storage medium
CN106445675B (en) B2B platform distributed application scheduling and resource allocation method
US20170255496A1 (en) Method for scheduling data flow task and apparatus
CN109918184B (en) Picture processing system, method and related device and equipment
EP3244621B1 (en) Video encoding method, system and server
US10686728B2 (en) Systems and methods for allocating computing resources in distributed computing
US20170024251A1 (en) Scheduling method and apparatus for distributed computing system
CN110554921B (en) Time slice distribution method, device, storage medium and computer equipment
TWI549053B (en) The Dynamic Operation Environment Adjustment System and Method Based on Computing Work
CN110881199A (en) Dynamic allocation method, device and system for network slice resources
WO2021013105A1 (en) Job state pushing method and apparatus
CN105657449A (en) Video transcode allocation method and device and video transcode system
WO2016101799A1 (en) Service allocation method and device based on distributed system
CN103702125A (en) Method and system specific to fragment transcoding and scheduling
CN114155026A (en) Resource allocation method, device, server and storage medium
US20150079966A1 (en) Methods for facilitating telecommunication network administration and devices thereof
US10028285B2 (en) Method, device and terminal for allocating network services to data channels
CN111382141B (en) Master-slave architecture configuration method, device, equipment and computer readable storage medium
CN105634990B (en) Based on the continuous method for obligating resource of time frequency spectrum, device and processor
CN111355751A (en) Task scheduling method and device
CN112751685B (en) Method, device and system for configuring user plane capacity of network slice

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 518057 Guangdong, Shenzhen Province, science and technology, South Road, No. twelve Changhong science and technology building, building 19, unit 01-11, unit 18

Applicant after: SHENZHEN TEMOBI TECHNOLOGY CO., LTD.

Address before: 518057 Guangdong, Shenzhen Province, science and technology, South Road, No. twelve Changhong science and technology building, building 19, unit 01-11, unit 18

Applicant before: Shenzhen Temobi Science & Tech Development Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SHENZHEN TEMOBI SCIENCE + TECHNOLOGY CO., LTD. TO: SHENZHEN RONGCHANG TIANXIA TECHNOLOGY CO., LTD.

ASS Succession or assignment of patent right

Owner name: RONGCHUANG TIANXIA (SHANGHAI) TECHNOLOGY DEVELOPME

Free format text: FORMER OWNER: SHENZHEN RONGCHANG TIANXIA TECHNOLOGY CO., LTD.

Effective date: 20150601

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150601

Address after: The island No. 2500 building, 200433 Shanghai city Yangpu District Siping Road, room 2001

Applicant after: World (Shanghai) Technology Development Co., Ltd.

Address before: 518057 Guangdong, Shenzhen Province, science and technology, South Road, No. twelve Changhong science and technology building, building 19, unit 01-11, unit 18

Applicant before: SHENZHEN TEMOBI TECHNOLOGY CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200616

Address after: 518000 two building, two Road North six Road Industrial Park, Xixiang, Shenzhen, Guangdong.

Patentee after: SHENZHEN ATTE SMART LIFE Co.,Ltd.

Address before: The island No. 2500 building, 200433 Shanghai city Yangpu District Siping Road, room 2001

Patentee before: Melt wound (Shanghai) development in science and technology Co.,Ltd. all over the world

TR01 Transfer of patent right