WO2016049987A1 - 一种数据处理方法、装置及相关服务器 - Google Patents

一种数据处理方法、装置及相关服务器 Download PDF

Info

Publication number
WO2016049987A1
WO2016049987A1 PCT/CN2014/095158 CN2014095158W WO2016049987A1 WO 2016049987 A1 WO2016049987 A1 WO 2016049987A1 CN 2014095158 W CN2014095158 W CN 2014095158W WO 2016049987 A1 WO2016049987 A1 WO 2016049987A1
Authority
WO
WIPO (PCT)
Prior art keywords
transcoding
target
server
data stream
source data
Prior art date
Application number
PCT/CN2014/095158
Other languages
English (en)
French (fr)
Inventor
潘登
姚冬
狄晓龙
郝连福
徐文义
钟建辉
Original Assignee
广州华多网络科技有限公司
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 广州华多网络科技有限公司 filed Critical 广州华多网络科技有限公司
Publication of WO2016049987A1 publication Critical patent/WO2016049987A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream

Definitions

  • the present invention relates to the field of Internet technologies, and in particular, to the field of data processing technologies, and in particular, to a data processing method and apparatus, a front-end server, a transcoding management server, and a transcoding server.
  • Transcoding technology refers to the technique of changing the data format, which can simultaneously change the code rate or resolution of the transcoded data.
  • Transcoding techniques are commonly used in data processing schemes, such as transcoding video data, transcoding audio data, and so on.
  • the data file is mainly transcoded.
  • a video website can transcode the stored original video file to obtain a target video file in multiple formats.
  • the client requests the video.
  • the video file of the appropriate format is selected for the client according to the decoding capability of the client.
  • the transcoding processing of the data file has low real-time performance, and cannot be applied to the live broadcast scenario, and cannot meet the requirements of low delay and high real-time transcoding in the live broadcast scenario.
  • the embodiment of the invention provides a data processing method and device, a front-end server, a transcoding management server and a transcoding server, which can perform transcoding processing on the source data stream of the live program, and the transcoding has high real-time performance and low delay, and can satisfy the live broadcast.
  • the actual transcoding requirements of the scene improve the efficiency and adaptability of data processing.
  • a first aspect of the embodiments of the present invention provides a data processing method, which may include:
  • the host front-end server When receiving the source data stream of the live program, the host front-end server sets the transcoding parameter according to the status information of the channel where the live program is located;
  • the supervisor front-end server sends a transcoding request carrying the transcoding parameter to the transcoding management server, and pushes the source data stream to the transcoding management server;
  • the transcoding management server selects a target transcoding server from at least one transcoding server, and Transcoding the application and the source data stream to the target transcoding server;
  • the target transcoding server transcodes the source data stream according to the transcoding parameters carried by the transcoding request, obtains a target data stream, and pushes the target data stream to the transcoding management server;
  • the transcoding management server pushes the target data stream to the supervisor front end server for output.
  • a second aspect of the embodiments of the present invention provides another data processing method, which may include:
  • the host front-end server When receiving the source data stream of the live program, the host front-end server sets the transcoding parameter according to the status information of the channel where the live program is located;
  • the supervisor front end server receives the target data stream pushed by the transcoding management server, and outputs the target data stream.
  • a third aspect of the embodiments of the present invention provides a data processing method, which may include:
  • the transcoding management server receives the transcoding request sent by the supervisor front-end server and carries the transcoding parameter, and receives the source data stream of the live program pushed by the supervisor front-end server, where the transcoding parameter is received by the supervisor front-end server.
  • the source data stream of the live program is described, it is set according to the status information of the channel where the live program is located;
  • the transcoding management server selects a target transcoding server from at least one transcoding server
  • the transcoding management server pushes the target data stream to the supervisor front end server for output.
  • a fourth aspect of the embodiments of the present invention provides a data processing method, which may include:
  • the target transcoding server receives the transcoding request carrying the transcoding parameter and the source data stream of the live program sent by the transcoding management server, wherein the transcoding request and the source data stream are sent by the transcoding management server from the supervisor front end Receiving, by the server, the transcoding parameter is set by the supervisor front-end server according to status information of a channel where the live program is located when receiving the source data stream of the live program;
  • the target transcoding server pushes the target data stream to the transcoding management server, so that the transcoding management server pushes the target data stream to the supervisor front end server for output.
  • a fifth aspect of the embodiments of the present invention provides a data processing apparatus, which may include:
  • a parameter setting module configured to: when receiving the source data stream of the live program, set a transcoding parameter according to status information of a channel where the live program is located;
  • a transcoding application module configured to send a transcoding request carrying the transcoding parameter to a transcoding management server, and push the source data stream to the transcoding management server, so that the transcoding management server is from at least one Selecting a target transcoding server in the transcoding server, and sending the transcoding request and the source data stream to the target transcoding server, and the transcoding parameter carried by the target transcoding server according to the transcoding request Transcoding the source data stream to obtain the target data stream and pushing the data stream to the transcoding management server;
  • a target data receiving module configured to receive the target data stream that is pushed by the transcoding management server
  • a target data output module configured to output the target data stream.
  • a sixth aspect of the embodiments of the present invention provides a front-end server, which may include the data processing apparatus according to the fifth aspect.
  • a seventh aspect of the embodiments of the present invention provides another data processing apparatus, which may include:
  • the transcoding application receiving module is configured to receive a transcoding request sent by the supervisor front-end server and carry the transcoding parameter, and receive a source data stream of the live program pushed by the supervisor front-end server, where the transcoding parameter is the supervisor
  • the front-end server is set according to status information of a channel where the live program is located;
  • a selection module configured to select a target transcoding server from at least one transcoding server
  • a transcoding processing module configured to send the transcoding request and the source data stream to the target transcoding a server, so that the target transcoding server transcodes the source data stream according to the transcoding parameter carried by the transcoding request, obtains a target data stream, and pushes the target data stream to the Code management server;
  • the target data pushing module is configured to push the target data stream to the supervisor front-end server for output.
  • An eighth aspect of the embodiments of the present invention provides a transcoding management server, which may include the data processing apparatus according to the seventh aspect.
  • a ninth aspect of the embodiments of the present invention provides a data processing apparatus, which may include:
  • a transcoding application receiving module configured to receive a transcoding request carrying a transcoding parameter and a source data stream of a live program sent by the transcoding management server, where the transcoding request and the source data stream are managed by the transcoding
  • the server receives and obtains from the supervisor front-end server, where the transcoding parameter is set by the supervisor front-end server according to the status information of the channel where the live program is located when receiving the source data stream of the live program;
  • transcoding processing module configured to transcode the source data stream according to the transcoding parameter carried by the transcoding request, to obtain a target data stream
  • a target data pushing module configured to push the target data stream to the transcoding management server, so that the transcoding management server pushes the target data stream to the competent front-end server for output.
  • a tenth aspect of the embodiments of the present invention provides a transcoding server, which may include the data processing apparatus according to the ninth aspect.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • FIG. 1 is a schematic structural diagram of a data processing system according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a data processing method according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of another data processing method according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of still another data processing method according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of still another data processing method according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of an embodiment of a parameter setting module shown in FIG. 7;
  • FIG. 9 is a schematic structural diagram of an embodiment of a target data output module shown in FIG. 7;
  • FIG. 10 is a schematic structural diagram of another data processing apparatus according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic structural diagram of an embodiment of the selection module shown in FIG. 10;
  • FIG. 12 is a schematic structural diagram of still another data processing apparatus according to an embodiment of the present disclosure.
  • FIG. 13 is a schematic structural diagram of an embodiment of the transcoding processing module shown in FIG.
  • the data processing solution of the embodiment of the present invention can be applied to the data processing system to perform real-time transcoding processing on the data stream of the live program.
  • the data stream of the live program can be a live audio stream, a live video stream, or the like.
  • the data processing system may include an anchor client, at least one audience client, at least one front-end server, a transcoding management server, and at least one transcoding server.
  • the anchor client, supervisor The front-end server, the at least one audience client, and the at least one member front-end server together form a live broadcast platform
  • the transcoding management server and the at least one transcoding server jointly form a real-time transcoding service system
  • the real-time transcoding service system is connected with the live broadcast platform, and is used for Provide real-time transcoding services for live platforms.
  • the space resource occupied by the live broadcast program in the live broadcast platform may be referred to as a channel.
  • each front-end server is used to manage one or more channels respectively. Any client can apply to create a channel to the front-end server connected to the client, and the front-end server can allocate space resources according to the channel creation application to complete channel creation, and can assign the channel such as: name, ID, access password, etc. Attribute information.
  • At least one client can access the created channel, and thus the channel can be referred to as a group consisting of at least one client for providing spatial resources for the live broadcast of the live program.
  • the client that obtains the anchor right may be referred to as an anchor client, and other clients that access the channel and do not obtain the anchor right may be referred to as a viewer client.
  • the anchor client has the operation permission for recording, uploading, and the like of the live program, and the viewer client has the right to browse the live program.
  • the anchor client can be any client with network function such as PC (Personal Computer), laptop, mobile phone, PAD (tablet), smart wearable device, car terminal, etc., the host client can record live broadcast.
  • the data information of the program, and the data information of the live program is compressed according to a streaming data format such as H.264 (a digital video compression format) or H.265 (a digital video compression format) to obtain a live program.
  • the source data stream is pushed to the hosting front-end server.
  • the anchor client may push the source data stream of the live program to the host front-end server according to the RTSP (Real Time Streaming Protocol) protocol of the TCP (Transmission Control Protocol) message.
  • RTSP Real Time Streaming Protocol
  • TCP Transmission Control Protocol
  • the front-end server connected to the anchor client can be referred to as the supervisor front-end server, and the front-end server connected to the viewer client is called the member front-end server.
  • the supervisor front-end server can be used to manage the channel on which the live program is located, find all viewer clients within the channel, and at least one member front-end server connected to each viewer client.
  • the supervisor front-end server may receive the source data stream of the live program pushed by the anchor client based on the RTSP protocol of the TCP packet, and push the data stream of the live program to at least one member front-end server corresponding to all viewer clients of the live program.
  • the source data stream of the live program is further forwarded by each member front-end server to each viewer client for playback.
  • the transcoding management server can be used to manage real-time transcoding services, including but not limited to: response straight Transcoding application of the broadcast platform, managing the working state of at least one transcoding server, performing task scheduling on the at least one transcoding server, and the like.
  • the number of transcoding management servers in the real-time transcoding service system may be one or more.
  • one of the transcoding management servers may serve as a primary server. It is used to undertake transcoding management tasks in the real-time transcoding service process, and the remaining transcoding management servers can be used as backup servers for redundant backup of the main server.
  • the transcoding server in the embodiment of the present invention preferably uses a DSP (Digital Signal Processing) chip, a GPU (Graphic Processing Unit) chip or an ASIC (Application). Specific Integrated Circuit (IC) chip.
  • DSP Digital Signal Processing
  • GPU Graphic Processing Unit
  • ASIC Application Specific Integrated Circuit
  • the transcoding management server is connected to the live broadcast platform. Specifically, the transcoding management server is connected to the supervisor front-end server in the live broadcast platform. When the supervisor front-end server detects that there is a transcoding requirement for the live program, it may send a transcoding request to the transcoding management server and push the source data stream of the live program. Specifically, the supervisor front-end server may be based on UDP (User Datagram Protocol). The RTSP protocol of the message pushes the source data stream of the live program to the transcoding management server. The transcoding management server schedules at least one transcoding server to accept the transcoding request, and transcodes the source data stream of the live program to obtain a target data stream of the live program. The transcoding management server feeds back the target data stream of the live program to the supervisor front-end server, and the host front-end server transmits the target data stream to each viewer client capable of decoding the target data stream through each member front-end server.
  • UDP User Datagram Protocol
  • FIG. 1 Based on the data processing system shown in FIG. 1 , the data processing method provided by the embodiment of the present invention will be described in detail below with reference to FIG. 2 to FIG. 6 .
  • the data processing method shown in FIG. 2 to FIG. 6 can be illustrated by FIG. 1 .
  • One or more devices in the data processing system are specifically executed.
  • FIG. 2 is a flowchart of a data processing method according to an embodiment of the present invention; this embodiment illustrates a specific process of a data processing method from a host front-end server side; the method may include the following steps S101 to S104.
  • the host front end server sets the transcoding parameter according to the status information of the channel where the live program is located.
  • the status information of the channel may include: feature information of at least one viewer client accessing the channel, and an identifier of the at least one member front end server connected to the at least one viewer client.
  • the transcoding parameter may include: a target code rate and a target data format.
  • the data format Refers to the encoded compression format of the data stream, which may include, but is not limited to, H.264 format, H.265 format, and the like.
  • the feature information of the viewer client may include: type information of the viewer client and decoding capability information of the viewer client.
  • the type information includes: a mobile type or a fixed type; the mobile type viewer client may include, but is not limited to, a client with portability and mobility characteristics such as a notebook computer, a mobile phone, and a smart wearable device; and a fixed type of audience client.
  • the terminal may include, but is not limited to, a client having a relatively fixed location characteristic such as a PC.
  • the decoding capability information of the viewer client refers to information for describing the decoding capability of the viewer client. For example, the decoding capability information of a viewer client is used to describe that the viewer client can encode a code rate of 600 Kbps. The data stream of 264 is decoded; or the decoding capability information of a viewer client is used to describe the viewer client capability to decode the H.265 data stream of 1024 Kbps code rate.
  • the supervisor front-end server can receive the source data stream of the live program sent by the anchor client in the channel it manages, and the supervisor front-end server can obtain the state information of the channel where the live program is located, and according to the status of the channel. Information set transcoding parameters.
  • the supervisor front-end server sends a transcoding request carrying the transcoding parameter to a transcoding management server, and pushes the source data stream to the transcoding management server, so that the transcoding management server is from at least one Selecting a target transcoding server in the transcoding server, and sending the transcoding request and the source data stream to the target transcoding server, and the transcoding parameter carried by the target transcoding server according to the transcoding request Transcoding the source data stream to obtain a target data stream and pushing the data stream to the transcoding management server.
  • the supervisor front-end server may establish a TCP connection with the transcoding management server, send a transcoding request carrying the transcoding parameter to the transcoding management server, and may forward the packet according to the RTSP protocol of the UDP packet.
  • the code management server pushes the source data stream.
  • the transcoding management server may schedule the managed at least one transcoding server to convert the source data stream of the live program into the target data stream of the live program according to the indication of the transcoding parameter.
  • the supervisor front-end server receives the target data stream pushed by the transcoding management server.
  • the transcoding management server may push the target data stream obtained by transcoding to the supervisor front-end server based on the RTSP protocol of the UDP packet; the supervisor front-end server may be based on the The RTSP protocol of the UDP packet receives the target data stream pushed by the transcoding management server.
  • the supervisor front end server outputs the target data stream.
  • the supervisor front-end server may output the target data stream to the viewer client capable of decoding the target data stream through each member front-end server, and play the target data stream by the audience client receiving the target data stream.
  • each member front-end server can perform the target data stream based on the RT/S protocol of the client/server (client/server) or the RTSP protocol of the peer-to-peer network (P2P).
  • the decoded viewer client outputs the target data stream.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • FIG. 3 is a flowchart of another data processing method according to an embodiment of the present invention. This embodiment illustrates a specific process of a data processing method from a transcoding management server side; the method may include the following steps S201 to S204.
  • the transcoding management server receives a transcoding request sent by the supervisor front-end server and carries a transcoding parameter, and receives a source data stream of the live program pushed by the supervisor front-end server, where the transcoding parameter is received by the supervisor front-end server.
  • the source data stream of the live program is reached, it is set according to the status information of the channel where the live program is located.
  • the status information of the channel includes: feature information of at least one audience client connected to the channel, and an identifier of the at least one member front-end server connected to the at least one audience client; the feature information of the audience client includes The type information of the viewer client and the decoding capability information of the viewer client; the type information includes: a mobile type or a fixed type; and the transcoding parameters include: a target code rate and a target data format.
  • the transcoding management server may establish a TCP connection with the supervisor front-end server, and receive a transcoding request sent by the supervisor front-end server that carries the transcoding parameter;
  • the RTSP protocol of the UDP packet receives the source data stream of the live program pushed by the hosting front-end server.
  • the transcoding management server selects a target transcoding server from at least one transcoding server.
  • the transcoding management server can be configured to manage the working status of the at least one transcoding server and perform task scheduling on the at least one transcoding server. In this step, the transcoding management server may perform task scheduling on the at least one transcoding server according to the working state of the at least one transcoding server, and select a target to receive the scheduling task from the at least one transcoding server. Transcoding server.
  • the transcoding management server sends the transcoding request and the source data stream to the target transcoding server, so that the target transcoding server according to the transcoding parameter carried by the transcoding request is
  • the source data stream is subjected to transcoding processing to obtain a target data stream, and the target data stream is pushed to the transcoding management server.
  • the transcoding management server sends the transcoding request to the target transcoding server, and may push the source data stream to the target transcoding server based on an RTSP protocol of the UDP packet.
  • the target transcoding server may convert the source data stream of the live program into a target data stream of the live program according to the indication of the transcoding parameter carried by the transcoding request.
  • the target transcoding server may also push the target data stream to the transcoding management server based on the RTSP protocol of the UDP packet.
  • the transcoding management server pushes the target data stream to the supervisor front-end server for output.
  • the transcoding management server may push the target data stream to the supervisor front end server based on the RTSP protocol of the UDP message.
  • the supervisor front-end server may output the target data stream to the viewer client capable of decoding the target data stream through each member front-end server, and play the target data stream by the audience client receiving the target data stream.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • FIG. 4 is a flowchart of still another data processing method according to an embodiment of the present invention.
  • the embodiment illustrates a specific process of the data processing method from the target transcoding server side; the method may include the following steps S301 to S303.
  • the target transcoding server receives a transcoding request carrying a transcoding parameter and a source data stream of a live program sent by the transcoding management server, where the transcoding request and the source data stream are from the transcoding management server.
  • the supervisor front-end server receives the acquisition, and the transcoding parameter is set by the supervisor front-end server according to the status information of the channel where the live program is located when receiving the source data stream of the live program.
  • the status information of the channel includes: feature information of at least one audience client connected to the channel, and an identifier of the at least one member front-end server connected to the at least one audience client; the feature information of the audience client includes The type information of the viewer client and the decoding capability information of the viewer client; the type information includes: a mobile type or a fixed type; and the transcoding parameters include: a target code rate and a target data format.
  • the target transcoding server receives the transcoding request sent by the transcoding management server, and indicates that the scheduling task of the transcoding management server is accepted, and the receiving protocol can be received based on the RTSP protocol of the UDP packet.
  • the source data stream of the live program pushed by the transcoding management server is described.
  • the target transcoding server performs transcoding processing on the source data stream according to the transcoding parameter carried by the transcoding request to obtain a target data stream.
  • the target transcoding server may convert the source data stream of the live program into a target data stream of the live program according to the indication of the transcoding parameter carried by the transcoding request.
  • the target transcoding server pushes the target data stream to the transcoding management server, so that the transcoding management server pushes the target data stream to the supervisor front end server for output.
  • the target transcoding server may forward the target data stream of the live program to the transcoding management server based on the RTSP protocol of the UDP packet; the transcoding management server may use the RTSP protocol based on the UDP packet to
  • the target data stream of the live program is pushed to the supervisor front-end server, and the host front-end server pushes the target data stream through the member front-end client to the viewer client capable of decoding the target data stream for playing.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request and the push source carrying the transcoding parameter to the transcoding management server.
  • Data stream, the target transcoding server is scheduled by the transcoding management server to transcode the source data stream according to the transcoding parameter to obtain the target data stream and finally output, because the source data stream is directly in the process of the live program
  • the transcoding process is performed, and the transcoding has high real-time performance and low delay, which can meet the actual transcoding requirements of the live broadcast scenario, and improve the efficiency and adaptability of data processing.
  • FIG. 5 is a flowchart of still another data processing method according to an embodiment of the present invention; the embodiment illustrates a specific data processing method from an interaction side between a supervisor front-end server, a transcoding management server, and a target transcoding server.
  • the method may include the following steps S401 to S408.
  • the host front end server sets the transcoding parameter according to the status information of the channel where the live program is located.
  • the status information of the channel may include: feature information of at least one viewer client accessing the channel, and an identifier of the at least one member front end server connected to the at least one viewer client.
  • the transcoding parameter may include: a target code rate and a target data format.
  • the data format refers to an encoded compression format of the data stream, which may include, but is not limited to, an H.264 format, an H.265 format, and the like.
  • the feature information of the viewer client may include: type information of the viewer client and decoding capability information of the viewer client.
  • the type information includes: a mobile type or a fixed type; the mobile type viewer client may include, but is not limited to, a client with portability and mobility characteristics such as a notebook computer, a mobile phone, and a smart wearable device; and a fixed type of audience client.
  • the terminal may include, but is not limited to, a client having a relatively fixed location characteristic such as a PC.
  • the decoding capability information of the viewer client refers to information for describing the decoding capability of the viewer client. For example, the decoding capability information of a viewer client is used to describe that the viewer client can encode a code rate of 600 Kbps. The data stream of 264 is decoded; or the decoding capability information of a viewer client is used to describe that the viewer client can decode the H.265 data stream of 1024 Kbps code rate.
  • the supervisor front-end server can receive the source data stream of the live program sent by the anchor client in the channel it manages, and the supervisor front-end server can obtain the state information of the channel where the live program is located, and according to the status of the channel. Information set transcoding parameters.
  • the supervisor front-end server sends a transcoding request carrying the transcoding parameter to a transcoding management server, and pushes the source data stream to the transcoding management server.
  • the supervisor front-end server may establish a TCP connection with the transcoding management server, send a transcoding request carrying the transcoding parameter to the transcoding management server, and may forward the packet according to the RTSP protocol of the UDP packet.
  • the code management server pushes the source data stream.
  • the transcoding management server selects a target transcoding server from at least one transcoding server.
  • the transcoding management server may be configured to manage an operating status of the at least one transcoding server and perform task scheduling on the at least one transcoding server. In this step, the transcoding management server may perform task scheduling on the at least one transcoding server according to the working state of the at least one transcoding server, and select a target to receive the scheduling task from the at least one transcoding server. Transcoding server.
  • the transcoding management server sends the transcoding request and the source data stream to the target transcoding server.
  • the transcoding management server sends the transcoding request to the target transcoding server, and may push the source data stream to the target transcoding server based on an RTSP protocol of the UDP packet.
  • the target transcoding server performs transcoding processing on the source data stream according to the transcoding parameter carried by the transcoding request to obtain a target data stream.
  • the target transcoding server may convert the source data stream of the live program into a target data stream of the live program according to the indication of the transcoding parameter carried by the transcoding request.
  • the target transcoding server pushes the target data stream to the transcoding management server.
  • the target transcoding server may also push the target data stream to the transcoding management server based on the RTSP protocol of the UDP packet.
  • the transcoding management server pushes the target data stream to the supervisor front-end server.
  • the transcoding management server may push the target data stream to the supervisor front end server based on the RTSP protocol of the UDP message.
  • the supervisor front end server outputs the target data stream.
  • the supervisor front-end server may output the target data stream to the viewer client capable of decoding the target data stream through each member front-end server, and play the target data stream by the audience client receiving the target data stream.
  • each member front-end server may output the target data stream to a viewer client capable of decoding the target data stream based on the C/S RTSP protocol or the P2P RTSP protocol.
  • the status information of the channel where the live program is located may be obtained by the supervisor front-end server. Setting a transcoding parameter, and transmitting, to the transcoding management server, a transcoding request carrying the transcoding parameter and a push source data stream, where the transcoding management server schedules the target transcoding server to the source data stream according to the transcoding parameter
  • the transcoding process is performed to obtain the target data stream and finally output. Since the source data stream is transcoded directly during the live program, the transcoding has high real-time performance and low delay, which can meet the actual transcoding requirements of the live broadcast scenario and improve the data. Processing efficiency and adaptability.
  • FIG. 6 is a flowchart of still another data processing method according to an embodiment of the present invention.
  • the embodiment illustrates a specific data processing method from an interaction side between a supervisor front-end server, a transcoding management server, and a target transcoding server.
  • the method may include the following steps S501 to S517.
  • the supervisor front-end server When receiving a source data stream of a live program sent by an anchor client connected to the supervisor front-end server, the supervisor front-end server acquires state information of a channel where the live program is located.
  • the supervisor front-end server can receive the source data stream of the live program sent by the anchor client in the channel it manages.
  • the supervisor front-end server can receive the source data stream of the high-definition live program XX sent by the anchor client, the source.
  • the data stream has a bit rate of 10 Mbps and the data format is H.264.
  • the supervisor front-end server may acquire a configuration file for recording status information of each channel managed in the local storage space, and read status information of the channel where the live program is located from the configuration file.
  • the status information of the channel may include: feature information of at least one viewer client accessing the channel, and an identifier of the at least one member front end server connected to the at least one viewer client.
  • the feature information of the viewer client may include: type information of the viewer client and decoding capability information of the viewer client.
  • the supervisor front-end server determines, as the target audience client, a viewer client whose type information is a mobile type in the at least one viewer client.
  • Mobile-type audience clients may include, but are not limited to, laptops, mobile phones, smart wearable devices, and the like with portability and mobility features.
  • the hardware performance of the mobile type viewer client and the fixed type viewer client is different.
  • the hardware performance of the mobile type viewer client is lower than that of the fixed type viewer client, and often cannot be used for the decoding task of the HD program.
  • the hardware performance of a mobile phone client cannot support the decoding task of the source data stream, so that the source data stream is After the mobile phone client decodes and processes, there is a frame loss, a stuck phenomenon, and an increase in the mobile phone.
  • the supervisor front-end server determines the audience client whose type information is the mobile type in the at least one viewer client as the target audience client, to provide real-time decoding service for the determined target audience client.
  • the supervisor front-end server determines whether the number of the target audience clients is greater than a preset number threshold; if the number of the target audience clients is greater than a preset number threshold, then the process proceeds to step S504.
  • Step S503 is an optional step of the embodiment, that is, after step S502, step S504 can be directly performed by skipping this step S503.
  • the preset number threshold may be set according to actual needs, and the preset number threshold is a positive integer. For example, the preset number threshold may be set to 3, 5, 20, and the like. If the number of the target audience clients is greater than the preset number threshold, indicating that a sufficient number of audience clients in the live broadcast platform are waiting for the real-time transcoding service, the process may proceed to step S504 to initiate a subsequent decoding process.
  • the supervisor front-end server sets a transcoding parameter according to the decoding capability information of the target audience client.
  • the decoding capability information of the target audience client refers to information for describing the decoding capability of the target audience client.
  • the decoding capability information of a mobile phone client is used to describe that the mobile phone client can encode a code rate of 600 Kbps.
  • the H.264 data stream is decoded, and the supervisor front-end server can set the transcoding parameter to include a target code rate of 600 Kbps and the target data format is H.264; for example, the decoding capability information of a PAD client is used to describe the
  • the PAD client can decode the H.265 data stream of 1024 Kbps code rate, and the supervisor front end server can set the transcoding parameter to include a target code rate of 1024 Kbps and a target data format of H.265.
  • Steps S501 to S504 of this embodiment may be specific refinement steps of step S401 of the embodiment shown in FIG. 5.
  • the supervisor front-end server sends a transcoding request carrying the transcoding parameter to a transcoding management server, and pushes the source data stream to the transcoding management server.
  • the supervisor front-end server may perform a package processing on the transcoding parameter to generate a transcoding request based on a transmission protocol negotiated with the transcoding management server, such as a TCP protocol, and establish a TCP connection with the transcoding management server. Transmitting a transcoding request carrying the transcoding parameter to the transcoding management server; and pushing the source data stream to the transcoding management server based on an RTSP protocol of the UDP packet.
  • a transmission protocol negotiated with the transcoding management server such as a TCP protocol
  • the transcoding management server detects a resource idle rate of each transcoding server in the at least one transcoding server.
  • the transcoding management server may be configured to manage an operating status of the at least one transcoding server and perform task scheduling on the at least one transcoding server.
  • the transcoding management server may determine an operating state of the at least one transcoding server by detecting a resource idle rate of each transcoding server in the at least one transcoding server.
  • an ongoing transcoding task occupies one transcoding resource of a transcoding server. For example, a transcoding server has a total of 10 transcoding resources, and currently 9 transcoding tasks are being executed, that is, 9 channels are currently occupied. If the resource is transcoded, the resource idle rate of the transcoding server is 1/10.
  • the transcoding management server determines, as the target transcoding server, a transcoding server whose resource idle rate is greater than a preset idle threshold.
  • the preset idle threshold is a value between (0, 1), and the preset idle threshold may be set according to actual needs, for example, to ensure transcoding efficiency and reduce processing load of the transcoding server,
  • the preset idle threshold is 1, 0.5, etc. If the resource idle rate of a transcoding server is greater than the preset idle threshold, it indicates that the transcoding server has sufficient transcoding resources and is capable of accepting a new transcoding task.
  • the transcoding management server may determine, as the target transcoding server, a transcoding server whose resource idle rate is greater than the preset idle threshold.
  • Steps S506 to S507 of this embodiment may be specific refinement steps of step S403 of the embodiment shown in FIG. 5.
  • the transcoding management server detects whether the target data format is a data format supported by the target transcoding server.
  • the transcoding management server may parse the transcoding request based on a transmission protocol negotiated with the supervisor front end server, such as a TCP protocol, to obtain the transcoding parameter.
  • the transcoding management server may obtain management information for recording the supported data format of the target transcoding server from the local storage space, and determine whether the target transcoding server supports the target data included in the transcoding parameter. format.
  • the transcoding management server downloads the upgrade file according to the target data format.
  • the target data format is a data format supported by the target transcoding server, indicating that the The target transcoding server may complete the data format requirement of the transcoding request; if the target data format is not the data format supported by the target transcoding server, indicating that the target transcoding server cannot complete the transcoding request
  • the data format requires that the target transcoding server needs to be upgraded; for example, if the data format included in the transcoding parameter is H.265, the transcoding management server reads the data format supported by the target transcoding server.
  • H.264 indicates that the target transcoding server can only transcode the data stream in the H.264 format, and cannot transcode the data stream in the H.265 format, and the transcoding management server determines The target transcoding server needs to be upgraded, and then the upgrade file is downloaded.
  • the transcoding management server sends the upgrade file to the target transcoding server, so that the target transcoding server uses the upgrade file to perform upgrade.
  • the target transcoding server after the target transcoding server performs the upgrade, the data format of the H.265 can be supported, and the data format requirement of the transcoding request can be completed.
  • the transcoding management server may synchronously update the data format supported by the target transcoding management server in the management information.
  • the transcoding management server sends the transcoding request and the source data stream to the target transcoding server.
  • the transcoding management server may send the transcoding request and the source data stream to the target transcoding server based on a transmission protocol negotiated between the target transcoding servers.
  • the sending process of this step may include:
  • the transcoding management server may send, to the target transcoding server, a transcoding request that does not carry the transcoding parameter, and the target transcoding server receives the transcoding request that does not carry the transcoding parameter.
  • can perform self-test for example: check whether the transcoding task corresponding to the transcoding request is repeated; or, check whether the local transcoding resource is sufficient, etc., if the transcoding task is not repeated, and the local transcoding resource is sufficient,
  • the success acceptance information is returned to the transcoding management server.
  • the transcoding management server After receiving the successful acceptance information returned by the target transcoding server, the transcoding management server transmits the transcoding parameter to the target transcoding server.
  • the transcoding parameter may be transmitted by using a transcoding configuration word (AVCDecoderConfigurationRecord), and the structure of the transcoding configuration word may be expressed as follows:
  • the target transcoding server receives the transcoding configuration word and returns configuration success information to the transcoding management server.
  • a disaster tolerance mechanism may also be set, and the target transcoding server may detect whether the transcoding configuration word is received within a preset time (for example, 30s, 40s, etc.), if Receiving the transcoding configuration word in a set time, indicating that there is a reliable and stable transmission connection between the target transcoding server and the transcoding management server; if the transcoding configuration is not received within a preset time a word indicating that the transmission connection between the target transcoding server and the transcoding management server is unstable, and is not suitable for transcoding, and the target transcoding server may return a configuration failure to the transcoding management server. information.
  • the source data stream may be pushed to the transcoding management server based on the RTSP protocol of the UDP packet.
  • the target transcoding server determines whether the received current frame of the source data stream is a key frame.
  • the target transcoding server converts a code rate of the source data stream into a target code rate, and converts a data format of the source data stream into the Target data format to obtain the target data stream.
  • the source data stream is composed of key frames and non-key frames.
  • the key frames are important frames in the source data stream to ensure complete reconstruction during decoding.
  • the live video stream can be composed of I frames and P frames.
  • the I frame is a key frame of the live video stream
  • the P frame is a non-key frame of the live video stream
  • the I frame can ensure that the complete image can be reconstructed during decoding.
  • the target transcoding server discards the current frame of the source data stream, and continues to receive the source data stream to perform the repeated determination of step S512 until receiving the
  • the live video stream is taken as an example.
  • step S512 it is determined whether the current frame of the received live video stream is an I frame. If the current frame of the received live video stream is a P frame, the discard is discarded. Continue to judge if the current live stream is received When the frame is an I frame, the discarding is stopped and the determination of step S512 is performed, and the process proceeds to step S513 to perform transcoding processing from the I frame to convert the source data stream into the target data stream.
  • Step S512 - step S513 may be a specific refinement step of step S405 of the embodiment shown in FIG. 5. Step S512 - step S513 can ensure that the target transcoding server performs transcoding processing from key frames of the source data stream, thereby ensuring accuracy of the target data stream obtained by transcoding.
  • the target transcoding server pushes the target data stream to the transcoding management server.
  • the target transcoding server may also push the target data stream to the transcoding management server based on the RTSP protocol of the UDP packet.
  • the transcoding management server pushes the target data stream to the supervisor front-end server.
  • the transcoding management server may push the target data stream to the supervisor front end server based on the RTSP protocol of the UDP message.
  • the supervisor front-end server searches for a target member front-end server connected to the target audience client.
  • the target audience client is a viewer client capable of decoding the target data stream.
  • the supervisor front-end server pushes the target data stream to the target member front-end server, so that the target member front-end server outputs the target data stream to the target audience client.
  • the target member front-end server may output the target data stream to the target audience client according to the C/S RTSP protocol or the P2P RTSP protocol.
  • Step S516 - step S517 may be a specific refinement step of step S408 of the embodiment shown in FIG. 5.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • a data processing apparatus will be described in detail below with reference to FIG. 7 to FIG.
  • the device can be run in a front-end server, specifically in a supervisor front-end server, for use in the methods shown in Figures 2-6 above.
  • FIG. 7 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present invention.
  • the apparatus may include: a parameter setting module 101, a transcoding application module 102, a target data receiving module 103, and a target data output module 104.
  • the parameter setting module 101 is configured to: when receiving the source data stream of the live program, set the transcoding parameter according to the status information of the channel where the live program is located.
  • the status information of the channel may include: feature information of at least one viewer client accessing the channel, and an identifier of the at least one member front end server connected to the at least one viewer client.
  • the transcoding parameter may include: a target code rate and a target data format.
  • the data format refers to an encoded compression format of the data stream, which may include, but is not limited to, an H.264 format, an H.265 format, and the like.
  • the feature information of the viewer client may include: type information of the viewer client and decoding capability information of the viewer client.
  • the type information includes: a mobile type or a fixed type; the mobile type viewer client may include, but is not limited to, a client with portability and mobility characteristics such as a notebook computer, a mobile phone, and a smart wearable device; and a fixed type of audience client.
  • the terminal may include, but is not limited to, a client having a relatively fixed location characteristic such as a PC.
  • the decoding capability information of the viewer client refers to information for describing the decoding capability of the viewer client. For example, the decoding capability information of a viewer client is used to describe that the viewer client can encode a code rate of 600 Kbps. The data stream of 264 is decoded; or the decoding capability information of a viewer client is used to describe the viewer client capability to decode the H.265 data stream of 1024 Kbps code rate.
  • the parameter setting module 101 can receive the source data stream of the live program sent by the anchor client in the channel it manages, and the parameter setting module 101 can obtain the status information of the channel where the live program is located, and according to the channel.
  • the status information sets the transcoding parameters.
  • the transcoding application module 102 is configured to send, to the transcoding management server, a transcoding request that carries the transcoding parameter, and push the source data stream to the transcoding management server, so that the transcoding management server is at least Selecting a target transcoding server from a transcoding server, and sending the transcoding request and the source data stream to the target transcoding server, where the target transcoding server carries the retransmission according to the transcoding request.
  • the transcoding parameter of the band is subjected to transcoding processing on the source data stream, and the target data stream is obtained and pushed to the transcoding management server.
  • the supervisor front-end server may establish a TCP connection with the transcoding management server, and the transcoding application module 102 may send a transcoding request carrying the transcoding parameter to the transcoding management server based on the TCP connection;
  • the source data stream is pushed to the transcoding management server based on the RTSP protocol of the UDP packet.
  • the transcoding management server may schedule the managed at least one transcoding server to convert the source data stream of the live program into the target data stream of the live program according to the indication of the transcoding parameter.
  • the target data receiving module 103 is configured to receive the target data stream that is pushed by the transcoding management server.
  • the transcoding management server may push the target data stream obtained by transcoding to the supervisor front-end server according to the RTSP protocol of the UDP packet; the target data receiving module 103 may receive the RTSP protocol based on the UDP packet.
  • the target data stream pushed by the transcoding management server may push the target data stream obtained by transcoding to the supervisor front-end server according to the RTSP protocol of the UDP packet; the target data receiving module 103 may receive the RTSP protocol based on the UDP packet.
  • the target data output module 104 is configured to output the target data stream.
  • the target data output module 104 may output the target data stream to the audience client capable of decoding the target data stream by each member front-end server, and play the target data stream by the audience client receiving the target data stream.
  • each member front-end server may output the target data stream to a viewer client capable of decoding the target data stream based on the C/S RTSP protocol or the P2P RTSP protocol.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • the parameter setting module 101 may include a state information acquiring unit 1101 , a target determining unit 1102 , and a parameter setting unit 1103 .
  • the status information obtaining unit 1101 is configured to acquire status information of a channel where the live program is located when receiving a source data stream of a live program sent by the anchor client connected to the host front-end server.
  • the status information acquiring unit 1101 may receive the source data stream of the live program sent by the anchor client in the channel managed by the host front-end server, for example, the status information acquiring unit 1101 may receive the anchor client.
  • the source data stream of the transmitted HD live program XX has a code rate of 10 Mbps, and the data format is H.264.
  • the status information acquiring unit 1101 may acquire a configuration file for recording status information of the managed channels from the storage space of the supervisor front-end server, and read the status of the channel where the live program is located from the configuration file. information.
  • the status information of the channel may include: feature information of at least one viewer client accessing the channel, and an identifier of the at least one member front end server connected to the at least one viewer client.
  • the feature information of the viewer client may include: type information of the viewer client and decoding capability information of the viewer client.
  • the target determining unit 1102 is configured to determine, as the target audience client, a viewer client whose type information is a mobile type in the at least one audience client.
  • Mobile-type audience clients may include, but are not limited to, laptops, mobile phones, smart wearable devices, and the like with portability and mobility features.
  • the hardware performance of the mobile type viewer client and the fixed type viewer client is different.
  • the hardware performance of the mobile type viewer client is lower than that of the fixed type viewer client, and often cannot be used for the decoding task of the HD program.
  • the target determining unit 1102 determines a viewer client whose type information is a mobile type in the at least one viewer client as a target audience client, to provide a real-time decoding service for the determined target audience client.
  • the parameter setting unit 1103 is configured to set a transcoding parameter according to the decoding capability information of the target audience client.
  • the decoding capability information of the target audience client refers to information for describing the decoding capability of the target audience client, for example, the decoding capability information of a mobile phone client is used to describe the mobile phone.
  • the client can decode the data stream of the K.264 data rate of 600 Kbps, and the parameter setting unit 1103 can set the target code rate of the transcoding parameter to be 600 Kbps, and the target data format is H.264;
  • the decoding capability information of the PAD client is used to describe that the PAD client can decode the H.265 data stream of 1024 Kbps code rate, and the parameter setting unit 1103 can set the target code rate of the transcoding parameter to be 1024 Kbps.
  • the data format is H.265.
  • the parameter setting module 101 may further include: a quantity determining unit 1104.
  • the quantity determining unit 1104 is configured to determine whether the number of the target audience clients is greater than a preset number threshold, and if the number of the target audience clients is greater than a preset number threshold, notify the parameter setting unit according to the target audience client Decoding capability information, setting transcoding parameters.
  • the preset number threshold may be set according to actual needs, and the preset number threshold is a positive integer. For example, the preset number threshold may be set to 3, 5, 20, and the like. If the number of the target audience clients is greater than the preset number threshold, indicating that a sufficient number of audience clients in the live broadcast platform are waiting for the real-time transcoding service, the quantity determining unit 1104 may notify the parameter setting unit to set the transcoding parameters.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • the target data output module 104 may include a lookup unit 1401 and an output unit 1402.
  • the searching unit 1401 is configured to find a target member front-end server connected to the target audience client. Since the real-time transcoding process is served by the target audience client, the target audience client is a viewer client capable of decoding the target data stream.
  • the output unit 1402 is configured to push the target data stream to the target member front end server, so that the target member front end server outputs the target data stream to the target audience client.
  • the target member front-end server may be based on the C/S RTSP protocol or The RTSP protocol of P2P outputs the target data stream to the target audience client for the target data stream.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • the embodiment of the present invention further discloses a front-end server, which may be a supervisor front-end server, and the supervisor front-end server includes a data processing device.
  • a front-end server which may be a supervisor front-end server
  • the supervisor front-end server includes a data processing device.
  • the structure and function of the data processing device can be implemented as shown in FIG. 7 to FIG. 9 above. The related description of the examples will not be described here.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • FIG. 10 Another data processing apparatus according to an embodiment of the present invention will be described in detail below with reference to FIG. 10 to FIG.
  • the apparatus can be run in a transcoding management server for use in the methods illustrated in Figures 2-6 above.
  • FIG. 10 is a schematic structural diagram of another data processing apparatus according to an embodiment of the present invention.
  • the apparatus may include: a transcoding application receiving module 201, a selecting module 202, a transcoding processing module 203, and a target data pushing module 204.
  • the transcoding application receiving module 201 is configured to receive a transcoding request sent by the supervisor front-end server and carry the transcoding parameter, and receive a source data stream of the live program pushed by the supervisor front-end server, where the transcoding parameter is
  • the host front-end server is set according to the status information of the channel where the live program is located.
  • the status information of the channel includes: feature information of at least one audience client connected to the channel, and an identifier of the at least one member front-end server connected to the at least one audience client; the feature information of the audience client includes The type information of the viewer client and the decoding capability information of the viewer client; the type information includes: a mobile type or a fixed type; and the transcoding parameters include: a target code rate and a target data format.
  • the transcoding management server may establish a TCP connection with the supervisor front-end server, and the transcoding application receiving module 201 may receive, according to the TCP connection, a transcoding request sent by the supervisor front-end server that carries the transcoding parameter, and The source data stream of the live program pushed by the hosting front-end server may be received according to the RTSP protocol of the UDP message.
  • the selecting module 202 is configured to select a target transcoding server from the at least one transcoding server.
  • the transcoding management server can be configured to manage the working status of the at least one transcoding server and perform task scheduling on the at least one transcoding server.
  • the selecting module 202 may perform task scheduling on the at least one transcoding server according to the working state of the at least one transcoding server, and select a target transcoding server that accepts the scheduling task from the at least one transcoding server.
  • a transcoding processing module 203 configured to send the transcoding request and the source data stream to the target transcoding server, so that the target transcoding server according to the transcoding parameter carried by the transcoding request,
  • the source data stream is subjected to transcoding processing to obtain a target data stream, and the target data stream is pushed to the transcoding management server.
  • the transcoding processing module 203 sends the transcoding request to the target transcoding server, and may push the source data stream to the target transcoding server based on the RTSP protocol of the UDP packet.
  • the target transcoding server may convert the source data stream of the live program into a target data stream of the live program according to the indication of the transcoding parameter carried by the transcoding request.
  • the target transcoding server may also push the target data stream to the transcoding management server based on the RTSP protocol of the UDP packet.
  • the target data pushing module 204 is configured to push the target data stream to the supervisor front-end server for output.
  • the target data pushing module 204 can push the target data stream to the supervisor front-end server based on the RTSP protocol of the UDP message.
  • the supervisor front-end server may output the target data stream to the viewer client capable of decoding the target data stream through each member front-end server, and play the target data stream by the audience client receiving the target data stream.
  • the apparatus may further include: an upgrade detection module 205, a download module 206, and an upgrade module 207.
  • the upgrade detection module 205 is configured to detect whether the target data format is a data format supported by the target transcoding server.
  • the upgrade detection module 205 may parse the transcoding request based on a transmission protocol negotiated with the supervisor front-end server, such as a TCP protocol, to obtain the transcoding parameter.
  • the upgrade detection module 205 may obtain management information for recording the supported data format of the target transcoding server from the storage space of the transcoding management server, and determine whether the target transcoding server supports the rotation. The target data format included in the code parameter.
  • the downloading module 206 is configured to download an upgrade file according to the target data format if the target data format is not a data format supported by the target transcoding server.
  • the target data format is a data format supported by the target transcoding server, indicating that the target transcoding server can complete the data format requirement of the transcoding request; if the target data format is not the target transcoding
  • the data format supported by the server indicates that the target transcoding server cannot complete the data format requirement of the transcoding request, and the target transcoding server needs to be upgraded; for example, if the transcoding parameter includes a data format of H 265.
  • the upgrade detection module 205 reads that the data format supported by the target transcoding server is H.264, which indicates that the target transcoding server can only transcode the data stream in the H.264 format.
  • the data stream of the H.265 format cannot be transcoded, the target transcoding server needs to be upgraded, and the download module 206 downloads the upgrade file.
  • the upgrade module 207 is configured to send the upgrade file to the target transcoding server, so that the target transcoding server uses the upgrade file to perform the upgrade.
  • the target transcoding server after the target transcoding server performs the upgrade, the data format of the H.265 can be supported, and the data format requirement of the transcoding request can be completed.
  • the transcoding management server may synchronously update the data format supported by the target transcoding management server in the management information.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency which can meet the requirements of live broadcast scenarios. Transcoding requirements to improve the efficiency and adaptability of data processing.
  • FIG. 11 is a schematic structural diagram of an embodiment of the selection module shown in FIG. 10; the selection module 202 may include: a resource detection unit 2201 and a determination unit 2202.
  • the resource detecting unit 2201 is configured to detect a resource idle rate of each transcoding server in the at least one transcoding server.
  • the transcoding management server may be configured to manage an operating status of the at least one transcoding server and perform task scheduling on the at least one transcoding server.
  • the resource detecting unit 2201 may determine an operating state of the at least one transcoding server by detecting a resource idle rate of each transcoding server in the at least one transcoding server.
  • an ongoing transcoding task occupies one transcoding resource of a transcoding server. For example, a transcoding server has a total of 10 transcoding resources, and currently 9 transcoding tasks are being executed, that is, 9 channels are currently occupied. If the resource is transcoded, the resource idle rate of the transcoding server is 1/10.
  • the determining unit 2202 is configured to determine, as the target transcoding server, a transcoding server whose resource idle rate is greater than a preset idle threshold.
  • the preset idle threshold is a value between (0, 1), and the preset idle threshold may be set according to actual needs, for example, to ensure transcoding efficiency and reduce processing load of the transcoding server,
  • the preset idle threshold is 1, 0.5, etc. If the resource idle rate of a transcoding server is greater than the preset idle threshold, it indicates that the transcoding server has sufficient transcoding resources and is capable of accepting a new transcoding task.
  • the determining unit 2202 may determine, as the target transcoding server, a transcoding server whose resource idle rate is greater than the preset idle threshold.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • the embodiment of the invention further discloses a transcoding management server, and the transcoding management server can include a
  • the transcoding management server can include a
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • a further data processing apparatus will be described in detail below with reference to FIG. 12 to FIG.
  • the device can be run in a transcoding server, specifically in a target transcoding server, for use in the methods shown in Figures 2-6 above.
  • FIG. 12 is a schematic structural diagram of another data processing apparatus according to an embodiment of the present invention.
  • the apparatus may include: a transcoding application receiving module 301, a transcoding processing module 302, and a target data pushing module 303.
  • the transcoding application receiving module 301 is configured to receive a transcoding request carrying a transcoding parameter and a source data stream of the live program sent by the transcoding management server, where the transcoding request and the source data stream are transcoded by the transcoding
  • the management server receives the obtained information from the supervisor front-end server, and the transcoding parameter is set by the supervisor front-end server according to the status information of the channel where the live program is located when receiving the source data stream of the live program.
  • the status information of the channel includes: feature information of at least one audience client connected to the channel, and an identifier of the at least one member front-end server connected to the at least one audience client; the feature information of the audience client includes The type information of the viewer client and the decoding capability information of the viewer client; the type information includes: a mobile type or a fixed type; and the transcoding parameters include: a target code rate and a target data format.
  • the transcoding application receiving module 301 receives the transcoding request sent by the transcoding management server, and indicates that the scheduling task of the transcoding management server is accepted, and the retransmission is received according to the RTSP protocol of the UDP packet.
  • the transcoding processing module 302 is configured to: according to the transcoding parameter carried by the transcoding request, the source number The transcoding process is performed according to the stream to obtain the target data stream.
  • the transcoding processing module 302 may convert the source data stream of the live program into a target data stream of the live program according to the indication of the transcoding parameter carried by the transcoding request.
  • the target data pushing module 303 is configured to push the target data stream to the transcoding management server, so that the transcoding management server pushes the target data stream to the supervisor front-end server for output.
  • the target data pushing module 303 may send a target data stream of the live program to the transcoding management server based on the RTSP protocol of the UDP packet; the transcoding management server may use the RTSP protocol of the UDP packet to The target data stream of the live program is pushed to the supervisor front-end server, and the host front-end server pushes the target data stream through each member front-end client to a viewer client capable of decoding the target data stream. .
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • the transcoding processing module 302 may include: a frame determining unit 3201 and a transcoding processing unit 3202.
  • the frame determining unit 3201 is configured to determine whether the received current frame of the source data stream is a key frame.
  • the transcoding processing unit 3202 is configured to convert a code rate of the source data stream into a target code rate if the current frame of the source data stream is a key frame, and convert the data format of the source data stream into the Target data format to obtain the target data stream.
  • the source data stream is composed of key frames and non-key frames.
  • the key frames are important frames in the source data stream to ensure complete reconstruction during decoding.
  • the live video stream can be composed of I frames and P frames.
  • the I frame is a key frame of the live video stream
  • the P frame is a non-key frame of the live video stream
  • the I frame can ensure that the complete image can be reconstructed during decoding. If the frame determining unit 3201 determines the source data stream The previous frame is a non-key frame, and the target transcoding server discards the current frame of the source data stream, and the frame determining unit 3201 continues to receive the source data stream for repeated determination until the source data stream is received.
  • the frame determining unit 3201 determines whether the current frame of the received live video stream is an I frame, and if the current frame of the received live video stream is a P frame, discards and continues. It is determined that if the current frame of the received live video stream is an I frame, the discarding and judging are stopped, and the transcoding processing unit 3202 performs transcoding processing from the I frame to convert the source data stream into the target data stream.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • the embodiment of the present invention further discloses a transcoding server, which may be a target transcoding server, and the target transcoding server may include a data processing device.
  • a transcoding server which may be a target transcoding server
  • the target transcoding server may include a data processing device.
  • the structure and function of the data processing device can be seen in FIG. 12 - The related description of the embodiment shown in FIG. 13 is not described here.
  • the supervising front-end server may set the transcoding parameter according to the status information of the channel where the live program is located, and send the transcoding request carrying the transcoding parameter and the push source data stream to the transcoding management server, where the forwarding is performed.
  • the code management server scheduling target transcoding server transcodes the source data stream according to the transcoding parameter to obtain the target data stream and finally outputs the data stream, and transcodes the source data stream directly during the live program.
  • High real-time performance and low latency can meet the actual transcoding requirements of the live broadcast scenario and improve the efficiency and adaptability of data processing.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种数据处理方法、装置及相关服务器,其中的方法可包括:主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,向转码管理服务器发送携带转码参数的转码申请及推送直播节目的源数据流;转码管理服务器从至少一个转码服务器中选取目标转码服务器,并将所述转码申请和源数据流发送至目标转码服务器;目标转码服务器根据转码参数,对所述源数据流进行转码处理,获得目标数据流推送至转码管理服务器;转码管理服务器将所述目标数据流推送至主管前端服务器进行输出。

Description

一种数据处理方法、装置及相关服务器
本申请要求于2014年9月29日提交中国专利局、申请号为201410523088.5,发明名称为“一种数据处理方法、装置及相关服务器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及互联网技术领域,具体涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、前端服务器、转码管理服务器及转码服务器。
背景技术
转码技术指改变数据格式的技术,能够同时改变被转码的数据的码率或分辨率。转码技术通常被应用于数据处理方案中,例如:对视频数据进行转码处理,对音频数据进行转码处理,等等。传统的数据处理方案中,主要是对数据文件进行转码处理,例如:某视频网站可以对已存储的原始视频文件进行转码处理,获得多种格式的目标视频文件,当客户端请求该视频文件时,根据客户端的解码能力,为客户端选取合适格式的视频文件。然而,传统的数据处理方案中对数据文件的转码处理实时性低,无法应用于直播场景,无法满足直播场景中延迟低、实时性高等转码需求。
发明内容
本发明实施例提供一种数据处理方法、装置、前端服务器、转码管理服务器及转码服务器,能够对直播节目的源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
本发明实施例第一方面提供了一种数据处理方法,可包括:
当接收到直播节目的源数据流时,主管前端服务器根据所述直播节目所在频道的状态信息,设置转码参数;
所述主管前端服务器向转码管理服务器发送携带所述转码参数的转码申请,并向所述转码管理服务器推送所述源数据流;
所述转码管理服务器从至少一个转码服务器中选取目标转码服务器,并将 所述转码申请和所述源数据流发送至所述目标转码服务器;
所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流,并将所述目标数据流推送至所述转码管理服务器;
所述转码管理服务器将所述目标数据流推送至所述主管前端服务器进行输出。
本发明实施例第二方面提供另一种数据处理方法,可包括:
当接收到直播节目的源数据流时,主管前端服务器根据所述直播节目所在频道的状态信息,设置转码参数;
所述主管前端服务器向转码管理服务器发送携带所述转码参数的转码申请,并向所述转码管理服务器推送所述源数据流,以使所述转码管理服务器从至少一个转码服务器中选取目标转码服务器,并将所述转码申请和所述源数据流发送至所述目标转码服务器,由所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流推送至所述转码管理服务器;
所述主管前端服务器接收所述转码管理服务器推送的所述目标数据流,并对所述目标数据流进行输出。
本发明实施例第三方面提供又一种数据处理方法,可包括:
转码管理服务器接收主管前端服务器发送的携带转码参数的转码申请,并接收所述主管前端服务器推送的直播节目的源数据流,所述转码参数为所述主管前端服务器在接收到所述直播节目的源数据流时,根据所述直播节目所在频道的状态信息所设置;
所述转码管理服务器从至少一个转码服务器中选取目标转码服务器;
所述转码管理服务器将所述转码申请和所述源数据流发送至所述目标转码服务器,以使所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流,并将所述目标数据流推送至所述转码管理服务器;
所述转码管理服务器将所述目标数据流推送至所述主管前端服务器进行输出。
本发明实施例第四方面提供又一种数据处理方法,可包括:
目标转码服务器接收转码管理服务器发送的携带转码参数的转码申请和直播节目的源数据流,其中,所述转码申请和所述源数据流由所述转码管理服务器从主管前端服务器接收获得,所述转码参数为所述主管前端服务器在接收到所述直播节目的源数据流时,根据所述直播节目所在频道的状态信息所设置;
所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流;
所述目标转码服务器将所述目标数据流推送至所述转码管理服务器,以使所述转码管理服务器将所述目标数据流推送至所述主管前端服务器进行输出。
本发明实施例第五方面提供一种数据处理装置,可包括:
参数设置模块,用于当接收到直播节目的源数据流时,根据所述直播节目所在频道的状态信息,设置转码参数;
转码申请模块,用于向转码管理服务器发送携带所述转码参数的转码申请,并向所述转码管理服务器推送所述源数据流,以使所述转码管理服务器从至少一个转码服务器中选取目标转码服务器,并将所述转码申请和所述源数据流发送至所述目标转码服务器,由所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流推送至所述转码管理服务器;
目标数据接收模块,用于接收所述转码管理服务器推送的所述目标数据流;
目标数据输出模块,用于对所述目标数据流进行输出。
本发明实施例第六方面提供一种前端服务器,可包括上述第五方面所述的数据处理装置。
本发明实施例第七方面提供另一种数据处理装置,可包括:
转码申请接收模块,用于接收主管前端服务器发送的携带所述转码参数的转码申请,并接收所述主管前端服务器推送的直播节目的源数据流,所述转码参数为所述主管前端服务器在接收到所述直播节目的源数据流时,根据所述直播节目所在频道的状态信息所设置;
选取模块,用于从至少一个转码服务器中选取目标转码服务器;
转码处理模块,用于将所述转码申请和所述源数据流发送至所述目标转码 服务器,以使所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流,并将所述目标数据流推送至所述转码管理服务器;
目标数据推送模块,用于将所述目标数据流推送至所述主管前端服务器进行输出。
本发明实施例第八方面提供一种转码管理服务器,可包括上述第七方面所述的数据处理装置。
本发明实施例第九方面提供又一种数据处理装置,可包括:
转码申请接收模块,用于接收转码管理服务器发送的携带转码参数的转码申请和直播节目的源数据流,其中,所述转码申请和所述源数据流由所述转码管理服务器从主管前端服务器接收获得,所述转码参数为所述主管前端服务器在接收到所述直播节目的源数据流时,根据所述直播节目所在频道的状态信息所设置;
转码处理模块,用于根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流;
目标数据推送模块,用于将所述目标数据流推送至所述转码管理服务器,以使所述转码管理服务器将所述目标数据流推送至所述主管前端服务器进行输出。
本发明实施例第十方面提供一种转码服务器,可包括上述第九方面所述的数据处理装置。
实施本发明实施例,具有如下有益效果:
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据处理系统的结构示意图;
图2为本发明实施例提供的一种数据处理方法的流程图;
图3为本发明实施例提供的另一种数据处理方法的流程图;
图4为本发明实施例提供的又一种数据处理方法的流程图;
图5为本发明实施例提供的又一种数据处理方法的流程图;
图6为本发明实施例提供的又一种数据处理方法的流程图;
图7为本发明实施例提供的一种数据处理装置的结构示意图;
图8为图7所示的参数设置模块的实施例的结构示意图;
图9为图7所示的目标数据输出模块的实施例的结构示意图;
图10为本发明实施例提供的另一种数据处理装置的结构示意图;
图11为图10所示的选取模块的实施例的结构示意图;
图12为本发明实施例提供的又一种数据处理装置的结构示意图;
图13为图12所示的转码处理模块的实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的数据处理方案,可以应用于数据处理系统中以对直播节目的数据流进行实时转码处理;其中,直播节目的数据流可以为直播音频流、直播视频流等等。
请参见图1,为本发明实施例提供的数据处理系统的结构示意图;该数据处理系统可包括主播客户端、至少一个观众客户端、至少一个前端服务器、转码管理服务器以及至少一个转码服务器。图1所示系统中,主播客户端、主管 前端服务器、至少一个观众客户端以及至少一个成员前端服务器共同构成直播平台,转码管理服务器及至少一个转码服务器共同构成实时转码服务系统,实时转码服务系统与直播平台相连接,用于为直播平台提供实时转码服务。
其中,直播节目在直播平台中所占用的空间资源,可以称为频道。直播平台中的至少一个前端服务器中,各前端服务器分别用于管理一个或多个频道。任一客户端可以向与该客户端相连接的前端服务器申请创建频道,前端服务器可根据频道创建申请分配空间资源以完成频道创建,并可为该频道分配诸如:名称、ID、接入密码等的属性信息。至少一个客户端可以接入至已创建的频道中,因此,频道又可称为由至少一个客户端构成的、用于为直播节目的直播过程提供空间资源的群组。当某个接入频道中的客户端申请获得主播权限后,获得主播权限的客户端可称为主播客户端,其他接入该频道中且未获得主播权限的客户端则可称为观众客户端。主播客户端具备直播节目的录制、上传等操作权限,观众客户端具备直播节目的浏览权限。主播客户端可以为诸如PC(Personal Computer,个人计算机)、笔记本电脑、手机、PAD(平板电脑)、智能可穿戴设备、车载终端等带网络功能的任一种客户端,主播客户端可录制直播节目的数据信息,并将直播节目的数据信息按照诸如H.264(一种数字视频压缩格式)或H.265(一种数字视频压缩格式)等流式数据格式进行压缩处理,获得直播节目的源数据流并推送给主管前端服务器。具体地,主播客户端可以基于TCP(Transmission Control Protocol,传输控制协议)报文的RTSP(Real Time Streaming Protocol,实时流传输协议)协议,将直播节目的源数据流推送至主管前端服务器。
与主播客户端相连接的前端服务器可称为主管前端服务器,与观众客户端相连接的前端服务器中称为成员前端服务器。主管前端服务器可用于管理直播节目所在频道,查找该频道内的所有观众客户端以及与各观众客户端相连接的至少一个成员前端服务器。主管前端服务器可基于TCP报文的RTSP协议接收主播客户端推送的直播节目的源数据流,并将该直播节目的数据流推送至收看直播节目的所有观众客户端对应的至少一个成员前端服务器,进一步由各成员前端服务器将直播节目的源数据流转发至各观众客户端进行播放。
转码管理服务器可用于对实时转码服务进行管理,包括但不限于:响应直 播平台的转码申请,管理至少一个转码服务器的工作状态,对所述至少一个转码服务器进行任务调度等等。实际应用中,实时转码服务系统中的转码管理服务器的数量可以为一个或多个,当实时转码服务系统中具备多个转码管理服务器时,其中一个转码管理服务器可以作为主服务器,用于在实时转码服务过程中承担转码管理任务,其余的转码管理服务器可以作为备用服务器,用于为主服务器进行冗余备份。为了提升转码效率,提升硬件处理性能,本发明实施例中的转码服务器优选可采用DSP(Digital Signal Processing,数字信号处理)芯片、GPU(Graphic Processing Unit,图像处理单元)芯片或ASIC(Application Specific Integrated Circuit,集成电路)芯片。
转码管理服务器与直播平台相连接,具体地,转码管理服务器与直播平台中的主管前端服务器相连接。主管前端服务器检测到直播节目存在转码需求时,可向转码管理服务器发送转码申请以及推送直播节目的源数据流,具体地,主管前端服务器可基于UDP(User Datagram Protocol,用户数据报协议)报文的RTSP协议,向转码管理服务器推送直播节目的源数据流。转码管理服务器调度至少一个转码服务器受理该转码申请,对直播节目的源数据流进行转码处理,获得直播节目的目标数据流。转码管理服务器将直播节目的目标数据流反馈给主管前端服务器,由主管前端服务器通过各成员前端服务器将目标数据流发送至能够对该目标数据流进行解码的观众客户端进行播放。
基于图1所示的数据处理系统,下面将结合图2-图6,对本发明实施例提供的数据处理方法进行详细介绍,图2-图6所示的数据处理方法,可以由图1所示的数据处理系统中的一个或多个装置具体执行。
请参见图2,为本发明实施例提供的一种数据处理方法的流程图;本实施例从主管前端服务器侧阐述数据处理方法的具体流程;该方法可包括以下步骤S101-步骤S104。
S101,当接收到直播节目的源数据流时,主管前端服务器根据所述直播节目所在频道的状态信息,设置转码参数。
所述频道的状态信息可包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识。其中,所述转码参数可包括:目标码率和目标数据格式。其中,数据格式 指数据流的编码压缩格式,可包括但不限于:H.264格式、H.265格式等等。所述观众客户端的特征信息可包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息。
所述类型信息包括:移动类型或固定类型;移动类型的观众客户端可以包括但不限于:笔记本电脑、手机、智能可穿戴设备等具备便携性、移动性特点的客户端;固定类型的观众客户端可以包括但不限于:PC等具备位置相对固定性特点的客户端。所述观众客户端的解码能力信息指用于描述所述观众客户端所具备的解码能力的信息,例如:某观众客户端的解码能力信息用于描述该观众客户端能够对600Kbps码率的、H.264的数据流进行解码;或者,某观众客户端的解码能力信息用于描述该观众客户端能力对1024Kbps码率的、H.265的数据流进行解码。
本步骤中,主管前端服务器可以在其管理的频道内接收到主播客户端所发送的直播节目的源数据流,主管前端服务器可获取所述直播节目所在频道的状态信息,并依据该频道的状态信息设置转码参数。
S102,所述主管前端服务器向转码管理服务器发送携带所述转码参数的转码申请,并向所述转码管理服务器推送所述源数据流,以使所述转码管理服务器从至少一个转码服务器中选取目标转码服务器,并将所述转码申请和所述源数据流发送至所述目标转码服务器,由所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流推送至所述转码管理服务器。
所述主管前端服务器可与所述转码管理服务器建立TCP连接,向所述转码管理服务器发送携带所述转码参数的转码申请;并可以基于UDP报文的RTSP协议,向所述转码管理服务器推送所述源数据流。所述转码管理服务器可调度所管理的至少一个转码服务器,按照所述转码参数的指示,将所述直播节目的源数据流转化为所述直播节目的目标数据流。
S103,所述主管前端服务器接收所述转码管理服务器推送的所述目标数据流。
所述转码管理服务器可以基于UDP报文的RTSP协议,向所述主管前端服务器推送转码获得的所述目标数据流;所述主管前端服务器则可基于该 UDP报文的RTSP协议,接收所述转码管理服务器推送的所述目标数据流。
S104,所述主管前端服务器对所述目标数据流进行输出。
所述主管前端服务器可以通过各成员前端服务器将目标数据流输出至能够对该目标数据流进行解码的观众客户端,由接收到该目标数据流的观众客户端对该目标数据流进行播放。实际应用中,各成员前端服务器可以基于C/S(Client/Server,客户端/服务器)的RTSP协议或者P2P(Peer to Peer,对等网络)的RTSP协议,向能够对所述目标数据流进行解码的观众客户端输出所述目标数据流。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
请参见图3,为本发明实施例提供的另一种数据处理方法的流程图;本实施例从转码管理服务器侧阐述数据处理方法的具体流程;该方法可包括以下步骤S201-步骤S204。
S201,转码管理服务器接收主管前端服务器发送的携带转码参数的转码申请,并接收所述主管前端服务器推送的直播节目的源数据流,所述转码参数为所述主管前端服务器在接收到所述直播节目的源数据流时,根据所述直播节目所在频道的状态信息所设置。
所述频道的状态信息包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识;所述观众客户端的特征信息包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息;所述类型信息包括:移动类型或固定类型;所述转码参数包括:目标码率和目标数据格式。
本步骤中,所述转码管理服务器可与所述主管前端服务器建立TCP连接,接收所述主管前端服务器发送的携带所述转码参数的转码申请;并可以基于 UDP报文的RTSP协议,接收所述主管前端服务器推送的直播节目的源数据流。
S202,所述转码管理服务器从至少一个转码服务器中选取目标转码服务器。
转码管理服务器可用于管理至少一个转码服务器的工作状态以及对所述至少一个转码服务器进行任务调度。本步骤中,所述转码管理服务器可以根据所述至少一个转码服务器的工作状态,对所述至少一个转码服务器进行任务调度,从所述至少一个转码服务器中选取接受调度任务的目标转码服务器。
S203,所述转码管理服务器将所述转码申请和所述源数据流发送至所述目标转码服务器,以使所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流,并将所述目标数据流推送至所述转码管理服务器。
所述转码管理服务器向所述目标转码服务器发送所述转码申请,并可以基于UDP报文的RTSP协议,向所述目标转码服务器推送所述源数据流。所述目标转码服务器可根据所述转码申请携带的转码参数的指示,将所述直播节目的源数据流转化为所述直播节目的目标数据流。所述目标转码服务器也可基于UDP报文的RTSP协议,将所述目标数据流推送至所述转码管理服务器。
S204,所述转码管理服务器将所述目标数据流推送至所述主管前端服务器进行输出。
所述转码管理服务器可以基于UDP报文的RTSP协议,向所述主管前端服务器推送所述目标数据流。所述主管前端服务器可以通过各成员前端服务器将目标数据流输出至能够对该目标数据流进行解码的观众客户端,由接收到该目标数据流的观众客户端对该目标数据流进行播放。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
请参见图4,为本发明实施例提供的又一种数据处理方法的流程图;本实 施例从目标转码服务器侧阐述数据处理方法的具体流程;该方法可包括以下步骤S301-步骤S303。
S301,目标转码服务器接收转码管理服务器发送的携带转码参数的转码申请和直播节目的源数据流,其中,所述转码申请和所述源数据流由所述转码管理服务器从主管前端服务器接收获得,所述转码参数为所述主管前端服务器在接收到所述直播节目的源数据流时,根据所述直播节目所在频道的状态信息所设置。
所述频道的状态信息包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识;所述观众客户端的特征信息包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息;所述类型信息包括:移动类型或固定类型;所述转码参数包括:目标码率和目标数据格式。
本步骤中,所述目标转码服务器接收所述转码管理服务器发送的所述转码申请,并表明接受所述转码管理服务器的调度任务,并可以基于UDP报文的RTSP协议,接收所述转码管理服务器推送的直播节目的源数据流。
S302,所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流。
所述目标转码服务器可根据所述转码申请携带的转码参数的指示,将所述直播节目的源数据流转化为所述直播节目的目标数据流。
S303,所述目标转码服务器将所述目标数据流推送至所述转码管理服务器,以使所述转码管理服务器将所述目标数据流推送至所述主管前端服务器进行输出。
所述目标转码服务器可以基于UDP报文的RTSP协议,向所述转码管理服务器推送的直播节目的目标数据流;所述转码管理服务器则可基于UDP报文的RTSP协议,将所述直播节目的目标数据流推送至所述主管前端服务器,由所述主管前端服务器通过各成员前端客户端将所述目标数据流推送至能够对所述目标数据流进行解码的观众客户端进行播放。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源 数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
请参见图5,为本发明实施例提供的又一种数据处理方法的流程图;本实施例从主管前端服务器、转码管理服务器及目标转码服务器之间的交互侧阐述数据处理方法的具体流程;该方法可包括以下步骤S401-步骤S408。
S401,当接收到直播节目的源数据流时,主管前端服务器根据所述直播节目所在频道的状态信息,设置转码参数。
所述频道的状态信息可包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识。其中,所述转码参数可包括:目标码率和目标数据格式。其中,数据格式指数据流的编码压缩格式,可包括但不限于:H.264格式、H.265格式等等。所述观众客户端的特征信息可包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息。
所述类型信息包括:移动类型或固定类型;移动类型的观众客户端可以包括但不限于:笔记本电脑、手机、智能可穿戴设备等具备便携性、移动性特点的客户端;固定类型的观众客户端可以包括但不限于:PC等具备位置相对固定性特点的客户端。所述观众客户端的解码能力信息指用于描述所述观众客户端所具备的解码能力的信息,例如:某观众客户端的解码能力信息用于描述该观众客户端能够对600Kbps码率的、H.264的数据流进行解码;或者,某观众客户端的解码能力信息用于描述该观众客户端能够对1024Kbps码率的、H.265的数据流进行解码。
本步骤中,主管前端服务器可以在其管理的频道内接收到主播客户端所发送的直播节目的源数据流,主管前端服务器可获取所述直播节目所在频道的状态信息,并依据该频道的状态信息设置转码参数。
S402,所述主管前端服务器向转码管理服务器发送携带所述转码参数的转码申请,并向所述转码管理服务器推送所述源数据流。
所述主管前端服务器可与所述转码管理服务器建立TCP连接,向所述转码管理服务器发送携带所述转码参数的转码申请;并可以基于UDP报文的RTSP协议,向所述转码管理服务器推送所述源数据流。
S403,所述转码管理服务器从至少一个转码服务器中选取目标转码服务器。
所述转码管理服务器可用于管理至少一个转码服务器的工作状态以及对所述至少一个转码服务器进行任务调度。本步骤中,所述转码管理服务器可以根据所述至少一个转码服务器的工作状态,对所述至少一个转码服务器进行任务调度,从所述至少一个转码服务器中选取接受调度任务的目标转码服务器。
S404,所述转码管理服务器将所述转码申请和所述源数据流发送至所述目标转码服务器。
所述转码管理服务器向所述目标转码服务器发送所述转码申请,并可以基于UDP报文的RTSP协议,向所述目标转码服务器推送所述源数据流。
S405,所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流。
所述目标转码服务器可根据所述转码申请携带的转码参数的指示,将所述直播节目的源数据流转化为所述直播节目的目标数据流。
S406,所述目标转码服务器将所述目标数据流推送至所述转码管理服务器。
所述目标转码服务器也可基于UDP报文的RTSP协议,将所述目标数据流推送至所述转码管理服务器。
S407,所述转码管理服务器将所述目标数据流推送至所述主管前端服务器。
所述转码管理服务器可以基于UDP报文的RTSP协议,向所述主管前端服务器推送所述目标数据流。
S408,所述主管前端服务器对所述目标数据流进行输出。
所述主管前端服务器可以通过各成员前端服务器将目标数据流输出至能够对该目标数据流进行解码的观众客户端,由接收到该目标数据流的观众客户端对该目标数据流进行播放。实际应用中,各成员前端服务器可以基于C/S的RTSP协议或者P2P的RTSP协议,向能够对所述目标数据流进行解码的观众客户端输出所述目标数据流。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息, 设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
请参见图6,为本发明实施例提供的又一种数据处理方法的流程图;本实施例从主管前端服务器、转码管理服务器及目标转码服务器之间的交互侧阐述数据处理方法的具体流程;该方法可包括以下步骤S501-步骤S517。
S501,当接收到与所述主管前端服务器相连接的主播客户端发送的直播节目的源数据流时,所述主管前端服务器获取所述直播节目所在频道的状态信息。
主管前端服务器可以在其管理的频道内接收到主播客户端所发送的直播节目的源数据流,例如:主管前端服务器可接收到主播客户端所发送的高清直播节目XX的源数据流,该源数据流的码率为10Mbps,数据格式为H.264。主管前端服务器可以在本地的存储空间中获取用于记录所管理的各个频道的状态信息的配置文件,并从该配置文件中读取所述直播节目所在频道的状态信息。所述频道的状态信息可包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识。所述观众客户端的特征信息可包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息。
S502,所述主管前端服务器将所述至少一个观众客户端中类型信息为移动类型的观众客户端确定为目标观众客户端。
移动类型的观众客户端可以包括但不限于:笔记本电脑、手机、智能可穿戴设备等具备便携性、移动性特点的客户端。通常,移动类型的观众客户端与固定类型的观众客户端的硬件性能存在一定差异,移动类型的观众客户端的硬件性能相较于固定类型的观众客户端的硬件性能低,往往无法胜任高清节目的解码任务,例如:针对码率为10Mbps,数据格式为H.264的高清直播节目XX的源数据流,某手机客户端的硬件性能无法较好的支持该源数据流的解码任务,使得该源数据流被该手机客户端解码处理后,出现丢帧、卡顿现象,增加手机 客户端的功耗,影响该源数据流的正常播放输出。本步骤中,所述主管前端服务器将所述至少一个观众客户端中类型信息为移动类型的观众客户端确定为目标观众客户端,以为所确定的目标观众客户端提供实时解码服务。
S503,所述主管前端服务器判断所述目标观众客户端的数量是否大于预设数量阈值;若所述目标观众客户端的数量大于预设数量阈值,则转入步骤S504。
步骤S503为本实施例的可选步骤,即在步骤S502之后,可跳过本步骤S503直接执行步骤S504。本步骤中,所述预设数量阈值可以根据实际需要进行设定,该预设数量阈值为正整数,例如:所述预设数量阈值可以设定为3、5、20等等。若所述目标观众客户端的数量大于预设数量阈值,表明直播平台中存在足够数量的观众客户端等待实时转码服务,则可转入步骤S504以启动后续解码流程。
S504,所述主管前端服务器根据所述目标观众客户端的解码能力信息,设置转码参数。
所述目标观众客户端的解码能力信息指用于描述所述目标观众客户端所具备的解码能力的信息,例如:某手机客户端的解码能力信息用于描述该手机客户端能够对600Kbps码率的、H.264的数据流进行解码,所述主管前端服务器则可设置转码参数包括的目标码率为600Kbps,目标数据格式为H.264;再如:某PAD客户端的解码能力信息用于描述该PAD客户端能够对1024Kbps码率的、H.265的数据流进行解码,所述主管前端服务器则可设置转码参数包括的目标码率为1024Kbps,目标数据格式为H.265。
本实施例的步骤S501-步骤S504可以为图5所示实施例的步骤S401的具体细化步骤。
S505,所述主管前端服务器向转码管理服务器发送携带所述转码参数的转码申请,并向所述转码管理服务器推送所述源数据流。
所述主管前端服务器可基于与所述转码管理服务器所协商的传输协议,例如TCP协议,对所述转码参数进行封装处理生成转码申请,并与所述转码管理服务器建立TCP连接,将携带所述转码参数的转码申请发送至所述转码管理服务器;并可基于UDP报文的RTSP协议,向所述转码管理服务器推送所述源数据流。
S506,所述转码管理服务器检测所述至少一个转码服务器中各转码服务器的资源空闲率。
所述转码管理服务器可用于管理至少一个转码服务器的工作状态以及对所述至少一个转码服务器进行任务调度。所述转码管理服务器可通过检测所述至少一个转码服务器中各转码服务器的资源空闲率,确定所述至少一个转码服务器的工作状态。通常,一个正在执行的转码任务会占用一个转码服务器的一路转码资源,例如:某转码服务器总共存在10路转码资源,当前正在执行9个转码任务,即当前被占用9路转码资源,则该转码服务器的资源空闲率为1/10。
S507,所述转码管理服务器将资源空闲率大于预设空闲阈值的转码服务器确定为目标转码服务器。
所述预设空闲阈值为(0,1]之间的数值,所述预设空闲阈值可以根据实际需要进行设定,例如:为了保证转码效率,减少转码服务器的处理负荷,可设置所述预设空闲阈值为1、0.5等等。若某转码服务器的资源空闲率大于所述预设空闲阈值,表明所述转码服务器存在足够的转码资源,有能力接受新的转码任务,所述转码管理服务器则可将资源空闲率大于所述预设空闲阈值的转码服务器确定为目标转码服务器。
本实施例的步骤S506-步骤S507可以为图5所示实施例的步骤S403的具体细化步骤。
S508,所述转码管理服务器检测所述目标数据格式是否为所述目标转码服务器所支持的数据格式。
所述转码管理服务器可以基于与所述主管前端服务器所协商的传输协议,例如TCP协议,对所述转码申请进行解析,获得所述转码参数。所述转码管理服务器可从本地存储空间中获取用于记录所述目标转码服务器的所支持的数据格式的管理信息,判断所述目标转码服务器是否支持所述转码参数包括的目标数据格式。
S509,若所述目标数据格式并非所述目标转码服务器所支持的数据格式,所述转码管理服务器根据所述目标数据格式下载升级文件。
若所述目标数据格式为所述目标转码服务器所支持的数据格式,表明所述 目标转码服务器可以完成所述转码申请的数据格式要求;若所述目标数据格式并非所述目标转码服务器所支持的数据格式,表明所述目标转码服务器无法完成所述转码申请的数据格式要求,所述目标转码服务器需要升级;例如:若所述转码参数所包括的数据格式为H.265,所述转码管理服务器读取到所述目标转码服务器所支持数据格式为H.264,则表明所述目标转码服务器仅能够对H.264格式的数据流进行转码处理,无法对H.265格式的数据流进行转码处理,所述转码管理服务器则确定所述目标转码服务器需要进行升级,则下载升级文件。
S510,所述转码管理服务器将所述升级文件发送至所述目标转码服务器,以使所述目标转码服务器采用所述升级文件进行升级。
按照步骤S509所示例子,当所述目标转码服务器进行升级之后,可支持H.265的数据格式,能够完成所述转码申请的数据格式要求。所述转码管理服务器可以在管理信息中同步更新所述目标转码管理服务器所支持数据格式。
S511,所述转码管理服务器将所述转码申请和所述源数据流发送至所述目标转码服务器。
所述转码管理服务器可以基于所述目标转码服务器之间协商的传输协议,向所述目标转码服务器发送所述转码申请和所述源数据流。具体实现中,本步骤的发送过程可包括:
a、所述转码管理服务器可以向所述目标转码服务器发送未携带所述转码参数的转码申请,所述目标转码服务器接收到该未携带所述转码参数的转码申请时,可进行自检,例如:检查该转码申请所对应的转码任务是否重复;或者,检查本地转码资源是否足够等等,若转码任务未重复,且本地转码资源足够,则可向所述转码管理服务器返回成功受理信息。
b、所述转码管理服务器接收到所述目标转码服务器返回的成功受理信息之后,再向所述目标转码服务器传送所述转码参数。实现应用中,所述转码参数可采用转码配置字(AVCDecoderConfigurationRecord)的方式进行传送,该转码配置字的结构可表示如下:
Figure PCTCN2014095158-appb-000001
Figure PCTCN2014095158-appb-000002
所述目标转码服务器接收所述转码配置字,并向所述转码管理服务器返回配置成功信息。需要说明的是,本实施例还可设置容灾机制,所述目标转码服务器可检测是否在预设时间(例如:30s、40s等等)内接收到所述转码配置字,若在预设时间内接收到所述转码配置字,表明所述目标转码服务器与所述转码管理服务器之间存在可靠、稳定的传输连接;若未在预设时间内接收到所述转码配置字,表明所述目标转码服务器与所述转码管理服务器之间的传输连接不稳定,不适合进行转码处理,此时所述目标转码服务器可向所述转码管理服务器返回配置失败信息。
c、所述转码管理服务器接收到所述配置成功信息之后,则可基于UDP报文的RTSP协议,向所述转码管理服务器推送所述源数据流。
S512,所述目标转码服务器判断接收到的所述源数据流的当前帧是否为关键帧。
S513,若所述源数据流的当前帧为关键帧,所述目标转码服务器将所述源数据流的码率转化为目标码率,并将所述源数据流的数据格式转换为所述目标数据格式,获得目标数据流。
源数据流由关键帧与非关键帧构成,关键帧为源数据流中的重要帧,可保证解码时的完整重构;以直播视频流为例,直播视频流可以由I帧和P帧构成,其中的I帧为直播视频流的关键帧,P帧为直播视频流的非关键帧,I帧可保证解码时能够重构完整图像。若所述源数据流的当前帧为非关键帧,所述目标转码服务器则丢弃所述源数据流的当前帧,并继续接收所述源数据流进行步骤S512的重复判断,直至接收到所述源数据流的关键帧为止;以直播视频流为例,步骤S512判断接收到的直播视频流的当前帧是否为I帧,若接收到的直播视频流的当前帧为P帧,则丢弃并继续判断,若接收到的直播视频流的当前 帧为I帧,则停止丢弃及步骤S512的判断,转入步骤S513从I帧开始进行转码处理,将源数据流转化为目标数据流。
步骤S512-步骤S513可以为图5所示实施例的步骤S405的具体细化步骤。步骤S512-步骤S513可保证所述目标转码服务器从所述源数据流的关键帧进行转码处理,从而保证转码所获得的目标数据流的准确性。
S514,所述目标转码服务器将所述目标数据流推送至所述转码管理服务器。
所述目标转码服务器也可基于UDP报文的RTSP协议,将所述目标数据流推送至所述转码管理服务器。
S515,所述转码管理服务器将所述目标数据流推送至所述主管前端服务器。
所述转码管理服务器可以基于UDP报文的RTSP协议,向所述主管前端服务器推送所述目标数据流。
S516,所述主管前端服务器查找与所述目标观众客户端相连接的目标成员前端服务器。
由于本实施例的实时转码处理过程是为所述目标观众客户端所服务的,因此,所述目标观众客户端即为能够对所述目标数据流进行解码的观众客户端。
S517,所述主管前端服务器向所述目标成员前端服务器推送所述目标数据流,以使所述目标成员前端服务器将所述目标数据流输出至所述目标观众客户端。
实际应用中,所述目标成员前端服务器可以基于C/S的RTSP协议或者P2P的RTSP协议,向能够对所述目标数据流向所述目标观众客户端输出所述目标数据流。
步骤S516-步骤S517可以为图5所示实施例的步骤S408的具体细化步骤。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
下面将结合附图7-附图9,对本发明实施例提供的一种数据处理装置进行详细介绍。该装置可运行于一前端服务器中,具体可运行于主管前端服务器中,以应用于上述图2-图6所示方法中。
请参见图7,为本发明实施例提供的一种数据处理装置的结构示意图;该装置可包括:参数设置模块101、转码申请模块102、目标数据接收模块103和目标数据输出模块104。
参数设置模块101,用于当接收到直播节目的源数据流时,根据所述直播节目所在频道的状态信息,设置转码参数。
所述频道的状态信息可包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识。其中,所述转码参数可包括:目标码率和目标数据格式。其中,数据格式指数据流的编码压缩格式,可包括但不限于:H.264格式、H.265格式等等。所述观众客户端的特征信息可包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息。
所述类型信息包括:移动类型或固定类型;移动类型的观众客户端可以包括但不限于:笔记本电脑、手机、智能可穿戴设备等具备便携性、移动性特点的客户端;固定类型的观众客户端可以包括但不限于:PC等具备位置相对固定性特点的客户端。所述观众客户端的解码能力信息指用于描述所述观众客户端所具备的解码能力的信息,例如:某观众客户端的解码能力信息用于描述该观众客户端能够对600Kbps码率的、H.264的数据流进行解码;或者,某观众客户端的解码能力信息用于描述该观众客户端能力对1024Kbps码率的、H.265的数据流进行解码。
所述参数设置模块101可以在其管理的频道内接收到主播客户端所发送的直播节目的源数据流,所述参数设置模块101可获取所述直播节目所在频道的状态信息,并依据该频道的状态信息设置转码参数。
转码申请模块102,用于向转码管理服务器发送携带所述转码参数的转码申请,并向所述转码管理服务器推送所述源数据流,以使所述转码管理服务器从至少一个转码服务器中选取目标转码服务器,并将所述转码申请和所述源数据流发送至所述目标转码服务器,由所述目标转码服务器根据所述转码申请携 带的转码参数,对所述源数据流进行转码处理,获得目标数据流推送至所述转码管理服务器。
所述主管前端服务器可与所述转码管理服务器建立TCP连接,所述转码申请模块102可基于该TCP连接向所述转码管理服务器发送携带所述转码参数的转码申请;并可以基于UDP报文的RTSP协议,向所述转码管理服务器推送所述源数据流。所述转码管理服务器可调度所管理的至少一个转码服务器,按照所述转码参数的指示,将所述直播节目的源数据流转化为所述直播节目的目标数据流。
目标数据接收模块103,用于接收所述转码管理服务器推送的所述目标数据流。
所述转码管理服务器可以基于UDP报文的RTSP协议,向所述主管前端服务器推送转码获得的所述目标数据流;所述目标数据接收模块103可基于该UDP报文的RTSP协议,接收所述转码管理服务器推送的所述目标数据流。
目标数据输出模块104,用于对所述目标数据流进行输出。
所述目标数据输出模块104可以通过各成员前端服务器将目标数据流输出至能够对该目标数据流进行解码的观众客户端,由接收到该目标数据流的观众客户端对该目标数据流进行播放。实际应用中,各成员前端服务器可以基于C/S的RTSP协议或者P2P的RTSP协议,向能够对所述目标数据流进行解码的观众客户端输出所述目标数据流。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
请参见图8,为图7所示的参数设置模块的实施例的结构示意图;该参数设置模块101可包括:状态信息获取单元1101、目标确定单元1102和参数设置单元1103。
状态信息获取单元1101,用于当接收到与所述主管前端服务器相连接的主播客户端发送的直播节目的源数据流时,获取所述直播节目所在频道的状态信息。
所述状态信息获取单元1101可以在所述主管前端服务器所管理的频道内接收到主播客户端所发送的直播节目的源数据流,例如:所述状态信息获取单元1101可接收到主播客户端所发送的高清直播节目XX的源数据流,该源数据流的码率为10Mbps,数据格式为H.264。所述状态信息获取单元1101可以从所述主管前端服务器的存储空间中获取用于记录所管理的各个频道的状态信息的配置文件,并从该配置文件中读取所述直播节目所在频道的状态信息。所述频道的状态信息可包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识。所述观众客户端的特征信息可包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息。
目标确定单元1102,用于将所述至少一个观众客户端中类型信息为移动类型的观众客户端确定为目标观众客户端。
移动类型的观众客户端可以包括但不限于:笔记本电脑、手机、智能可穿戴设备等具备便携性、移动性特点的客户端。通常,移动类型的观众客户端与固定类型的观众客户端的硬件性能存在一定差异,移动类型的观众客户端的硬件性能相较于固定类型的观众客户端的硬件性能低,往往无法胜任高清节目的解码任务,例如:针对码率为10Mbps,数据格式为H.264的高清直播节目XX的源数据流,某手机客户端的硬件性能无法较好的支持该源数据流的解码任务,使得该源数据流被该手机客户端解码处理后,出现丢帧、卡顿现象,增加手机客户端的功耗,影响该源数据流的正常播放输出。所述目标确定单元1102将所述至少一个观众客户端中类型信息为移动类型的观众客户端确定为目标观众客户端,以为所确定的目标观众客户端提供实时解码服务。
参数设置单元1103,用于根据所述目标观众客户端的解码能力信息,设置转码参数。
所述目标观众客户端的解码能力信息指用于描述所述目标观众客户端所具备的解码能力的信息,例如:某手机客户端的解码能力信息用于描述该手机 客户端能够对600Kbps码率的、H.264的数据流进行解码,所述参数设置单元1103则可设置转码参数包括的目标码率为600Kbps,目标数据格式为H.264;再如:某PAD客户端的解码能力信息用于描述该PAD客户端能够对1024Kbps码率的、H.265的数据流进行解码,所述参数设置单元1103则可设置转码参数包括的目标码率为1024Kbps,目标数据格式为H.265。
可选地,该参数设置模块101还可包括:数量判断单元1104。
数量判断单元1104,用于判断所述目标观众客户端的数量是否大于预设数量阈值,若所述目标观众客户端的数量大于预设数量阈值,则通知所述参数设置单元根据所述目标观众客户端的解码能力信息,设置转码参数。
所述预设数量阈值可以根据实际需要进行设定,该预设数量阈值为正整数,例如:所述预设数量阈值可以设定为3、5、20等等。若所述目标观众客户端的数量大于预设数量阈值,表明直播平台中存在足够数量的观众客户端等待实时转码服务,所述数量判断单元1104则可通知所述参数设置单元设置转码参数。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
请参见图9,为图7所示的目标数据输出模块的实施例的结构示意图;该目标数据输出模块104可包括:查找单元1401和输出单元1402。
查找单元1401,用于查找与所述目标观众客户端相连接的目标成员前端服务器。由于实时转码处理过程是为所述目标观众客户端所服务的,因此,所述目标观众客户端即为能够对所述目标数据流进行解码的观众客户端。
输出单元1402,用于向所述目标成员前端服务器推送所述目标数据流,以使所述目标成员前端服务器将所述目标数据流输出至所述目标观众客户端。
实际应用中,所述目标成员前端服务器可以基于C/S的RTSP协议或者 P2P的RTSP协议,向能够对所述目标数据流向所述目标观众客户端输出所述目标数据流。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
本发明实施例还公开了一种前端服务器,该前端服务器可以为主管前端服务器,该主管前端服务器包括一个数据处理装置,该数据处理装置的结构和功能可参见上述图7-图9所示实施例的相关描述,在此不赘述。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
下面将结合附图10-附图11,对本发明实施例提供的另一种数据处理装置进行详细介绍。该装置可运行于转码管理服务器中,以应用于上述图2-图6所示方法中。
请参见图10,为本发明实施例提供的另一种数据处理装置的结构示意图;该装置可包括:转码申请接收模块201、选取模块202、转码处理模块203和目标数据推送模块204。
转码申请接收模块201,用于接收主管前端服务器发送的携带所述转码参数的转码申请,并接收所述主管前端服务器推送的直播节目的源数据流,所述转码参数为所述主管前端服务器在接收到所述直播节目的源数据流时,根据所述直播节目所在频道的状态信息所设置。
所述频道的状态信息包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识;所述观众客户端的特征信息包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息;所述类型信息包括:移动类型或固定类型;所述转码参数包括:目标码率和目标数据格式。
所述转码管理服务器可与所述主管前端服务器建立TCP连接,所述转码申请接收模块201可基于该TCP连接接收所述主管前端服务器发送的携带所述转码参数的转码申请,并可以基于UDP报文的RTSP协议,接收所述主管前端服务器推送的直播节目的源数据流。
选取模块202,用于从至少一个转码服务器中选取目标转码服务器。
转码管理服务器可用于管理至少一个转码服务器的工作状态以及对所述至少一个转码服务器进行任务调度。所述选取模块202可以根据所述至少一个转码服务器的工作状态,对所述至少一个转码服务器进行任务调度,从所述至少一个转码服务器中选取接受调度任务的目标转码服务器。
转码处理模块203,用于将所述转码申请和所述源数据流发送至所述目标转码服务器,以使所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流,并将所述目标数据流推送至所述转码管理服务器。
所述转码处理模块203向所述目标转码服务器发送所述转码申请,并可以基于UDP报文的RTSP协议,向所述目标转码服务器推送所述源数据流。所述目标转码服务器可根据所述转码申请携带的转码参数的指示,将所述直播节目的源数据流转化为所述直播节目的目标数据流。所述目标转码服务器也可基于UDP报文的RTSP协议,将所述目标数据流推送至所述转码管理服务器。
目标数据推送模块204,用于将所述目标数据流推送至所述主管前端服务器进行输出。
所述目标数据推送模块204可以基于UDP报文的RTSP协议,向所述主管前端服务器推送所述目标数据流。所述主管前端服务器可以通过各成员前端服务器将目标数据流输出至能够对该目标数据流进行解码的观众客户端,由接收到该目标数据流的观众客户端对该目标数据流进行播放。
可选地,该装置还可包括:升级检测模块205、下载模块206和升级模块207。
升级检测模块205,用于检测所述目标数据格式是否为所述目标转码服务器所支持的数据格式。
所述升级检测模块205可以基于与所述主管前端服务器所协商的传输协议,例如TCP协议,对所述转码申请进行解析,获得所述转码参数。所述升级检测模块205可从所述转码管理服务器的存储空间中获取用于记录所述目标转码服务器的所支持的数据格式的管理信息,判断所述目标转码服务器是否支持所述转码参数包括的目标数据格式。
下载模块206,用于若所述目标数据格式并非所述目标转码服务器所支持的数据格式,根据所述目标数据格式下载升级文件。
若所述目标数据格式为所述目标转码服务器所支持的数据格式,表明所述目标转码服务器可以完成所述转码申请的数据格式要求;若所述目标数据格式并非所述目标转码服务器所支持的数据格式,表明所述目标转码服务器无法完成所述转码申请的数据格式要求,所述目标转码服务器需要升级;例如:若所述转码参数所包括的数据格式为H.265,所述升级检测模块205读取到所述目标转码服务器所支持数据格式为H.264,则表明所述目标转码服务器仅能够对H.264格式的数据流进行转码处理,无法对H.265格式的数据流进行转码处理,所述目标转码服务器需要进行升级,所述下载模块206则下载升级文件。
升级模块207,用于将所述升级文件发送至所述目标转码服务器,以使所述目标转码服务器采用所述升级文件进行升级。
按照本实施例中的例子,当所述目标转码服务器进行升级之后,可支持H.265的数据格式,能够完成所述转码申请的数据格式要求。所述转码管理服务器可以在管理信息中同步更新所述目标转码管理服务器所支持数据格式。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实 际转码需求,提升数据处理的效率和适配性。
请参见图11,为图10所示的选取模块的实施例的结构示意图;该选取模块202可包括:资源检测单元2201和确定单元2202。
资源检测单元2201,用于检测所述至少一个转码服务器中各转码服务器的资源空闲率。
所述转码管理服务器可用于管理至少一个转码服务器的工作状态以及对所述至少一个转码服务器进行任务调度。所述资源检测单元2201可通过检测所述至少一个转码服务器中各转码服务器的资源空闲率,确定所述至少一个转码服务器的工作状态。通常,一个正在执行的转码任务会占用一个转码服务器的一路转码资源,例如:某转码服务器总共存在10路转码资源,当前正在执行9个转码任务,即当前被占用9路转码资源,则该转码服务器的资源空闲率为1/10。
确定单元2202,用于将资源空闲率大于预设空闲阈值的转码服务器确定为目标转码服务器。
所述预设空闲阈值为(0,1]之间的数值,所述预设空闲阈值可以根据实际需要进行设定,例如:为了保证转码效率,减少转码服务器的处理负荷,可设置所述预设空闲阈值为1、0.5等等。若某转码服务器的资源空闲率大于所述预设空闲阈值,表明所述转码服务器存在足够的转码资源,有能力接受新的转码任务,所述确定单元2202则可将资源空闲率大于所述预设空闲阈值的转码服务器确定为目标转码服务器。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
本发明实施例还公开了一种转码管理服务器,该转码管理服务器可包括一 个数据处理装置,该数据处理装置的结构和功能可参见图10-图11所示实施例的相关描述,在此不赘述。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
下面将结合附图12-附图13,对本发明实施例提供的又一种数据处理装置进行详细介绍。该装置可运行于一转码服务器中,具体可运行于目标转码服务器中,以应用于上述图2-图6所示方法中。
请参见图12,为本发明实施例提供的又一种数据处理装置的结构示意图;该装置可包括:转码申请接收模块301、转码处理模块302和目标数据推送模块303。
转码申请接收模块301,用于接收转码管理服务器发送的携带转码参数的转码申请和直播节目的源数据流,其中,所述转码申请和所述源数据流由所述转码管理服务器从主管前端服务器接收获得,所述转码参数为所述主管前端服务器在接收到所述直播节目的源数据流时,根据所述直播节目所在频道的状态信息所设置。
所述频道的状态信息包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识;所述观众客户端的特征信息包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息;所述类型信息包括:移动类型或固定类型;所述转码参数包括:目标码率和目标数据格式。
所述转码申请接收模块301接收所述转码管理服务器发送的所述转码申请,并表明接受所述转码管理服务器的调度任务,并可以基于UDP报文的RTSP协议,接收所述转码管理服务器推送的直播节目的源数据流。
转码处理模块302,用于根据所述转码申请携带的转码参数,对所述源数 据流进行转码处理,获得目标数据流。
所述转码处理模块302可根据所述转码申请携带的转码参数的指示,将所述直播节目的源数据流转化为所述直播节目的目标数据流。
目标数据推送模块303,用于将所述目标数据流推送至所述转码管理服务器,以使所述转码管理服务器将所述目标数据流推送至所述主管前端服务器进行输出。
所述目标数据推送模块303可以基于UDP报文的RTSP协议,向所述转码管理服务器推送的直播节目的目标数据流;所述转码管理服务器则可基于UDP报文的RTSP协议,将所述直播节目的目标数据流推送至所述主管前端服务器,由所述主管前端服务器通过各成员前端客户端将所述目标数据流推送至能够对所述目标数据流进行解码的观众客户端进行播放。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
请参见图13,为图12所示的转码处理模块的实施例的结构示意图;该转码处理模块302可包括:帧判断单元3201和转码处理单元3202.。
帧判断单元3201,用于判断接收到的所述源数据流的当前帧是否为关键帧。
转码处理单元3202,用于若所述源数据流的当前帧为关键帧,将所述源数据流的码率转化为目标码率,并将所述源数据流的数据格式转换为所述目标数据格式,获得目标数据流。
源数据流由关键帧与非关键帧构成,关键帧为源数据流中的重要帧,可保证解码时的完整重构;以直播视频流为例,直播视频流可以由I帧和P帧构成,其中的I帧为直播视频流的关键帧,P帧为直播视频流的非关键帧,I帧可保证解码时能够重构完整图像。若所述帧判断单元3201判断所述源数据流的当 前帧为非关键帧,所述目标转码服务器则丢弃所述源数据流的当前帧,所述帧判断单元3201继续接收所述源数据流进行重复判断,直至接收到所述源数据流的关键帧为止;以直播视频流为例,所述帧判断单元3201判断接收到的直播视频流的当前帧是否为I帧,若接收到的直播视频流的当前帧为P帧,则丢弃并继续判断,若接收到的直播视频流的当前帧为I帧,则停止丢弃及判断,所述转码处理单元3202从I帧开始进行转码处理,将源数据流转化为目标数据流。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
本发明实施例还公开了一种转码服务器,该转码服务器可以为目标转码服务器,该目标转码服务器可包括一个数据处理装置,该数据处理装置的结构和功能可参见图12-图13所示实施例的相关描述,在此不赘述。
本发明实施例中,可由主管前端服务器根据直播节目所在频道的状态信息,设置转码参数,并向转码管理服务器发送携带该转码参数的转码申请及推送源数据流,由所述转码管理服务器调度目标转码服务器根据转码参数,对所述源数据流进行转码处理获得目标数据流并最终输出,由于在直播节目的过程中直接对源数据流进行转码处理,转码实时性高、延迟低,能够满足直播场景的实际转码需求,提升数据处理的效率和适配性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之 权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (26)

  1. 一种数据处理方法,其特征在于,包括:
    当接收到直播节目的源数据流时,主管前端服务器根据所述直播节目所在频道的状态信息,设置转码参数;
    所述主管前端服务器向转码管理服务器发送携带所述转码参数的转码申请,并向所述转码管理服务器推送所述源数据流;
    所述转码管理服务器从至少一个转码服务器中选取目标转码服务器,并将所述转码申请和所述源数据流发送至所述目标转码服务器;
    所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流,并将所述目标数据流推送至所述转码管理服务器;
    所述转码管理服务器将所述目标数据流推送至所述主管前端服务器进行输出。
  2. 如权利要求1所述的方法,其特征在于,所述频道的状态信息包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识;
    所述观众客户端的特征信息包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息;
    所述类型信息包括:移动类型或固定类型;
    所述转码参数包括:目标码率和目标数据格式。
  3. 如权利要求2所述的方法,其特征在于,所述当接收到直播节目的源数据流时,主管前端服务器根据所述直播节目所在频道的状态信息,设置转码参数,包括:
    当接收到与所述主管前端服务器相连接的主播客户端发送的直播节目的源数据流时,所述主管前端服务器获取所述直播节目所在频道的状态信息;
    所述主管前端服务器将所述至少一个观众客户端中类型信息为移动类型 的观众客户端确定为目标观众客户端;
    所述主管前端服务器根据所述目标观众客户端的解码能力信息,设置转码参数。
  4. 如权利要求3所述的方法,其特征在于,所述主管前端服务器根据所述目标观众客户端的解码能力信息,设置转码参数之前,还包括:
    所述主管前端服务器判断所述目标观众客户端的数量是否大于预设数量阈值;
    若所述目标观众客户端的数量大于预设数量阈值,所述主管前端服务器则执行根据所述目标观众客户端的解码能力信息,设置转码参数的步骤。
  5. 如权利要求2所述的方法,其特征在于,所述转码管理服务器从至少一个转码服务器中选取目标转码服务器,包括:
    所述转码管理服务器检测所述至少一个转码服务器中各转码服务器的资源空闲率;
    所述转码管理服务器将资源空闲率大于预设空闲阈值的转码服务器确定为目标转码服务器。
  6. 如权利要求2所述的方法,其特征在于,所述将所述转码申请和所述源数据流发送至所述目标转码服务器之前,还包括:
    所述转码管理服务器检测所述目标数据格式是否为所述目标转码服务器所支持的数据格式;
    若所述目标数据格式并非所述目标转码服务器所支持的数据格式,所述转码管理服务器根据所述目标数据格式下载升级文件;
    所述转码管理服务器将所述升级文件发送至所述目标转码服务器,以使所述目标转码服务器采用所述升级文件进行升级。
  7. 如权利要求2所述的方法,其特征在于,所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流, 包括:
    所述目标转码服务器判断接收到的所述源数据流的当前帧是否为关键帧;
    若所述源数据流的当前帧为关键帧,所述目标转码服务器将所述源数据流的码率转化为目标码率,并将所述源数据流的数据格式转换为所述目标数据格式,获得目标数据流。
  8. 如权利要求3或4所述的方法,其特征在于,所述主管前端服务器对所述目标数据流进行输出,包括:
    所述主管前端服务器查找与所述目标观众客户端相连接的目标成员前端服务器;
    所述主管前端服务器向所述目标成员前端服务器推送所述目标数据流,以使所述目标成员前端服务器将所述目标数据流输出至所述目标观众客户端。
  9. 一种数据处理方法,其特征在于,包括:
    当接收到直播节目的源数据流时,主管前端服务器根据所述直播节目所在频道的状态信息,设置转码参数;
    所述主管前端服务器向转码管理服务器发送携带所述转码参数的转码申请,并向所述转码管理服务器推送所述源数据流,以使所述转码管理服务器从至少一个转码服务器中选取目标转码服务器,并将所述转码申请和所述源数据流发送至所述目标转码服务器,由所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流推送至所述转码管理服务器;
    所述主管前端服务器接收所述转码管理服务器推送的所述目标数据流,并对所述目标数据流进行输出。
  10. 一种数据处理方法,其特征在于,包括:
    转码管理服务器接收主管前端服务器发送的携带转码参数的转码申请,并接收所述主管前端服务器推送的直播节目的源数据流,所述转码参数为所述主管前端服务器在接收到所述直播节目的源数据流时,根据所述直播节目所在频 道的状态信息所设置;
    所述转码管理服务器从至少一个转码服务器中选取目标转码服务器;
    所述转码管理服务器将所述转码申请和所述源数据流发送至所述目标转码服务器,以使所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流,并将所述目标数据流推送至所述转码管理服务器;
    所述转码管理服务器将所述目标数据流推送至所述主管前端服务器进行输出。
  11. 一种数据处理方法,其特征在于,包括:
    目标转码服务器接收转码管理服务器发送的携带转码参数的转码申请和直播节目的源数据流,其中,所述转码申请和所述源数据流由所述转码管理服务器从主管前端服务器接收获得,所述转码参数为所述主管前端服务器在接收到所述直播节目的源数据流时,根据所述直播节目所在频道的状态信息所设置;
    所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流;
    所述目标转码服务器将所述目标数据流推送至所述转码管理服务器,以使所述转码管理服务器将所述目标数据流推送至所述主管前端服务器进行输出。
  12. 一种数据处理装置,其特征在于,包括:
    参数设置模块,用于当接收到直播节目的源数据流时,根据所述直播节目所在频道的状态信息,设置转码参数;
    转码申请模块,用于向转码管理服务器发送携带所述转码参数的转码申请,并向所述转码管理服务器推送所述源数据流,以使所述转码管理服务器从至少一个转码服务器中选取目标转码服务器,并将所述转码申请和所述源数据流发送至所述目标转码服务器,由所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流推送至所述转码管理服务器;
    目标数据接收模块,用于接收所述转码管理服务器推送的所述目标数据流;
    目标数据输出模块,用于对所述目标数据流进行输出。
  13. 如权利要求12所述的装置,其特征在于,所述频道的状态信息包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识;
    所述观众客户端的特征信息包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息;
    所述类型信息包括:移动类型或固定类型;
    所述转码参数包括:目标码率和目标数据格式。
  14. 如权利要求13所述的装置,其特征在于,所述参数设置模块包括:
    状态信息获取单元,用于当接收到与所述主管前端服务器相连接的主播客户端发送的直播节目的源数据流时,获取所述直播节目所在频道的状态信息;
    目标确定单元,用于将所述至少一个观众客户端中类型信息为移动类型的观众客户端确定为目标观众客户端;
    参数设置单元,用于根据所述目标观众客户端的解码能力信息,设置转码参数。
  15. 如权利要求14所述的装置,其特征在于,所述参数设置模块还包括:
    数量判断单元,用于判断所述目标观众客户端的数量是否大于预设数量阈值,若所述目标观众客户端的数量大于预设数量阈值,则通知所述参数设置单元根据所述目标观众客户端的解码能力信息,设置转码参数。
  16. 如权利要求14或15所述的装置,其特征在于,所述目标数据输出模块包括:
    查找单元,用于查找与所述目标观众客户端相连接的目标成员前端服务器;
    输出单元,用于向所述目标成员前端服务器推送所述目标数据流,以使所述目标成员前端服务器将所述目标数据流输出至所述目标观众客户端。
  17. 一种前端服务器,其特征在于,包括如权利要求12-16任一项所述的数据处理装置。
  18. 一种数据处理装置,其特征在于,包括:
    转码申请接收模块,用于接收主管前端服务器发送的携带所述转码参数的转码申请,并接收所述主管前端服务器推送的直播节目的源数据流,所述转码参数为所述主管前端服务器在接收到所述直播节目的源数据流时,根据所述直播节目所在频道的状态信息所设置;
    选取模块,用于从至少一个转码服务器中选取目标转码服务器;
    转码处理模块,用于将所述转码申请和所述源数据流发送至所述目标转码服务器,以使所述目标转码服务器根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流,并将所述目标数据流推送至所述转码管理服务器;
    目标数据推送模块,用于将所述目标数据流推送至所述主管前端服务器进行输出。
  19. 如权利要求18所述的装置,其特征在于,所述频道的状态信息包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识;
    所述观众客户端的特征信息包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息;
    所述类型信息包括:移动类型或固定类型;
    所述转码参数包括:目标码率和目标数据格式。
  20. 如权利要求19所述的装置,其特征在于,所述选取模块包括:
    资源检测单元,用于检测所述至少一个转码服务器中各转码服务器的资源空闲率;
    确定单元,用于将资源空闲率大于预设空闲阈值的转码服务器确定为目标转码服务器。
  21. 如权利要求19所述的装置,其特征在于,还包括:
    升级检测模块,用于检测所述目标数据格式是否为所述目标转码服务器所支持的数据格式;
    下载模块,用于若所述目标数据格式并非所述目标转码服务器所支持的数据格式,根据所述目标数据格式下载升级文件;
    升级模块,用于将所述升级文件发送至所述目标转码服务器,以使所述目标转码服务器采用所述升级文件进行升级。
  22. 一种转码管理服务器,其特征在于,包括如权利要求18-21任一项所述的数据处理装置。
  23. 一种数据处理装置,其特征在于,包括:
    转码申请接收模块,用于接收转码管理服务器发送的携带转码参数的转码申请和直播节目的源数据流,其中,所述转码申请和所述源数据流由所述转码管理服务器从主管前端服务器接收获得,所述转码参数为所述主管前端服务器在接收到所述直播节目的源数据流时,根据所述直播节目所在频道的状态信息所设置;
    转码处理模块,用于根据所述转码申请携带的转码参数,对所述源数据流进行转码处理,获得目标数据流;
    目标数据推送模块,用于将所述目标数据流推送至所述转码管理服务器,以使所述转码管理服务器将所述目标数据流推送至所述主管前端服务器进行输出。
  24. 如权利要求23所述的装置,其特征在于,所述频道的状态信息包括:接入至所述频道的至少一个观众客户端的特征信息,以及与所述至少一个观众客户端相连接至少一个成员前端服务器的标识;
    所述观众客户端的特征信息包括:所述观众客户端的类型信息和所述观众客户端的解码能力信息;
    所述类型信息包括:移动类型或固定类型;
    所述转码参数包括:目标码率和目标数据格式。
  25. 如权利要求24所述的装置,其特征在于,所述转码处理模块包括:
    帧判断单元,用于判断接收到的所述源数据流的当前帧是否为关键帧;
    转码处理单元,用于若所述源数据流的当前帧为关键帧,将所述源数据流的码率转化为目标码率,并将所述源数据流的数据格式转换为所述目标数据格式,获得目标数据流。
  26. 一种转码服务器,其特征在于,包括如权利要求23-25任一项所述的数据处理装置。
PCT/CN2014/095158 2014-09-29 2014-12-26 一种数据处理方法、装置及相关服务器 WO2016049987A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410523088.5A CN104243998B (zh) 2014-09-29 2014-09-29 一种数据处理方法、装置及相关服务器
CN201410523088.5 2014-09-29

Publications (1)

Publication Number Publication Date
WO2016049987A1 true WO2016049987A1 (zh) 2016-04-07

Family

ID=52231215

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/095158 WO2016049987A1 (zh) 2014-09-29 2014-12-26 一种数据处理方法、装置及相关服务器

Country Status (2)

Country Link
CN (1) CN104243998B (zh)
WO (1) WO2016049987A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114125502A (zh) * 2021-11-19 2022-03-01 武汉中科通达高新技术股份有限公司 一种视频流管理方法及装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243998B (zh) * 2014-09-29 2018-01-09 广州华多网络科技有限公司 一种数据处理方法、装置及相关服务器
CN105721885B (zh) * 2016-03-25 2019-12-20 腾讯科技(深圳)有限公司 转码数据处理的方法、装置和系统
CN105959712A (zh) * 2016-04-27 2016-09-21 乐视控股(北京)有限公司 视频直播方法及装置
CN105959716A (zh) * 2016-05-13 2016-09-21 武汉斗鱼网络科技有限公司 基于用户设备自动推荐清晰度的方法及系统
CN106791892B (zh) * 2016-11-10 2020-05-12 广州华多网络科技有限公司 一种轮麦直播的方法、装置和系统
CN106534900A (zh) * 2016-11-24 2017-03-22 天脉聚源(北京)科技有限公司 一种上传直播视频流的方法及装置
CN107846605B (zh) * 2017-01-19 2020-09-04 湖南快乐阳光互动娱乐传媒有限公司 主播端流媒体数据生成系统及方法、网络直播系统及方法
CN107682710A (zh) * 2017-10-11 2018-02-09 湖南纽曼车联网科技有限公司 一种视频直播方法及直播系统
CN108174226B (zh) * 2017-12-19 2020-11-10 平安科技(深圳)有限公司 直播视频的转码装置、方法及计算机可读存储介质
CN108495136B (zh) * 2018-03-09 2019-12-31 网宿科技股份有限公司 一种提供直播服务的方法和系统
CN109639486B (zh) * 2018-12-13 2021-10-15 杭州当虹科技股份有限公司 一种基于直播的云主机弹性伸缩方法
CN110740296B (zh) * 2019-09-30 2022-02-08 视联动力信息技术股份有限公司 一种视联网监控视频流的处理方法及装置
CN111163335B (zh) * 2019-12-31 2022-04-01 深圳市瑞讯云技术有限公司 一种分布式服务器的视频处理方法及装置
CN112004104A (zh) * 2020-01-13 2020-11-27 张益兰 基于物联网和网络直播的视频数据处理方法及服务器
CN111541884A (zh) * 2020-05-07 2020-08-14 深圳市亿联智能有限公司 高兼容度网络流媒体分发系统
CN112188212B (zh) * 2020-10-12 2024-02-13 杭州电子科技大学 一种高清监控视频智能转码的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102263959A (zh) * 2011-08-08 2011-11-30 中国电信股份有限公司 直播中转方法和系统
CN102404567A (zh) * 2011-11-03 2012-04-04 深圳市融创天下科技股份有限公司 一种网络监控视频流按需实时转码的系统和方法
CN102882829A (zh) * 2011-07-11 2013-01-16 腾讯科技(深圳)有限公司 一种转码方法及系统
CN103561279A (zh) * 2013-10-10 2014-02-05 中兴通讯股份有限公司 一种多媒体文件播放的方法、系统及云转码服务设备
CN104243998A (zh) * 2014-09-29 2014-12-24 广州华多网络科技有限公司 一种数据处理方法、装置及相关服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103002274B (zh) * 2011-09-16 2016-05-18 腾讯科技(深圳)有限公司 一种基于离线下载的移动多媒体实时转码播放系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882829A (zh) * 2011-07-11 2013-01-16 腾讯科技(深圳)有限公司 一种转码方法及系统
CN102263959A (zh) * 2011-08-08 2011-11-30 中国电信股份有限公司 直播中转方法和系统
CN102404567A (zh) * 2011-11-03 2012-04-04 深圳市融创天下科技股份有限公司 一种网络监控视频流按需实时转码的系统和方法
CN103561279A (zh) * 2013-10-10 2014-02-05 中兴通讯股份有限公司 一种多媒体文件播放的方法、系统及云转码服务设备
CN104243998A (zh) * 2014-09-29 2014-12-24 广州华多网络科技有限公司 一种数据处理方法、装置及相关服务器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114125502A (zh) * 2021-11-19 2022-03-01 武汉中科通达高新技术股份有限公司 一种视频流管理方法及装置
CN114125502B (zh) * 2021-11-19 2023-11-24 武汉中科通达高新技术股份有限公司 一种视频流管理方法及装置

Also Published As

Publication number Publication date
CN104243998A (zh) 2014-12-24
CN104243998B (zh) 2018-01-09

Similar Documents

Publication Publication Date Title
WO2016049987A1 (zh) 一种数据处理方法、装置及相关服务器
US10455404B2 (en) Quality of experience aware multimedia adaptive streaming
CN107005727B (zh) 媒体内容流
US9112938B2 (en) Adaptive playback with look-ahead
CN106576182B (zh) 支持超文本传输协议上的动态自适应流的设备和方法
CA2841377C (en) Video transcoding services provided by searching for currently transcoded versions of a requested file before performing transcoding
JP6425720B2 (ja) コンテンツ配信のための方法及び装置
US9629131B2 (en) Energy-aware multimedia adaptation for streaming and conversational services
CA2843594C (en) System and method for adapting video communications
EP2826267B1 (en) Multicast broadcast multimedia service-assisted content distribution
WO2020192152A1 (zh) 视频传输的方法、根节点、子节点、p2p服务器和系统
US20110138018A1 (en) Mobile media server
US20130042013A1 (en) Methods, apparatuses and computer program products for enabling live sharing of data
CN107819809B (zh) 对内容进行同步操作的方法及装置
US20140189064A1 (en) Method and system for adaptive video transmission
US10834161B2 (en) Dash representations adaptations in network
US10356483B2 (en) System and method to transmit data packets via a cellular network
CN113141522B (zh) 资源传输方法、装置、计算机设备及存储介质
US20150341634A1 (en) Method, apparatus and system to select audio-video data for streaming
US20140226711A1 (en) System and method for self-adaptive streaming of multimedia content
CN114025191B (zh) 一种基于Nginx-rtmp的webrtc低延迟直播方法及系统
US9571790B2 (en) Reception apparatus, reception method, and program thereof, image capturing apparatus, image capturing method, and program thereof, and transmission apparatus, transmission method, and program thereof
WO2011143916A1 (zh) 媒体适配的方法和装置
US20210400334A1 (en) Method and apparatus for loop-playing video content
JP6400163B2 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14903450

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 09/08/2017)

122 Ep: pct application non-entry in european phase

Ref document number: 14903450

Country of ref document: EP

Kind code of ref document: A1