WO2019196158A1 - 一种转码任务的处理方法、系统及任务管理服务器 - Google Patents
一种转码任务的处理方法、系统及任务管理服务器 Download PDFInfo
- Publication number
- WO2019196158A1 WO2019196158A1 PCT/CN2018/086182 CN2018086182W WO2019196158A1 WO 2019196158 A1 WO2019196158 A1 WO 2019196158A1 CN 2018086182 W CN2018086182 W CN 2018086182W WO 2019196158 A1 WO2019196158 A1 WO 2019196158A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- transcoding
- server
- task
- audio
- transcoding task
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 79
- 230000008569 process Effects 0.000 claims abstract description 50
- 230000015654 memory Effects 0.000 claims description 21
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 230000005856 abnormality Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64723—Monitoring of network processes or resources, e.g. monitoring of network load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Definitions
- the present invention relates to the field of Internet technologies, and in particular, to a method, system, and task management server for processing a transcoding task.
- the original audio and video resources can be sent to the streaming server after encoding.
- the audio and video resources in the streaming media server can be converted into a format recognizable by the client through the transcoding server.
- the transcoding server may have various abnormal conditions, which may cause the transcoding to fail. For example, in the case of continuous failure of decoding, continuous failure of coding, etc., the transcoding server cannot complete the process of audio and video decoding normally, so that the user cannot view the corresponding audio and video resources in time.
- the purpose of the application is to provide a processing method and system for a transcoding task, and a task management server, which can complete the decoding process in time.
- the present application provides a method for processing a transcoding task, the method comprising: receiving a transcoding task created by a streaming media server, and scheduling the transcoding task to a transcoding server, so that The transcoding server performs the transcoding task; detects an execution status of the transcoding task in the transcoding server, and feeds back a characterization transfer to the streaming media server when detecting that the transcoding task is terminated
- the prompt message of the code termination so that the streaming media server determines whether to re-establish the transcoding task; if the streaming media server re-establishes the transcoding task, receives the re-established location sent by the streaming media server Decoding the transcoding task, and scheduling the re-established transcoding task to the transcoding server, so that the transcoding server re-executes the transcoding task.
- another aspect of the present application further provides a task management server including a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, The above method.
- another aspect of the present application further provides a processing system for a transcoding task, where the system includes a streaming media server, a task management server, and a transcoding server, wherein: the streaming media server is configured to create a transcoding a task, and the created transcoding task is sent to the task management server; when receiving the prompt information indicating the termination of the transcoding sent by the task management server, determining whether to re-establish the transcoding task; a task management server, configured to receive the transcoding task created by the streaming media server, and schedule the transcoding task to the transcoding server; and detect the transcoding task in the transcoding server Execution state, and when detecting that the transcoding task is terminated, feeding back to the streaming media server prompt information indicating that the transcoding is terminated; if the streaming server re-establishes the transcoding task, receiving the streaming media Re-establishing the transcoding task sent by the server, and scheduling the re-established transcoding task to the transcoding server; Server for executing the task
- the task management server can perform scheduling and management on the transcoding task created by the streaming media server, and can detect the execution status of the transcoding task in the transcoding server.
- the streaming server can create a transcoding task for a certain audio and video stream.
- the task management server can schedule the transcoding task to a certain rotation according to the load balancing policy. Code server. In this way, the transcoding server can obtain the audio and video stream to be transcoded from the streaming media server according to the transcoding task, and start performing the transcoding task.
- the task management server may detect the termination behavior and report the prompt information of the termination of the transcoding task to the streaming media server.
- the streaming server can determine whether the retransmission task of the audio and video stream needs to be re-established by detecting whether the connection of the audio and video stream of the transcoding task is disconnected. For example, if the connection of the audio and video stream is not disconnected, indicating that the current task termination is an abnormal situation, the transcoding task of the audio and video stream can be re-established, thereby continuing the transcoding process. If the connection of the audio and video stream is disconnected, it means that the transcoding task is normally terminated, and there is no need to re-establish the transcoding task. It can be seen from the above that the technical solution provided by the present application can detect and recover the abnormal transcoding task in time, thereby ensuring that the audio and video stream can complete the decoding process in time.
- FIG. 1 is a schematic structural diagram of a processing system of a transcoding task in an embodiment of the present invention
- FIG. 2 is a flowchart of a processing method of a transcoding task in an embodiment of the present invention
- FIG. 3 is a schematic diagram of interaction of a method for processing a transcoding task in an embodiment of the present invention
- FIG. 4 is a schematic structural diagram of a task management server in an embodiment of the present invention.
- FIG. 5 is a schematic structural diagram of a computer terminal according to an embodiment of the present invention.
- the application provides a processing method of a transcoding task, which can be applied to a task management server.
- the above task management server may be added based on the existing system architecture.
- the task management server may be connected to the streaming server and the transcoding server, respectively.
- the streaming media server may store audio and video data
- the transcoding server may acquire audio and video data from the streaming media server and decode the audio and video data.
- the processing method of the transcoding task may include the following steps.
- S1 Receive a transcoding task created by the streaming media server, and schedule the transcoding task to the transcoding server, so that the transcoding server performs the transcoding task.
- the streaming media server may create a transcoding task, where the transcoding task may include an audio and video identifier, and the audio and video identifier may point to an audio and video stream in the streaming media server.
- the streaming media server may receive live broadcast data sent by the anchor client, and the live broadcast data may be processed by using the original audio and video data collected by the anchor microphone and the camera. Specifically, after the original microphone and the camera collect the original audio and video data, the original audio and video data may be encoded, and the encoded audio and video data is encapsulated by the streaming media protocol, and may be pushed to the audio and video stream.
- the streaming media server In this way, when the user client wants to view the audio and video stream of an anchor, the data acquisition request can be initiated to the streaming server, and the streaming server can create a transcoding task for the audio and video stream corresponding to the data acquisition request.
- the transcoding task may be sent to the task management server.
- the task management server may be responsible for scheduling and monitoring the transcoding task, thereby ensuring that the transcoding process can be completed.
- the task management server may establish a connection with multiple transcoding servers.
- the task management server may perform load balancing according to the current load of each transcoding server.
- the transcoding task is scheduled to be dispatched to one of the transcoding servers.
- the transcoding task may be executed. Specifically, the transcoding server may start the transcoding process for the received transcoding task. Through the transcoding process, a series of operations related to the transcoding task can be processed. For example, through the transcoding process, the transcoding server may extract the audio and video identifier from the transcoding task, and initiate a resource acquisition request including the audio and video identifier to the streaming media server, so as to be able to pull from the streaming media service group. Taking the audio and video stream pointed by the audio and video identifier. After the corresponding audio and video stream is pulled, the transcoding server can transcode the extracted audio and video stream through the transcoding process.
- the transcoding process may include multiple steps. Specifically, the transcoding server may correspondingly decode the audio and video stream according to the encoding mode of the audio and video stream, and the original audio and video stream obtained by the decoding may pass.
- the filter is processed.
- the filter can adjust parameters such as video resolution and audio sampling rate of the original audio and video stream obtained by decoding, so that the adjusted audio and video stream can meet the requirements of subsequent encoding.
- the audio and video stream output by the filter can be encoded according to the encoding mode supported by the user client, and the encoded audio and video stream can be pushed to the user client, thereby completing the entire transcoding process.
- S3 detecting an execution status of the transcoding task in the transcoding server, and when detecting that the transcoding task is terminated, feeding back, to the streaming media server, prompt information indicating termination of transcoding, so that the The streaming server determines whether to re-establish the transcoding task.
- the transcoding task when executed in the transcoding server, it may be abnormally terminated for various reasons.
- a state monitoring process may be created, and the status monitoring process is used to detect the transcoding server for performing the transcoding task. Whether the transcoding process exits. In this way, the task management server can detect the execution status of the transcoding task in the transcoding server.
- the task management server may feed back the prompt information indicating the termination of the transcoding to the streaming server.
- the prompt information may also include an audio and video identifier, such that the streaming server can thereby know which transcoding task of the audio and video stream is terminated.
- the streaming media server may query, according to the audio and video identifiers therein, the audio and video stream that is terminated to perform transcoding. At this time, the streaming server can detect whether the connection of the audio and video stream pointed to by the transcoding task with the transcoding server is disconnected.
- the transcoding server when the transcoding server starts to perform the transcoding task, it needs to establish a connection with the streaming media server, and obtain the audio and video stream that needs to be transcoded through the connection. After the transcoding is normally completed, the connection will be disconnected. . If the transcoding terminates abnormally, the connection will remain. In this way, if the connection is not disconnected, it indicates that the transcoding task is terminated due to an abnormality. At this time, the streaming media server may re-establish the transcoding task directed to the audio and video stream to re-transmit the audio and video stream. Transcode. If the connection has been disconnected, it indicates that the transcoding task is normally ended, and the transcoding task directed to the audio and video stream may be ended.
- the transcoding task may be re-established.
- the re-established transcoding task can also be sent to the task management server and dispatched to the transcoding server by the task management server to re-transcode the transcoded audio and video stream by the transcoding server.
- the transcoding result may be sent to the live server through one data packet, and the live server may send the transcoded audio and video stream to the user client.
- the transcoding server may upload the data traffic of the transmitted data packet to the task management server. In this way, the task management server may write the received data traffic into the log to collect data traffic sent by the transcoding server to the live server.
- the streaming server may send a task cancellation command to the task management server, the task cancel command indicating the current transcoding
- the task can be terminated.
- the task management server can forward the task cancellation instruction to the transcoding server, and the transcoding server can cancel the transcoding process for executing the transcoding task, and the task management server can also cancel the monitoring server.
- the status monitoring process of the transcoding process is not limited to the audio/video stream.
- the abnormality in the transcoding process may be detected in various manners, and the transcoding process may be attempted to be restored to normal.
- the number of input channels of the audio and video stream pulled by the transcoding server from the streaming server should theoretically be consistent with the number of output channels of the transcoded audio and video streams.
- the transcoding process may have an abnormality, resulting in an inconsistent number of output channels and the number of input channels. For example, for the audio stream in the number of input channels, the transcoding server does not normally complete the transcoding, so that the audio stream is missing from the number of output channels. In this case, the audio and video stream obtained by transcoding is defective.
- the transcoding server detects that the number of input channels of the audio and video stream to be transcoded is inconsistent with the number of output channels of the audio and video stream that completes the transcoding
- the current transcoding process can be exited.
- the subsequent task management server detects the abnormality, it can notify the streaming server to re-create the transcoding task.
- the transcoding server can also control the situation of continuous transcoding failure. Specifically, the transcoding server can detect the duration of the continuous transcoding failure. If the audio and video stream to be transcoded continues to be transcoded within the specified duration, the transcoding process cannot be performed normally, and the current transcoding process can be exited. , indicating that the transcoding process terminated abnormally.
- the configuration parameters of the audio and video streams that are forwarded twice by the transcoding server from the streaming server are inconsistent, if the same encoding method is adopted. Encoding data with inconsistent configuration parameters will result in an abnormality in the encoded audio and video streams.
- the configuration parameter can be parsed from the current audio and video stream to be transcoded, and the currently parsed configuration parameter and the last parsing The configuration parameters are compared.
- the configuration parameter may be a parameter for describing information such as a video width and height, a video frame rate, an audio and video compression format, an audio sampling rate, and the like.
- the configuration parameter may be recorded in a metadata (metadata) of an audio/video stream, an AVC header (Advanced Video Coding header), or an AAC header (Advanced Audio Coding header).
- a metadata metadata
- AVC header Advanced Video Coding header
- AAC header Advanced Audio Coding header
- the present application further provides a task management server, where the task management server includes a memory and a processor, where the computer program is stored in the memory, and when the computer program is executed by the processor, the implementation may be implemented.
- the task management server includes a memory and a processor, where the computer program is stored in the memory, and when the computer program is executed by the processor, the implementation may be implemented.
- the memory may include physical means for storing information, typically by digitizing the information and then storing it in a medium that utilizes electrical, magnetic or optical methods.
- the memory according to the embodiment may further include: a device for storing information by using an electric energy method, such as a RAM, a ROM, etc.; a device for storing information by using a magnetic energy method, such as a hard disk, a floppy disk, a magnetic tape, a magnetic core memory, a magnetic bubble memory, and a USB flash drive; A device that optically stores information, such as a CD or a DVD.
- an electric energy method such as a RAM, a ROM, etc.
- a magnetic energy method such as a hard disk, a floppy disk, a magnetic tape, a magnetic core memory, a magnetic bubble memory, and a USB flash drive
- a device that optically stores information such as a CD or a DVD.
- computer storage media such as quantum memories, graphene memories, and the like.
- the processor can be implemented in any suitable manner.
- the processor can take the form of, for example, a microprocessor or processor and computer readable media, logic gates, switches, and special-purpose integrations for storing computer readable program code (eg, software or firmware) executable by the (micro)processor.
- ASIC Application Specific Integrated Circuit
- programmable logic controller programmable logic controller and embedded microcontroller form.
- the application also provides a processing system for a transcoding task.
- the system includes a streaming media server, a task management server, and a transcoding server, where:
- the streaming media server is configured to create a transcoding task, and send the created transcoding task to the task management server; when receiving the prompt information indicating that the transcoding is terminated by the task management server, Determining whether to re-establish the transcoding task;
- the task management server is configured to receive the transcoding task created by the streaming media server, and schedule the transcoding task to the transcoding server; and detect the transcoding task in the transcoding server An execution state in the medium, and when detecting that the transcoding task is terminated, feeding back, to the streaming media server, prompt information indicating that the transcoding is terminated; if the streaming server re-establishes the transcoding task, receiving the stream Re-establishing the transcoding task sent by the media server, and scheduling the re-established transcoding task to the transcoding server;
- the transcoding server is configured to execute a transcoding task scheduled by the task management server.
- the task management server includes:
- a process creation unit configured to create a state monitoring process, and detect, by the state monitoring process, whether a transcoding process in the transcoding server for performing the transcoding task is exited; correspondingly, when the detecting is detected When the transcoding process that performs the transcoding task exits, the transcoding task is terminated.
- the streaming server includes:
- connection detecting unit configured to detect, after receiving the prompt information, whether a connection between the audio and video stream pointed by the transcoding task and the transcoding server is disconnected;
- a determining unit configured to determine that the transcoding task that points to the audio and video stream is re-established if not disconnected; and if the disconnection, the transcoding task that points to the audio and video stream is ended.
- the transcoding server comprises:
- a channel number comparing unit configured to detect an input channel number of the audio and video stream to be transcoded, and an output channel number of the audio and video stream that completes the transcoding, and compare the number of input channels and the number of the output channels;
- the process exit unit is configured to exit the current transcoding process if the number of input channels and the number of output channels are inconsistent.
- the transcoding server comprises:
- the configuration parameter processing unit is configured to parse the configuration parameter from the current audio and video stream to be transcoded, and compare the currently parsed configuration parameter with the last parsed configuration parameter, if the two are inconsistent, read Audio and video data currently buffered in the decoder and the filter, and the read audio and video data is encoded and sent to the live server;
- an initialization unit configured to reinitialize the decoder and the filter, and process the audio and video stream to be transcoded by a reinitialized decoder and a filter.
- Computer terminal 10 may include one or more (only one of which is shown) processor 102 (processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA), for storing data.
- processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA), for storing data.
- FIG. 5 is merely illustrative and does not limit the structure of the above electronic device.
- computer terminal 10 may also include more or fewer components than shown in FIG. 5, or have a different configuration than that shown in FIG.
- the memory 104 can be used to store software programs and modules of application software, and the processor 102 executes various functional applications and data processing by running software programs and modules stored in the memory 104.
- Memory 104 may include high speed random access memory, and may also include non-volatile memory such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
- memory 104 may further include memory remotely located relative to processor 102, which may be coupled to computer terminal 10 via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
- Transmission device 106 is for receiving or transmitting data via a network.
- the network specific examples described above may include a wireless network provided by a communication provider of the computer terminal 10.
- the transmission device 106 includes a Network Interface Controller (NIC) that can be connected to other network devices through a base station to communicate with the Internet.
- the transmission device 106 can be a Radio Frequency (RF) module for communicating with the Internet wirelessly.
- NIC Network Interface Controller
- RF Radio Frequency
- the task management server can perform scheduling and management on the transcoding task created by the streaming media server, and can detect the execution status of the transcoding task in the transcoding server.
- the streaming server can create a transcoding task for a certain audio and video stream.
- the task management server can schedule the transcoding task to a certain rotation according to the load balancing policy. Code server. In this way, the transcoding server can obtain the audio and video stream to be transcoded from the streaming media server according to the transcoding task, and start performing the transcoding task.
- the task management server may detect the termination behavior and report the prompt information of the termination of the transcoding task to the streaming media server.
- the streaming server can determine whether the retransmission task of the audio and video stream needs to be re-established by detecting whether the connection of the audio and video stream of the transcoding task is disconnected. For example, if the connection of the audio and video stream is not disconnected, indicating that the current task termination is an abnormal situation, the transcoding task of the audio and video stream can be re-established, thereby continuing the transcoding process. If the connection of the audio and video stream is disconnected, it means that the transcoding task is normally terminated, and there is no need to re-establish the transcoding task. It can be seen from the above that the technical solution provided by the present application can detect and recover the abnormal transcoding task in time, thereby ensuring that the audio and video stream can complete the decoding process in time.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种转码任务的处理方法、系统及任务管理服务器,其中,所述方法包括:接收流媒体服务器创建的转码任务,并将所述转码任务调度至转码服务器处,以使得所述转码服务器执行所述转码任务;检测所述转码任务在所述转码服务器中的执行状态,并当检测到所述转码任务终止时,向所述流媒体服务器反馈表征转码终止的提示信息,以使得所述流媒体服务器判断是否重新建立所述转码任务;若所述流媒体服务器重新建立所述转码任务,接收所述流媒体服务器发来的重新建立的所述转码任务,并将重新建立的所述转码任务调度至所述转码服务器处,以使得所述转码服务器重新执行所述转码任务。本申请提供的技术方案,能够及时完成解码过程。
Description
本发明涉及互联网技术领域,特别涉及一种转码任务的处理方法、系统及任务管理服务器。
随着互联网技术的不断发展,网络中的音视频资源也越来越多。当前,原始的音视频资源可以在编码之后,发送至流媒体服务器中。流媒体服务器中的音视频资源在提供给用户观看之前,可以先通过转码服务器将音视频资源转换为用户端能够识别的格式。
转码服务器在对音视频资源转码的过程中,可能会出现各种异常情况,而导致转码失败。例如,在解码连续失败、编码连续失败等情况下,转码服务器便无法正常完成音视频解码的过程,使得用户无法及时观看到对应的音视频资源。
发明内容
本申请的目的在于提供一种转码任务的处理方法、系统及任务管理服务器,能够及时完成解码过程。
为实现上述目的,本申请一方面提供一种转码任务的处理方法,所述方法包括:接收流媒体服务器创建的转码任务,并将所述转码任务调度至转码服务器处,以使得所述转码服务器执行所述转码任务;检测所述转码任务在所述转码服务器中的执行状态,并当检测到所述转码任务终止时,向所述流媒体服务器反馈表征转码终止的提示信息,以使得所述流媒体服务器判断是否重新建立所述转码任务;若所述流媒体服务器重新建立所述转码任务,接收所述流媒体服务器发来的重新建立的所述转码任务,并将重新建立的所述转码任务调度至所述转码服务器处,以使得所述转码服务器重新执行所述转码任务。
为实现上述目的,本申请另一方面还提供一种任务管理服务器,所述任务 管理服务器包括存储器和处理器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的方法。
为实现上述目的,本申请另一方面还提供一种转码任务的处理系统,所述系统包括流媒体服务器、任务管理服务器以及转码服务器,其中:所述流媒体服务器,用于创建转码任务,并将创建的所述转码任务发送至所述任务管理服务器;在接收到所述任务管理服务器发来的表征转码终止的提示信息时,判断是否重新建立所述转码任务;所述任务管理服务器,用于接收所述流媒体服务器创建的所述转码任务,并将所述转码任务调度至所述转码服务器处;检测所述转码任务在所述转码服务器中的执行状态,并当检测到所述转码任务终止时,向所述流媒体服务器反馈表征转码终止的提示信息;若所述流媒体服务器重新建立所述转码任务,接收所述流媒体服务器发来的重新建立的所述转码任务,并将重新建立的所述转码任务调度至所述转码服务器处;所述转码服务器,用于执行所述任务管理服务器调度来的转码任务。
由上可见,本申请提供的技术方案中,可以通过任务管理服务器,对流媒体服务器创建的转码任务进行调度和管理,并可以检测转码任务在转码服务器中的执行状态。具体地,流媒体服务器可以创建针对某个音视频流的转码任务,该转码任务被发送至任务管理服务器后,任务管理服务器可以根据负载均衡的策略,将转码任务调度至某个转码服务器处。这样,转码服务器可以根据该转码任务,从流媒体服务器中获取待转码的音视频流,并开始执行转码任务。在转码过程中,当转码任务终止时,任务管理服务器可以检测到该终止行为,并向流媒体服务器汇报转码任务终止的提示信息。这样,流媒体服务器可以通过检测该转码任务的音视频流的连接是否断开,从而判断是否需要重新建立该音视频流的转码任务。例如,如果音视频流的连接没有断开,表示当前的任务终止属于异常情况,可以重新建立该音视频流的转码任务,从而继续转码过程。如果音视频流的连接断开,则表示转码任务属于正常终止,则无须重新建立转码任务。由上可见,本申请提供的技术方案,能够及时检测并恢复发生异常的转码任务,从而保证音视频流能够及时完成解码过程。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中转码任务的处理系统的架构示意图;
图2是本发明实施例中转码任务的处理方法流程图;
图3是本发明实施例中转码任务的处理方法的交互示意图;
图4是本发明实施例中任务管理服务器的结构示意图;
图5是本发明实施例中计算机终端的结构示意图。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本申请提供一种转码任务的处理方法,所述方法可以应用于任务管理服务器中。请参阅图1,在现有的系统架构的基础上,可以增设上述的任务管理服务器。所述任务管理服务器可以分别与流媒体服务器和转码服务器连接。所述流媒体服务器中可以存储音视频数据,所述转码服务器可以从所述流媒体服务器中获取音视频数据,并对音视频数据进行解码。
请参阅图2和图3,所述转码任务的处理方法可以包括以下步骤。
S1:接收流媒体服务器创建的转码任务,并将所述转码任务调度至转码服务器处,以使得所述转码服务器执行所述转码任务。
在本实施方式中,所述流媒体服务器可以创建转码任务,该转码任务中可以包含音视频标识,该音视频标识可以指向所述流媒体服务器中的音视频流。举例来说,所述流媒体服务器可以接收主播客户端发来的直播数据,这些直播数据可以是通过对主播的麦克风、摄像头采集的原始音视频数据处理而来。具体地,主播的麦克风、摄像头采集到原始的音视频数据之后,可以对该原始的音视频数据进行编码,编码后的音视频数据通过流媒体协议封装之后,可以按照音视频流被推送至所述流媒体服务器。这样,当用户客户端想要观看某个主播的音视频流时,便可以向流媒体服务器发起数据获取请求,流媒体服务器从 而可以针对该数据获取请求对应的音视频流创建转码任务。
在本实施方式中,流媒体服务器创建了所述转码任务之后,可以将所述转码任务发送至所述任务管理服务器。所述任务管理服务器可以负责对转码任务进行调度和监控,从而保证转码过程能够完成。具体地,所述任务管理服务器可以与多个转码服务器建立连接,在接收到流媒体服务器发来的转码任务后,可以根据各个转码服务器当前的负载,通过负载均衡的方式,将所述转码任务调度至其中一个转码服务器中。
在本实施方式中,所述转码服务器接收到任务管理服务器调度来的转码任务之后,便可以执行所述转码任务。具体地,所述转码服务器可以针对接收到的转码任务,开启转码进程。通过该转码进程,可以处理与所述转码任务相关的一系列操作。例如,通过该转码进程,转码服务器可以从所述转码任务中提取出音视频标识,并向流媒体服务器发起包含该音视频标识的资源获取请求,从而可以从流媒体服务群中拉取所述音视频标识指向的音视频流。在拉取到对应的音视频流之后,转码服务器便可以通过该转码进程,对拉取的音视频流进行转码。
在本实施方式中,转码的过程可以包括多个步骤,具体地,转码服务器可以按照音视频流的编码方式,对应地对该音视频流进行解码,解码得到的原始音视频流可以通过滤镜进行处理。所述滤镜可以对解码得到的原始音视频流进行视频分辨率、音频采样率等参数的调整,从而使得调整后的音视频流能够符合后续编码的要求。这样,滤镜输出的音视频流可以根据用户客户端所支持的编码方式进行编码,编码后的音视频流便可以推送给用户客户端,从而完成整个转码的过程。
S3:检测所述转码任务在所述转码服务器中的执行状态,并当检测到所述转码任务终止时,向所述流媒体服务器反馈表征转码终止的提示信息,以使得所述流媒体服务器判断是否重新建立所述转码任务。
在本实施方式中,转码任务在转码服务器中执行时,可能因为各种原因异常终止。鉴于此,任务管理服务器在将转码任务调度至所述转码服务器之后,可以创建状态监控进程,并通过所述状态监控进程,检测所述转码服务器中用于执行所述转码任务的转码进程是否退出。这样,任务管理服务器可以检测所述转码任务在所述转码服务器中的执行状态。
在本实施方式中,若检测到所述用于执行所述转码任务的转码进程退出时,则表征所述转码任务终止。此时,任务管理服务器可以向所述流媒体服务器反馈表征转码终止的提示信息。该提示信息中同样可以包括音视频标识,这样,所述流媒体服务器从而可以获知哪个音视频流的转码任务被终止。所述流媒体服务器在接收到该提示信息后,可以根据其中的音视频标识查询到被终止执行转码的音视频流。此时,流媒体服务器可以检测与所述转码服务器之间所述转码任务指向的音视频流的连接是否断开。正常情况下,当转码服务器开始执行转码任务时,需要与流媒体服务器建立连接,并通过该连接获取需要转码的音视频流,在转码正常结束之后,该连接才会被断开。而如果转码异常终止,该连接会依然保持。这样,若该连接未断开,表示转码任务是因为出现异常而终止的,此时,流媒体服务器可以重新建立指向所述音视频流的所述转码任务,以重新对该音视频流进行转码。若该连接已断开,表示转码任务是正常结束,此时可以结束指向所述音视频流的所述转码任务。
S5:若所述流媒体服务器重新建立所述转码任务,接收所述流媒体服务器发来的重新建立的所述转码任务,并将重新建立的所述转码任务调度至所述转码服务器处,以使得所述转码服务器重新执行所述转码任务。
在本实施方式中,如果流媒体服务器判定当前的转码任务为异常终止,可以重新建立该转码任务。该重新建立的转码任务同样可以被发送至任务管理服务器,并通过该任务管理服务器调度至所述转码服务器中,以通过所述转码服务器重新对待转码的音视频流进行转码。
在本实施方式中,所述转码服务器将音视频流转码之后,可以将转码结果通过一个个数据包发送给直播服务器,直播服务器从而可以将转码后的音视频流发送给用户客户端。在发送数据包之后,转码服务器可以将发送的数据包的数据流量上传至所述任务管理服务器。这样,所述任务管理服务器可以将接收的所述数据流量写入日志中,以统计转码服务器向直播服务器发送的数据流量。
在一个实施方式中,当某个音视频流不再被用户观看,或者该音视频流已经播放结束之后,流媒体服务器可以向任务管理服务器发送任务取消指令,该任务取消指令表明当前的转码任务可以终止。这样,任务管理服务器可以将该任务取消指令转发给所述转码服务器,转码服务器从而可以取消用于执行所述转码任务的转码进程,同时,任务管理服务器也可以取消用于监控所述转码进 程的状态监控进程。
在一个实施方式中,转码服务器在执行转码任务时,可以通过多种方式检测转码过程中的异常,并可以尝试将转码过程恢复正常。具体地,转码服务器从流媒体服务器中拉取的音视频流的输入路数,理论上应该与转码得到的音视频流的输出路数相一致。然而,在某些转码场景中,转码过程可能存在异常,从而导致输出路数与输入路数不一致。例如,针对输入路数中的音频流,转码服务器没有正常完成转码,从而使得输出路数中缺少了音频流。在这种情况下,转码得到的音视频流是存在缺陷的,因此,当转码服务器检测到待转码的音视频流的输入路数与完成转码的音视频流的输出路数不一致时,表明转码过程存在异常,可以退出当前的转码进程。后续任务管理服务器检测到本次异常后,可以通知流媒体服务器,从而重新创建转码任务。
此外,转码服务器还可以对连续转码失败的情况进行控制。具体地,转码服务器可以检测连续转码失败的时长,若待转码的音视频流在指定时长内持续转码失败,表示转码过程无法正常执行下去,此时可以退出当前的转码进程,表示转码过程异常终止。
在另一个实施方式中,由于网络传输状态或者原始音视频流发生改变等情况,导致转码服务器从流媒体服务器处前后两次拉取的音视频流的配置参数不一致,如果采用相同的编码方式对配置参数不一致的数据进行编码,那么会导致编码后的音视频流存在异常。鉴于此,转码服务器在拉取到当前待转码的音视频流后,可以从当前待转码的音视频流中解析出配置参数,并将当前解析出的所述配置参数与上一次解析出的配置参数进行对比。所述配置参数可以是用于描述视频宽高、视频帧率、音视频压缩格式、音频采样率等信息的参数。所述配置参数可以记录于音视频流的metadata(元数据)、AVC header(Advanced Video Coding header,高级视频编码文件头)或者AAC header(Advanced Audio Coding header,高级音频编码文件头)中。这样,若前后两次解析出的配置参数不一致,则表明当前的音视频流相比于上一次拉取的音视频流发生了变化,此时,可以读取解码器和滤镜中当前缓存的音视频数据,并将读取出的所述音视频数据进行编码后发送至直播服务器。然后,再重新初始化所述解码器和所述滤镜,并通过重新初始化后的解码器和滤镜处理所述待转码的音视频流。这样,具备不同配置参数的音视频流可以基于不同的初始化结果进行处理,从而 保证不同的音视频流均可以完成正常的转码过程。
实施例二
请参阅图4,本申请还提供一种任务管理服务器,所述任务管理服务器包括存储器和处理器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,可以实现上述实施例一种描述的各个方法步骤。
在本实施方式中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式所述的存储器又可以包括:利用电能方式存储信息的装置,如RAM、ROM等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置,如CD或DVD。当然,还有其他方式的计算机存储介质,例如量子存储器、石墨烯存储器等等。
在本实施方式中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
本说明书实施方式提供的任务管理服务器,其本身所实现的具体功能,可以与本说明书中的前述方法实施方式相对照解释,并能够达到前述方法实施方式的技术效果,这里便不再赘述。
实施例三
本申请还提供一种转码任务的处理系统,请参阅图1,所述系统包括流媒体服务器、任务管理服务器以及转码服务器,其中:
所述流媒体服务器,用于创建转码任务,并将创建的所述转码任务发送至所述任务管理服务器;在接收到所述任务管理服务器发来的表征转码终止的提示信息时,判断是否重新建立所述转码任务;
所述任务管理服务器,用于接收所述流媒体服务器创建的所述转码任务,并将所述转码任务调度至所述转码服务器处;检测所述转码任务在所述转码服务器中的执行状态,并当检测到所述转码任务终止时,向所述流媒体服务器反 馈表征转码终止的提示信息;若所述流媒体服务器重新建立所述转码任务,接收所述流媒体服务器发来的重新建立的所述转码任务,并将重新建立的所述转码任务调度至所述转码服务器处;
所述转码服务器,用于执行所述任务管理服务器调度来的转码任务。
在一个实施方式中,所述任务管理服务器包括:
进程创建单元,用于创建状态监控进程,并通过所述状态监控进程,检测所述转码服务器中用于执行所述转码任务的转码进程是否退出;相应地,当检测到所述用于执行所述转码任务的转码进程退出时,表征所述转码任务终止。
在一个实施方式中,所述流媒体服务器包括:
连接检测单元,用于在接收到所述提示信息后,检测与所述转码服务器之间所述转码任务指向的音视频流的连接是否断开;
判断单元,用于判定若未断开,重新建立指向所述音视频流的所述转码任务;若断开,结束指向所述音视频流的所述转码任务。
在一个实施方式中,所述转码服务器包括:
路数对比单元,用于检测待转码的音视频流的输入路数以及完成转码的音视频流的输出路数,并对比所述输入路数和所述输出路数;
进程退出单元,用于若所述输入路数和所述输出路数不一致,退出当前的转码进程。
在一个实施方式中,所述转码服务器包括:
配置参数处理单元,用于从当前待转码的音视频流中解析出配置参数,并将当前解析出的所述配置参数与上一次解析出的配置参数进行对比,若两者不一致,读取解码器和滤镜中当前缓存的音视频数据,并将读取出的所述音视频数据进行编码后发送至直播服务器;
初始化单元,用于重新初始化所述解码器和所述滤镜,并通过重新初始化后的解码器和滤镜处理所述待转码的音视频流。
请参阅图5,在本申请中,上述实施例中的技术方案可以应用于如图5所示的计算机终端10上。计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述 电子装置的结构造成限定。例如,计算机终端10还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
由上可见,本申请提供的技术方案中,可以通过任务管理服务器,对流媒体服务器创建的转码任务进行调度和管理,并可以检测转码任务在转码服务器中的执行状态。具体地,流媒体服务器可以创建针对某个音视频流的转码任务,该转码任务被发送至任务管理服务器后,任务管理服务器可以根据负载均衡的策略,将转码任务调度至某个转码服务器处。这样,转码服务器可以根据该转码任务,从流媒体服务器中获取待转码的音视频流,并开始执行转码任务。在转码过程中,当转码任务终止时,任务管理服务器可以检测到该终止行为,并向流媒体服务器汇报转码任务终止的提示信息。这样,流媒体服务器可以通过检测该转码任务的音视频流的连接是否断开,从而判断是否需要重新建立该音视频流的转码任务。例如,如果音视频流的连接没有断开,表示当前的任务终止属于异常情况,可以重新建立该音视频流的转码任务,从而继续转码过程。如果音视频流的连接断开,则表示转码任务属于正常终止,则无须重新建立转码任务。由上可见,本申请提供的技术方案,能够及时检测并恢复发生异常的转码任务,从而保证音视频流能够及时完成解码过程。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施 方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
- 一种转码任务的处理方法,其特征在于,所述方法包括:接收流媒体服务器创建的转码任务,并将所述转码任务调度至转码服务器处,以使得所述转码服务器执行所述转码任务;检测所述转码任务在所述转码服务器中的执行状态,并当检测到所述转码任务终止时,向所述流媒体服务器反馈表征转码终止的提示信息,以使得所述流媒体服务器判断是否重新建立所述转码任务;若所述流媒体服务器重新建立所述转码任务,接收所述流媒体服务器发来的重新建立的所述转码任务,并将重新建立的所述转码任务调度至所述转码服务器处,以使得所述转码服务器重新执行所述转码任务。
- 根据权利要求1所述的方法,其特征在于,所述转码任务中包含音视频标识;相应地,所述转码服务器执行所述转码任务包括:所述转码服务器开启转码进程,并通过所述转码进程从所述流媒体服务器中拉取所述音视频标识指向的音视频流;所述转码服务器通过所述转码进程对拉取的所述音视频流进行转码。
- 根据权利要求1或2所述的方法,其特征在于,检测所述转码任务在所述转码服务器中的执行状态包括:创建状态监控进程,并通过所述状态监控进程,检测所述转码服务器中用于执行所述转码任务的转码进程是否退出;相应地,当检测到所述用于执行所述转码任务的转码进程退出时,表征所述转码任务终止。
- 根据权利要求1所述的方法,其特征在于,所述流媒体服务器判断是否重新建立所述转码任务包括:所述流媒体服务器在接收到所述提示信息后,检测与所述转码服务器之间所述转码任务指向的音视频流的连接是否断开;若未断开,重新建立指向所述音视频流的所述转码任务;若断开,结束指 向所述音视频流的所述转码任务。
- 根据权利要求1所述的方法,其特征在于,在将所述转码任务调度至转码服务器处之后,所述方法还包括:接收所述转码服务器上传的数据流量,并将接收的所述数据流量写入日志中;其中,所述数据流量用于表征所述转码服务器在执行所述转码任务时,向直播服务器输出的各个数据包的数据流量。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述流媒体服务器发来的任务取消指令,并将所述任务取消指令转发至所述转码服务器处,以使得所述转码服务器取消用于执行所述转码任务的转码进程。
- 根据权利要求1所述的方法,其特征在于,所述转码服务器执行所述转码任务时,所述方法还包括:所述转码服务器检测待转码的音视频流的输入路数以及完成转码的音视频流的输出路数,并对比所述输入路数和所述输出路数;若所述输入路数和所述输出路数不一致,退出当前的转码进程。
- 根据权利要求1所述的方法,其特征在于,所述转码服务器执行所述转码任务时,所述方法还包括:若待转码的音视频流在指定时长内持续转码失败,退出当前的转码进程。
- 根据权利要求1所述的方法,其特征在于,所述转码服务器执行所述转码任务时,所述方法还包括:从当前待转码的音视频流中解析出配置参数,并将当前解析出的所述配置参数与上一次解析出的配置参数进行对比,若两者不一致,读取解码器和滤镜中当前缓存的音视频数据,并将读取出的所述音视频数据进行编码后发送至直播服务器;重新初始化所述解码器和所述滤镜,并通过重新初始化后的解码器和滤镜 处理所述待转码的音视频流。
- 一种任务管理服务器,其特征在于,所述任务管理服务器包括存储器和处理器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至9中任一权利要求所述的方法。
- 一种转码任务的处理系统,其特征在于,所述系统包括流媒体服务器、任务管理服务器以及转码服务器,其中:所述流媒体服务器,用于创建转码任务,并将创建的所述转码任务发送至所述任务管理服务器;在接收到所述任务管理服务器发来的表征转码终止的提示信息时,判断是否重新建立所述转码任务;所述任务管理服务器,用于接收所述流媒体服务器创建的所述转码任务,并将所述转码任务调度至所述转码服务器处;检测所述转码任务在所述转码服务器中的执行状态,并当检测到所述转码任务终止时,向所述流媒体服务器反馈表征转码终止的提示信息;若所述流媒体服务器重新建立所述转码任务,接收所述流媒体服务器发来的重新建立的所述转码任务,并将重新建立的所述转码任务调度至所述转码服务器处;所述转码服务器,用于执行所述任务管理服务器调度来的转码任务。
- 根据权利要求11所述的系统,其特征在于,所述任务管理服务器包括:进程创建单元,用于创建状态监控进程,并通过所述状态监控进程,检测所述转码服务器中用于执行所述转码任务的转码进程是否退出;相应地,当检测到所述用于执行所述转码任务的转码进程退出时,表征所述转码任务终止。
- 根据权利要求11所述的系统,其特征在于,所述流媒体服务器包括:连接检测单元,用于在接收到所述提示信息后,检测与所述转码服务器之间所述转码任务指向的音视频流的连接是否断开;判断单元,用于判定若未断开,重新建立指向所述音视频流的所述转码任务;若断开,结束指向所述音视频流的所述转码任务。
- 根据权利要求11所述的系统,其特征在于,所述转码服务器包括:路数对比单元,用于检测待转码的音视频流的输入路数以及完成转码的音视频流的输出路数,并对比所述输入路数和所述输出路数;进程退出单元,用于若所述输入路数和所述输出路数不一致,退出当前的转码进程。
- 根据权利要求11所述的系统,其特征在于,所述转码服务器包括:配置参数处理单元,用于从当前待转码的音视频流中解析出配置参数,并将当前解析出的所述配置参数与上一次解析出的配置参数进行对比,若两者不一致,读取解码器和滤镜中当前缓存的音视频数据,并将读取出的所述音视频数据进行编码后发送至直播服务器;初始化单元,用于重新初始化所述解码器和所述滤镜,并通过重新初始化后的解码器和滤镜处理所述待转码的音视频流。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/094,088 US10645140B2 (en) | 2018-04-09 | 2018-05-09 | Method for processing transcoding task, system and task management server |
EP18863796.1A EP3579560A4 (en) | 2018-04-09 | 2018-05-09 | TRANSCODING TASK PROCESSING METHOD AND SYSTEM, AND TASK MANAGEMENT SERVER |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810312228.2A CN108521421B (zh) | 2018-04-09 | 2018-04-09 | 一种转码任务的处理方法、系统及任务管理服务器 |
CN201810312228.2 | 2018-04-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019196158A1 true WO2019196158A1 (zh) | 2019-10-17 |
Family
ID=63432187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/086182 WO2019196158A1 (zh) | 2018-04-09 | 2018-05-09 | 一种转码任务的处理方法、系统及任务管理服务器 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3579560A4 (zh) |
CN (1) | CN108521421B (zh) |
WO (1) | WO2019196158A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778856A (zh) * | 2021-07-27 | 2021-12-10 | 浙江大学 | 基于流媒体语义服务器的app检测方法和系统 |
CN113992537A (zh) * | 2021-10-26 | 2022-01-28 | 上海网达软件股份有限公司 | 在线转码的日志管理方法、系统、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109963169B (zh) * | 2019-04-04 | 2021-10-19 | 网宿科技股份有限公司 | 一种转码方法、服务器和计算机可读存储介质 |
CN110381340A (zh) * | 2019-06-10 | 2019-10-25 | 广州虎牙信息科技有限公司 | 视频文件处理系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009054139A1 (ja) * | 2007-10-24 | 2009-04-30 | Panasonic Corporation | 画像符号化方法、画像符号化装置、画像記録装置、及び集積回路 |
CN102143358A (zh) * | 2010-01-29 | 2011-08-03 | 新奥特(北京)视频技术有限公司 | 一种具有集群管理功能的转码系统 |
CN103167138A (zh) * | 2012-09-14 | 2013-06-19 | 深圳市金立通信设备有限公司 | 一种手机任意进制组合密码的实现系统及实现方法 |
CN105898318A (zh) * | 2015-12-21 | 2016-08-24 | 乐视云计算有限公司 | 离线转码方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104159127B (zh) * | 2014-08-21 | 2019-02-22 | 北京奇艺世纪科技有限公司 | 一种视频转码方法、装置及系统 |
CN105868009A (zh) * | 2016-03-23 | 2016-08-17 | 乐视控股(北京)有限公司 | 一种直播流软件转码任务管理方法和装置 |
-
2018
- 2018-04-09 CN CN201810312228.2A patent/CN108521421B/zh not_active Expired - Fee Related
- 2018-05-09 WO PCT/CN2018/086182 patent/WO2019196158A1/zh unknown
- 2018-05-09 EP EP18863796.1A patent/EP3579560A4/en not_active Ceased
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009054139A1 (ja) * | 2007-10-24 | 2009-04-30 | Panasonic Corporation | 画像符号化方法、画像符号化装置、画像記録装置、及び集積回路 |
CN102143358A (zh) * | 2010-01-29 | 2011-08-03 | 新奥特(北京)视频技术有限公司 | 一种具有集群管理功能的转码系统 |
CN103167138A (zh) * | 2012-09-14 | 2013-06-19 | 深圳市金立通信设备有限公司 | 一种手机任意进制组合密码的实现系统及实现方法 |
CN105898318A (zh) * | 2015-12-21 | 2016-08-24 | 乐视云计算有限公司 | 离线转码方法和系统 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3579560A4 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778856A (zh) * | 2021-07-27 | 2021-12-10 | 浙江大学 | 基于流媒体语义服务器的app检测方法和系统 |
CN113778856B (zh) * | 2021-07-27 | 2023-12-08 | 浙江大学 | 基于流媒体语义服务器的app检测方法和系统 |
CN113992537A (zh) * | 2021-10-26 | 2022-01-28 | 上海网达软件股份有限公司 | 在线转码的日志管理方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3579560A4 (en) | 2019-12-18 |
CN108521421A (zh) | 2018-09-11 |
EP3579560A1 (en) | 2019-12-11 |
CN108521421B (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019196158A1 (zh) | 一种转码任务的处理方法、系统及任务管理服务器 | |
US10645140B2 (en) | Method for processing transcoding task, system and task management server | |
CN109889762B (zh) | 一种会议控制方法和装置 | |
US9024999B2 (en) | Information processing apparatus, conference system, and storage medium | |
CN104602044B (zh) | 一种rtmp流媒体公网直播系统及其设计方法 | |
CN104902289B (zh) | 一种rtmp流媒体直播系统热备份的设计方法及其系统 | |
US20110085602A1 (en) | Video Communication System, Device and Method Based on Feedback Reference Frames | |
US8873368B2 (en) | Method for processing channel switching failure case, terminal device, and channel switching server | |
WO2016049987A1 (zh) | 一种数据处理方法、装置及相关服务器 | |
CN110300283B (zh) | 一种基于视联网的监控巡检控制方法及装置 | |
US20160057390A1 (en) | Obtaining replay of audio during a conference session | |
RU2531571C2 (ru) | Система видеоконтроля и ее способ прямого исправления ошибок (fec) | |
CN102833585A (zh) | 一种泛终端视频传输系统和方法 | |
US9706509B2 (en) | Synchronization of streaming data | |
EP2524503B1 (en) | Method and apparatus for transmitting video content compressed by codec | |
CN103929682B (zh) | 一种在视频直播系统中设置关键帧的方法及装置 | |
CN110536178B (zh) | 一种直播控制方法和系统 | |
US12063413B2 (en) | Device and system for streaming media interaction | |
CN111314654B (zh) | 基于安卓车载监控的高清播放技术的实现方法 | |
CN110798706A (zh) | 视频转码方法和装置 | |
US10447680B2 (en) | Communication control apparatus, communication control method, and recording medium | |
CN110324666B (zh) | 一种安防视频流的播放方法和系统 | |
CN102325249A (zh) | 应用于视频监控系统的实时监控方法及视频管理服务器 | |
CN110365930B (zh) | 一种数据处理方法和装置 | |
WO2024141075A1 (zh) | 视频流码率自适应方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2018863796 Country of ref document: EP Effective date: 20190409 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |