WO2018127004A1 - 一种流数据的封装协议的转换方法和装置 - Google Patents

一种流数据的封装协议的转换方法和装置 Download PDF

Info

Publication number
WO2018127004A1
WO2018127004A1 PCT/CN2017/119878 CN2017119878W WO2018127004A1 WO 2018127004 A1 WO2018127004 A1 WO 2018127004A1 CN 2017119878 W CN2017119878 W CN 2017119878W WO 2018127004 A1 WO2018127004 A1 WO 2018127004A1
Authority
WO
WIPO (PCT)
Prior art keywords
protocol
encapsulation
target
stream data
protocol conversion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2017/119878
Other languages
English (en)
French (fr)
Inventor
韩天乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Publication of WO2018127004A1 publication Critical patent/WO2018127004A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]

Definitions

  • the present invention relates to the field of streaming data transfer protocol technologies, and in particular, to a method for converting a streaming data encapsulation protocol and a device for converting a streaming data encapsulation protocol.
  • Stream data is data that can be transmitted on the network by means of streaming.
  • RTMP Real Time Messaging Protocol
  • HLS HTTP Live Streaming (HTTP-based streaming media network transmission protocol)
  • RTP Real-time Transport Protocol, a transport layer protocol for multimedia data streams on the Internet.
  • the present invention has been made in order to provide a method and a corresponding apparatus for converting a streaming data encapsulation protocol that overcomes the above problems or at least partially solves the above problems.
  • a method for converting a package protocol of stream data including:
  • a device for converting a package protocol of stream data including:
  • a protocol determining module configured to determine an original encapsulation protocol and a plurality of target encapsulation protocols corresponding to the protocol conversion task
  • a second stream data conversion module configured to search the first protocol conversion logic of the original encapsulation protocol corresponding to the transit encapsulation protocol, and use the first protocol conversion logic to convert the first stream data based on the original encapsulation protocol into a transit package Second stream data of the protocol;
  • a third stream data conversion module configured to search for a second protocol conversion logic corresponding to each target encapsulation protocol, and use the second protocol conversion logic to convert the second stream data based on the transit encapsulation protocol into A plurality of third stream data based on various target encapsulation protocols.
  • a computer program comprising computer readable code, when the computer readable code is run on a computing device, causing the computing device to perform the encapsulation protocol of the stream data Conversion method.
  • a computer readable medium wherein the computer program is stored.
  • a method and apparatus for converting a streaming data encapsulation protocol by determining an original encapsulation protocol corresponding to a protocol conversion task and a plurality of target encapsulation protocols, searching for a first protocol conversion logic of a transit encapsulation protocol corresponding to the original encapsulation protocol And using the first protocol conversion logic to convert the first stream data based on the original encapsulation protocol into the second stream data based on the transit encapsulation protocol, and searching for the second protocol conversion logic of the transit encapsulation protocol corresponding to each target encapsulation protocol.
  • the encapsulation protocol is converted into the protocol conversion logic of the transit encapsulation protocol, and the protocol conversion logic converted from the transit encapsulation protocol into various encapsulation protocols, and the protocol conversion is performed in two steps to complete the mutual conversion between the various encapsulation protocols, thereby reducing the conversion. Need to store the protocol conversion logic, reducing the complexity of the protocol conversion service degree. When there is a newly added encapsulation protocol, it only needs to increase the two logics of the newly added encapsulation protocol and the transit encapsulation protocol, which greatly reduces the cost of expanding the new encapsulation protocol.
  • FIG. 1 is a flow chart showing the steps of a method for converting a package protocol of stream data according to a first embodiment of the present invention
  • FIG. 2 is a flow chart showing the steps of a method for converting a packet encapsulation protocol of a stream data according to a second embodiment of the present invention
  • FIG. 3 is a structural block diagram of a conversion apparatus for a streaming data encapsulation protocol according to Embodiment 3 of the present invention.
  • Figure 4 shows a block diagram of a computing device for performing the method according to the invention
  • Figure 5 shows a storage unit for holding or carrying program code implementing the method according to the invention.
  • FIG. 1 is a flow chart showing the steps of a method for converting a packet encapsulation protocol of a stream data according to the first embodiment of the present invention. Specifically, the method may include the following steps:
  • Step 101 Determine an original encapsulation protocol and a plurality of target encapsulation protocols corresponding to the protocol conversion task.
  • the encapsulation protocol is a streaming data transmission protocol, specifically a protocol for encapsulating data packets of streaming data, for example, RTMP (Real Time Messaging Protocol), HLS (HTTP Live Streaming, HTTP-based streaming media network transmission protocol) , RTP (Real-time Transport Protocol, a transport layer protocol for multimedia data streams on the Internet).
  • RTMP Real Time Messaging Protocol
  • HLS HTTP Live Streaming, HTTP-based streaming media network transmission protocol
  • RTP Real-time Transport Protocol, a transport layer protocol for multimedia data streams on the Internet.
  • the original encapsulation protocol is a concept of a relative encapsulation protocol
  • the original encapsulation protocol refers to the original encapsulation protocol of the stream data, that is, the encapsulation protocol of the protocol to be converted
  • the target encapsulation protocol refers to the encapsulation after the stream data conversion.
  • the protocol conversion task refers to the task of converting the original encapsulation protocol into a conversion protocol of the target encapsulation protocol, and specifically may be a task of converting the streaming data into a plurality of target encapsulation protocols by one encapsulation protocol.
  • the protocol conversion task may be preset or received, and the protocol conversion server may determine the original encapsulation protocol and the plurality of target encapsulation protocols indicated by the protocol conversion task.
  • protocol conversion refers to extracting data packets from data of one protocol and then encapsulating them into data packets of another encapsulation protocol.
  • the RTP protocol is extracted from the input source in AAC (Advanced Audio Coding, Advanced Audio Coding) audio coding and H.264 encoded video data, and generating RTMP packet, then the packet is encapsulated RTMP protocol.
  • AAC Advanced Audio Coding, Advanced Audio Coding
  • the embodiment of the present invention can be applied to a server that can be used to convert a package protocol.
  • the stream data uploaded by the anchor client is encapsulated based on the RTMP protocol
  • the stream data downloaded by the viewer client is based on the HLS protocol.
  • Encapsulated some are encapsulated based on the RTP protocol, and need to provide a server that can perform protocol conversion tasks to convert the encapsulation protocol of the stream data uploaded by the anchor client into an encapsulation protocol supported by other viewer clients.
  • Step 102 Search for the first protocol conversion logic of the original encapsulation protocol corresponding to the transit encapsulation protocol, and use the first protocol conversion logic to convert the first stream data based on the original encapsulation protocol into the second stream data based on the transit encapsulation protocol.
  • the transit encapsulation protocol is a concept related to the original encapsulation protocol and the target encapsulation protocol, and the transit encapsulation protocol refers to a transitional conversion protocol when the original encapsulation protocol is converted into the target encapsulation protocol.
  • the original encapsulation protocol can be first converted into a transit encapsulation protocol, and then converted into other required target encapsulation protocols by the transit encapsulation protocol.
  • the first protocol conversion logic refers to a specific conversion method of protocol conversion from the original encapsulation protocol to the transit encapsulation protocol.
  • the protocol conversion logic for each original encapsulation protocol converted to a transit encapsulation protocol is different, and the protocol conversion service needs to save various protocol conversion logic.
  • the original encapsulation protocol determined by the protocol conversion task searches for the first protocol conversion logic of the original encapsulation protocol corresponding to the transit encapsulation protocol, and encapsulates the first stream data based on the original encapsulation protocol according to the first protocol conversion logic.
  • the data packet is converted into a data packet encapsulated based on the transit encapsulation protocol, and then composed of the second stream data.
  • the first protocol conversion logic is a conversion logic that is converted from the RTMP protocol to the RTP protocol, and specifically includes extracting AAC encoded audio and H from an input source of the RTMP protocol.
  • the .264 encodes the video data and generates an RTP packet, which is then encapsulated into a packet of the RTP protocol.
  • Step 103 Search for a second protocol conversion logic corresponding to each target encapsulation protocol, and use the second protocol conversion logic to convert the second stream data based on the transit encapsulation protocol into various target encapsulation protocols. Multiple third stream data.
  • the second protocol conversion logic refers to a specific conversion manner of protocol conversion converted from a transit encapsulation protocol to a target encapsulation protocol.
  • the protocol conversion logic for converting the transit encapsulation protocol into various target encapsulation protocols is different, and the protocol conversion service needs to save various protocol conversion logics.
  • each target encapsulation protocol determined by the protocol conversion task searches for a second protocol conversion logic corresponding to each target encapsulation protocol of the transit encapsulation protocol, and based on the second protocol conversion logic, the second stream data is based on the transit package.
  • the protocol encapsulated data packet is converted into a data packet encapsulated based on the target encapsulation protocol, and then composed of the third stream data.
  • the transit encapsulation protocol is an RTP protocol
  • the target encapsulation protocol includes an HLS protocol and an RTMP protocol
  • the second protocol conversion logic of each target encapsulation protocol includes conversion logic converted from the RTP protocol to the HLS protocol and converted from the RTP protocol to the RTMP protocol.
  • the conversion logic specifically includes extracting AAC encoded audio and H.264 encoded video data from an input source of the RTP protocol, and generating an HLS data packet, and then packaging the data packet as an HLS protocol.
  • the method further includes extracting AAC encoded audio and H.264 encoded video data from an input source of the RTP protocol, and generating an RTMP data packet, and then packaging the data packet into an RTMP protocol.
  • the embodiment of the present invention by determining the original encapsulation protocol and the plurality of target encapsulation protocols corresponding to the protocol conversion task, searching for the first protocol conversion logic of the original encapsulation protocol corresponding to the transit encapsulation protocol, and adopting the a protocol conversion logic, converting the first stream data based on the original encapsulation protocol into the second stream data based on the transit encapsulation protocol, searching for the second protocol conversion logic corresponding to each target encapsulation protocol, and adopting the
  • the second protocol conversion logic converts the second stream data based on the transit encapsulation protocol into a plurality of third stream data based on various target encapsulation protocols, so that for a plurality of encapsulation protocols, only the storage is converted into a transit package by various encapsulation protocols.
  • the protocol conversion logic of the protocol, and the protocol conversion logic converted from the transit encapsulation protocol into various encapsulation protocols, and the protocol conversion in two steps can complete the mutual conversion between multiple encapsulation protocols, reducing the protocol conversion logic that needs to be stored. , reducing the complexity of the protocol conversion service.
  • it When there is a newly added encapsulation protocol, it only needs to increase the two logics of the newly added encapsulation protocol and the transit encapsulation protocol, which greatly reduces the cost of expanding the new encapsulation protocol.
  • FIG. 2 a schematic flowchart of a method for converting a packet encapsulation protocol of a stream data according to a second embodiment of the present invention is shown.
  • Step 201 Receive a protocol conversion task for the first stream data.
  • the protocol conversion task may be determined according to the request of each client for streaming data transmission, and specifically parse the streaming data transmission request of each client according to the encapsulation protocol of the requested streaming data.
  • the anchor client requests the encapsulation protocol of the uploaded stream data, and the encapsulation protocol of the stream data requested by the viewer client.
  • the server determines a protocol conversion task according to each request, and sends the protocol conversion task to the protocol conversion service.
  • the server that specifically determines the stream data conversion task may be the same as the server where the protocol conversion service is located, or may not be the same.
  • the implementation of the protocol conversion task for receiving the first stream data is: receiving a protocol conversion task for the first stream data sent by the target transport node of the transport cluster; and further comprising the step : feeding back the converted third stream data to the target transmission node of the transmission cluster.
  • a transport cluster is a computer network system that is connected to each other via the Internet, using the server closest to each user to deliver music, pictures, videos, applications, and other files to users faster and more reliably.
  • scalable and low-cost web content delivered to users For example, the Content Delivery Network (CDN).
  • CDN Content Delivery Network
  • the transport cluster can be used for the transmission of stream data, wherein the stream data is data that can be transmitted on the network by means of streaming, and the stream data can be transmitted from one node to at least one transport node.
  • a plurality of stream data transmissions can exist simultaneously on one transmission node, and the transmission cluster is composed of multiple transmission nodes.
  • the transit node is a server that can be used to receive, store, and distribute streaming data.
  • the target transmission node is a transmission node that transmits a protocol conversion task
  • the server where the protocol conversion service is located receives a protocol conversion task for the first stream data sent by the target transmission node. After converting the first stream data into the third stream data according to the protocol conversion task for the first stream data, the third stream data is fed back to the target transmission node of the transport cluster.
  • Step 202 Identify, according to the data protocol header of the first stream data, the original encapsulation protocol used, and extract multiple target encapsulation protocols carried by the protocol conversion task.
  • the data protocol header is information about a protocol of the stream data recorded in the data packet of the stream data, and the original encapsulation protocol adopted may be identified according to the data protocol header of the first stream data.
  • the protocol conversion task carries multiple target encapsulation protocols, and multiple target encapsulation protocols are extracted from the protocol conversion task.
  • Step 203 Search for the first protocol conversion logic of the original encapsulation protocol corresponding to the transit encapsulation protocol, and use the first protocol conversion logic to convert the first stream data based on the original encapsulation protocol into the second stream data based on the transit encapsulation protocol.
  • the step may be further included:
  • the cluster selects a first processing node whose load status meets the set condition, and invokes a first processing process of the first processing node to convert the first stream data into the second stream data.
  • the processing node is a server that can be used for protocol conversion services
  • the processing node cluster is a server cluster for protocol conversion services. Selecting, from the processing node cluster, a first processing node whose load status meets the set condition, wherein the load status satisfies the set condition, which may include the lightest load in each node, or the load is lower than an average level, or the load is lower than a set threshold, specifically It can be any applicable setting condition, which is not limited in this embodiment.
  • the first processing process of the first processing node is called, and the conversion task of converting the first stream data into the second stream data is sent to the first processing node, and the first processing node allocates the first processing process to convert the first stream data into
  • the third-stream data is the same as the description of other embodiments, and is not described here.
  • Step 204 Search for a second protocol conversion logic corresponding to each target encapsulation protocol, and use the second protocol conversion logic to convert the second stream data based on the transit encapsulation protocol into various target encapsulation protocols. Multiple third stream data.
  • the second protocol conversion logic is further included Generating a corresponding protocol conversion subtask for each target encapsulation protocol; assigning a plurality of protocol conversion subtasks to at least one target processing node of the processing node cluster; invoking each target processing node to run at least one processing process to process the plurality of A protocol conversion subtask in which one of the called processing processes processes one or more protocol conversion subtasks.
  • the protocol conversion subtask refers to a protocol conversion task of converting a transit encapsulation protocol into a target encapsulation protocol, and respectively creating a corresponding protocol conversion subtask for each target encapsulation protocol. Assigning a plurality of protocol conversion subtasks to at least one target processing node of the processing node cluster, each target processing node running at least one processing process to process a plurality of protocol conversion subtasks, wherein one of the called processing processes processes one or more protocols Convert subtasks.
  • the one implementation manner of allocating a plurality of protocol conversion subtasks to at least one target processing node of the processing node cluster is: acquiring a load state of each processing node from the management node; selecting a load The at least one target processing node that satisfies the set condition, and delivers at least one protocol conversion subtask to each selected target processing node.
  • the management node is a server that manages the processing node cluster, and specifically manages the task assignment of the processing node cluster. Obtaining, by the management node, the load status of each processing node, selecting at least one target processing node whose load status meets the set condition, and delivering at least one protocol conversion sub-task to the selected target processing node.
  • the method may include the steps of: receiving a change operation for the protocol conversion task; stopping or starting the processing process according to the changed protocol conversion task.
  • Receiving the change operation of the protocol conversion task may specifically include deleting the target encapsulation protocol, adding the target encapsulation protocol, changing the target encapsulation protocol, etc., and stopping or starting the processing process according to the changed protocol conversion task. Specifically, for the deleted target encapsulation protocol, the protocol conversion task is stopped or the protocol conversion task is started for the corresponding processing process.
  • the implementation manner of stopping or starting the processing process according to the changed protocol conversion task is: determining a new target encapsulation protocol and/or deleting a target encapsulation protocol; For the deleted target encapsulation protocol, the corresponding processing process is notified to stop executing the corresponding protocol conversion subtask; for the newly added target encapsulation protocol, a new processing process is started to execute the protocol conversion subtask corresponding to the target encapsulation protocol.
  • the method may include the steps of: determining a target frame rate and/or a stream data format required by each target encapsulation protocol; performing frame rate conversion on the second stream data according to the determined target frame rate, and/or performing the format according to the determined stream data format Conversion.
  • the frame rate is a measure for measuring the number of display frames.
  • the so-called measurement unit is Frames per Second (FPS) or Hertz (Hz).
  • the target frame rate is the frame rate required for the target encapsulation protocol.
  • the stream data format is the format of stream data.
  • the target frame rate and/or stream data format required by the target encapsulation protocol refers to the target frame rate and/or stream data format of the third stream data of the target encapsulation protocol required by the client or the transmission node.
  • the second stream data is subjected to frame rate conversion at a determined target frame rate, and/or format conversion is performed according to the determined stream data format.
  • each processing node corresponds to a task queue
  • the method may further include the steps of: acquiring the tasks of each target processing node. Queue; set the order of the protocol conversion subtasks to be delivered in each task queue, so that the difference of the processing time of each protocol conversion subtask is less than the set threshold.
  • the order of the protocol conversion subtasks assigned to other processing nodes is backward adjusted, if other protocol conversion subtasks in the target processing node are processed and not scheduled.
  • the processing time is to wait for a certain time interval before processing the protocol conversion subtask.
  • the setting of the protocol conversion subtask to be delivered in each task queue is such that the difference of the processing time of each protocol conversion subtask is less than a set threshold.
  • the method is: according to the protocol conversion subtasks in the task queue of each target processing node, predicting the processing time of each protocol conversion subtask to be delivered; determining the target protocol conversion subtask with the latest processing time; converting the target according to the target protocol
  • the processing time of the task schedules the processing time of each protocol conversion subtask to be delivered.
  • the processing time of the protocol conversion subtasks in the task queue of each target processing node can be determined, and the processing time of each protocol conversion subtask to be delivered is predicted according to the determined processing time, and the target protocol with the latest processing time is determined. Convert subtasks.
  • the method may further include: receiving, by the respective processing processes, a processing result that is fed back by the protocol conversion subtask, and collecting the processing result of the protocol conversion task.
  • Each processing process feeds back the processing result, and aggregates the processing results of each protocol conversion subtask corresponding to the protocol conversion task.
  • the original encapsulation protocol used is identified according to the data protocol header of the first stream data, and the protocol conversion task is extracted.
  • a target encapsulation protocol searching for the first protocol conversion logic of the original encapsulation protocol corresponding to the transit encapsulation protocol, and using the first protocol conversion logic to convert the first stream data based on the original encapsulation protocol into a second packet based on a transit encapsulation protocol Streaming data, searching for the second protocol conversion logic corresponding to each target encapsulation protocol, and using the second protocol conversion logic to convert the second stream data based on the transit encapsulation protocol into various target encapsulation protocols
  • Multiple third-stream data so that for a variety of encapsulation protocols, only protocol conversion logic converted from a variety of encapsulation protocols to a transit encapsulation protocol, and protocol conversion logic converted from a transit encapsulation protocol to various encapsulation protocols,
  • FIG. 3 is a structural block diagram of a device for converting a packet encapsulation protocol of a stream data according to a third embodiment of the present invention, which may specifically include the following modules:
  • the protocol determining module 301 is configured to determine an original encapsulation protocol and a plurality of target encapsulation protocols corresponding to the protocol conversion task;
  • the second stream data conversion module 302 is configured to search for the first protocol conversion logic of the original encapsulation protocol corresponding to the transit encapsulation protocol, and use the first protocol conversion logic to convert the first stream data based on the original encapsulation protocol into a transit based Encapsulating the second stream data of the protocol;
  • the third stream data conversion module 303 is configured to search the second protocol conversion logic corresponding to each target encapsulation protocol, and use the second protocol conversion logic to convert the second stream data based on the transit encapsulation protocol A plurality of third stream data that are based on various target encapsulation protocols.
  • the device further comprises:
  • a conversion task receiving module configured to receive a protocol conversion task for the first stream data before determining the original encapsulation protocol and the plurality of target encapsulation protocols corresponding to the protocol conversion task.
  • the protocol determining module is configured to identify the original encapsulation protocol used according to the data protocol header of the first stream data, and extract multiple target encapsulation protocols carried by the protocol conversion task.
  • the conversion task receiving module is specifically configured to receive a protocol conversion task for the first stream data sent by the target transmission node of the transmission cluster;
  • the device also includes:
  • a transmission node feedback module configured to feed back the converted third stream data to a target transmission node of the transmission cluster.
  • the device further comprises:
  • Processing a node selection module configured to select a load state from the processing node cluster before using the first protocol conversion logic to convert the first stream data based on the original encapsulation protocol into the second stream data based on the transit encapsulation protocol
  • the first processing node of the condition calls the first processing process of the first processing node to convert the first stream data into the second stream data.
  • the device further comprises:
  • a subtask creation module configured to encapsulate the second stream data based on the transit encapsulation protocol to the plurality of third stream data based on the target encapsulation protocol before using the second protocol conversion logic
  • the protocol respectively creates a corresponding protocol conversion subtask
  • a subtask assignment module configured to allocate a plurality of protocol conversion subtasks to at least one target processing node of the processing node cluster
  • the process invoking module is configured to invoke each target processing node to run at least one processing process to process the plurality of protocol conversion subtasks, wherein one of the called processing processes processes one or more protocol conversion subtasks.
  • the device further comprises:
  • a change operation receiving module configured to receive, before the converting the second stream data based on the transit encapsulation protocol into the plurality of third stream data based on the various target encapsulation protocols, by using the second protocol conversion logic Change operation of the protocol conversion task;
  • the process operation module is configured to stop or start the processing process according to the changed protocol conversion task.
  • the process operation module includes:
  • a protocol determining module for determining a new target encapsulation protocol and/or a deleted target encapsulation protocol
  • a process stop module configured to notify the corresponding processing process to stop executing the corresponding protocol conversion subtask for the deleted target encapsulation protocol
  • the process startup module is configured to start a new processing process for the newly added target encapsulation protocol to execute a protocol conversion subtask corresponding to the target encapsulation protocol.
  • the device further comprises:
  • a frame rate format determining module configured to determine each target before converting the second stream data based on the transit encapsulation protocol into the plurality of third stream data based on the various target encapsulation protocols by using the second protocol conversion logic The target frame rate and/or stream data format required by the encapsulation protocol;
  • a conversion module configured to perform frame rate conversion on the second stream data according to the determined target frame rate, and/or perform format conversion according to the determined stream data format.
  • the subtask assignment module comprises:
  • a load status obtaining module configured to acquire a load status of each processing node from the management node
  • the processing node selection module is configured to select at least one target processing node whose load status meets the set condition, and deliver at least one protocol conversion subtask to each selected target processing node.
  • each processing node corresponds to a task queue
  • the device further includes:
  • a task queue obtaining module configured to acquire a task queue of each target processing node before the at least one protocol conversion subtask is sent to each selected target processing node;
  • the sort setting module is configured to set the order of the protocol conversion subtasks to be delivered in each task queue, so that the difference of the processing time of each protocol conversion subtask is less than a set threshold.
  • the order setting module comprises:
  • a processing time prediction module configured to predict, according to an existing protocol conversion subtask in the task queue of each target processing node, a processing time of each protocol conversion subtask to be delivered;
  • a subtask determination module for determining a target protocol conversion subtask with the latest processing time
  • the processing time scheduling module is configured to schedule the processing time of each protocol conversion subtask to be delivered according to the processing time of the target protocol conversion subtask.
  • the device further comprises:
  • the processing result receiving module is configured to receive processing results of feedbacks of the protocol conversion subtasks by the respective processing processes, and collect the processing results of the protocol conversion tasks.
  • the embodiment of the present invention by determining the original encapsulation protocol and the plurality of target encapsulation protocols corresponding to the protocol conversion task, searching for the first protocol conversion logic of the original encapsulation protocol corresponding to the transit encapsulation protocol, and adopting the a protocol conversion logic, converting the first stream data based on the original encapsulation protocol into the second stream data based on the transit encapsulation protocol, searching for the second protocol conversion logic corresponding to each target encapsulation protocol, and adopting the
  • the second protocol conversion logic converts the second stream data based on the transit encapsulation protocol into a plurality of third stream data based on various target encapsulation protocols, so that for a plurality of encapsulation protocols, only the storage is converted into a transit package by various encapsulation protocols.
  • the protocol conversion logic of the protocol, and the protocol conversion logic converted from the transit encapsulation protocol into various encapsulation protocols, and the protocol conversion in two steps can complete the mutual conversion between multiple encapsulation protocols, reducing the protocol conversion logic that needs to be stored. , reducing the complexity of the protocol conversion service.
  • it When there is a newly added encapsulation protocol, it only needs to increase the two logics of the newly added encapsulation protocol and the transit encapsulation protocol, which greatly reduces the cost of expanding the new encapsulation protocol.
  • modules in the devices of the embodiments can be adaptively changed and placed in one or more devices different from the embodiment.
  • the modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components.
  • any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the device are combined.
  • Each feature disclosed in this specification (including the accompanying claims, the abstract and the drawings) may be replaced by alternative features that provide the same, equivalent or similar purpose.
  • the various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof.
  • a microprocessor or digital signal processor may be used in practice to implement some or all of the components of the method and apparatus for converting the encapsulation protocol of a stream data in accordance with an embodiment of the present invention.
  • the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
  • Such a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
  • Figure 4 illustrates a computing device that can implement a method of converting a packaged protocol for streaming data in accordance with the present invention.
  • the computing device conventionally includes a processor 410 and a computer program product or computer readable medium in the form of a memory 420.
  • the memory 420 may be an electronic memory such as a flash memory, an EEPROM (Electrically Erasable Programmable Read Only Memory), an EPROM, a hard disk, or a ROM.
  • Memory 420 has a memory space 430 for program code 431 for performing any of the method steps described above.
  • storage space 430 for program code may include various program code 431 for implementing various steps in the above methods, respectively.
  • the program code can be read from or written to one or more computer program products.
  • These computer program products include program code carriers such as hard disks, compact disks (CDs), memory cards or floppy disks. Such computer program products are typically portable or fixed storage units as described with reference to FIG.
  • the storage unit may have storage segments, storage spaces, and the like that are similarly arranged to memory 420 in the computing device of FIG.
  • the program code can be compressed, for example, in an appropriate form.
  • the storage unit includes computer readable code 431', ie, code readable by a processor, such as 410, that when executed by a computing device causes the computing device to perform each of the methods described above step.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种流数据的封装协议的转换方法和装置,所述方法包括:确定协议转换任务对应的原始封装协议和多个目标封装协议,查找原始封装协议对应中转封装协议的第一协议转换逻辑,并采用第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据,查找中转封装协议分别对应各目标封装协议的第二协议转换逻辑,并采用第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据。上述技术方案减少了需要存储的协议转换逻辑,降低了协议转换服务的复杂程度的同时降低了拓展新封装协议的成本。

Description

一种流数据的封装协议的转换方法和装置
本申请要求在2017年01月03日提交中国专利局、申请号为201710002597.7、发明名称为“一种流数据的封装协议的转换方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及流数据转协议技术领域,具体涉及一种流数据的封装协议的转换方法以及一种流数据的封装协议的转换装置。
背景技术
流数据为可以采用流式传输的方式在网络上传输的数据,对于流数据服务来说,常见公开的流数据传输协议比较多,例如RTMP(Real Time Messaging Protocol,实时消息传输协议)、HLS(HTTP Live Streaming,基于HTTP的流媒体网络传输协议)、RTP(Real-time Transport Protocol,用于Internet上针对多媒体数据流的一种传输层协议)等。
在视频直播或远程摄像头等需要进行流数据传输的应用中,由于客户端、浏览器或平台支持的协议各不相同,而且各协议的优缺点也各不相同,需要提供协议转换的服务来使得流数据传输可以支持不同的客户端、浏览器或平台。
现有技术中,接入多种协议的流,然后输出多种协议的流,过程很复杂。需要在服务器上支持每一种协议转换其他各种协议的转换任务,协议种类很多时,转换协议的种类变得非常多。新添加一种协议时,需要对应的加入对应多种的转换服务,拓展新协议的成本也很高。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种流数据的封装协议的转换方法和相应的装置。
依据本发明的一个方面,提供了一种流数据的封装协议的转换方法,包括:
确定协议转换任务对应的原始封装协议和多个目标封装协议;
查找所述原始封装协议对应中转封装协议的第一协议转换逻辑,并采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据;
查找所述中转封装协议分别对应各目标封装协议的第二协议转换逻辑,并采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据。
根据本发明的另一方面,提供了一种流数据的封装协议的转换装置,包括:
协议确定模块,用于确定协议转换任务对应的原始封装协议和多个目标封装协议;
第二流数据转换模块,用于查找所述原始封装协议对应中转封装协议的第一协议转换逻辑,并采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据;
第三流数据转换模块,用于查找所述中转封装协议分别对应各目标封装协议的第二协议转换逻辑,并采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据。
根据本发明的又一个方面,提供了一种计算机程序,其包括计算机可读代码,当所述计算机可读代码在计算设备上运行时,导致所述计算设备执行所述的流数据的封装协议的转换方法。
根据本发明的再一个方面,提供了一种计算机可读介质,其中存储了所述的计算机程序。
根据本发明的一种流数据的封装协议的转换方法和装置,通过确定协议转换任务对应的原始封装协议和多个目标封装协议,查找所述原始封装协议对应中转封装协议的第一协议转换逻辑,并采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据,查找所述中转封装协议分别对应各目标封装协议的第二协议转换逻辑,并采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转 换为基于各种目标封装协议的多个第三流数据,使得对于多种封装协议,只需存储由各种封装协议转换为中转封装协议的协议转换逻辑,以及由中转封装协议转换为各种封装协议的协议转换逻辑,再分两步进行协议转换就可以完成多种封装协议之间的相互转换,减少了需要存储的协议转换逻辑,降低了协议转换服务的复杂程度。当有新添加的封装协议时,只需增加新添加的封装协议和中转封装协议相互转换的两种逻辑即可,极大的降低了拓展新封装协议的成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的一种流数据的封装协议的转换方法的步骤流程示意图;
图2示出了根据本发明实施例二的一种流数据的封装协议的转换方法的步骤流程示意图;
图3示出了根据本发明实施例三的一种流数据的封装协议的转换装置的结构框图;
图4示出了用于执行根据本发明的方法的计算设备的框图;
图5示出了用于保持或者携带实现根据本发明的方法的程序代码的存储单元。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显 示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明实施例一的一种流数据的封装协议的转换方法的步骤流程示意图,具体可以包括如下步骤:
步骤101,确定协议转换任务对应的原始封装协议和多个目标封装协议。
封装协议为流数据传输协议,具体是指封装流数据的数据包的协议,例如,RTMP(Real Time Messaging Protocol,实时消息传输协议)、HLS(HTTP Live Streaming,基于HTTP的流媒体网络传输协议)、RTP(Real-time Transport Protocol,用于Internet上针对多媒体数据流的一种传输层协议)等。
在本发明实施例中,原始封装协议是相对目标封装协议的概念,原始封装协议是指流数据原来的封装协议,也就是待转换协议的封装协议,目标封装协议是指流数据转换后的封装协议。协议转换任务是指由原始封装协议转换为目标封装协议的转换协议的任务,具体可以是流数据由一个封装协议转换为多个目标封装协议的任务。
在本发明实施例中,协议转换任务可以是预设的或者接收到的,协议转换服务器可以确定协议转换任务指示的原始封装协议和多个目标封装协议。其中,协议转换是指从一种协议的数据中提取数据包,然后封装为另一种封装协议的数据包。例如,从RTP协议的输入源中提取AAC(Advanced Audio Coding,高级 音频编码)编码的音频和H.264编码视频数据,并生成RTMP数据包,然后封装为RTMP协议的数据包。
本发明实施例可以应用在可以用于转换封装协议的服务器上,例如,在视频直播应用中,主播客户端上传的流数据是基于RTMP协议封装的,观众客户端下载的流数据有的是基于HLS协议封装的,有的是基于RTP协议封装的,需要提供可以执行协议转换任务的服务器将主播客户端上传的流数据的封装协议转换为其他观众客户端支持的封装协议。
步骤102,查找所述原始封装协议对应中转封装协议的第一协议转换逻 辑,并采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据。
在本发明实施例中,中转封装协议是相对原始封装协议和目标封装协议的概念,中转封装协议是指将原始封装协议转换为目标封装协议时的一种过渡的转换协议。具体而言,可以先将原始封装协议转换为中转封装协议,再由中转封装协议转换为其他所需的目标封装协议。
第一协议转换逻辑是指由原始封装协议转换为中转封装协议的协议转换的具体转换方式。每种原始封装协议转换为中转封装协议的协议转换逻辑都各不相同,协议转换服务需要保存各种协议转换逻辑。
在本发明实施例中,由协议转换任务确定的原始封装协议,查找原始封装协议对应中转封装协议的第一协议转换逻辑,根据第一协议转换逻辑,将第一流数据的基于原始封装协议封装的数据包,转换为基于中转封装协议封装的数据包,然后组成第二流数据。例如,原始封装协议为RTMP协议,中转封装协议为RTP协议,则第一协议转换逻辑为由RTMP协议转换为RTP协议的转换逻辑,具体包括从RTMP协议的输入源中提取AAC编码的音频和H.264编码视频数据,并生成RTP数据包,然后封装为RTP协议的数据包。
步骤103,查找所述中转封装协议分别对应各目标封装协议的第二协议转换逻辑,并采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据。
在本发明实施例中,第二协议转换逻辑是指由中转封装协议转换为目标封装协议的协议转换的具体转换方式。中转封装协议转换为各种目标封装协议的协议转换逻辑都各不相同,协议转换服务需要保存各种协议转换逻辑。
在本发明实施例中,由协议转换任务确定的各目标封装协议,查找中转封装协议对应各目标封装协议的第二协议转换逻辑,根据第二协议转换逻辑,将第二流数据的基于中转封装协议封装的数据包,转换为基于目标封装协议封装的数据包,然后组成第三流数据。例如,中转封装协议为RTP协议,目标封装协议包括HLS协议和RTMP协议,则各目标封装协议的第二协议 转换逻辑包括由RTP协议转换为HLS协议的转换逻辑和由RTP协议转换为RTMP协议的转换逻辑,具体包括从RTP协议的输入源中提取AAC编码的音频和H.264编码视频数据,并生成HLS数据包,然后封装为HLS协议的数据包。具体还包括从RTP协议的输入源中提取AAC编码的音频和H.264编码视频数据,并生成RTMP数据包,然后封装为RTMP协议的数据包。
综上所述,依据本发明实施例,通过确定协议转换任务对应的原始封装协议和多个目标封装协议,查找所述原始封装协议对应中转封装协议的第一协议转换逻辑,并采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据,查找所述中转封装协议分别对应各目标封装协议的第二协议转换逻辑,并采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据,使得对于多种封装协议,只需存储由各种封装协议转换为中转封装协议的协议转换逻辑,以及由中转封装协议转换为各种封装协议的协议转换逻辑,再分两步进行协议转换就可以完成多种封装协议之间的相互转换,减少了需要存储的协议转换逻辑,降低了协议转换服务的复杂程度。当有新添加的封装协议时,只需增加新添加的封装协议和中转封装协议相互转换的两种逻辑即可,极大的降低了拓展新封装协议的成本。
参照图2,示出了根据本发明实施例二的一种流数据的封装协议的转换方法的步骤流程示意图,具体可以包括如下步骤:
步骤201,接收针对第一流数据的协议转换任务。
在本实施例中,协议转换任务可以根据各客户端进行流数据传输的请求确定,具体解析各客户端的流数据传输请求,根据请求的流数据的封装协议。例如,主播客户端请求上传的流数据的封装协议,观众客户端请求下载的流数据的封装协议。服务器在接收到各客户端的流数据传输请求后,根据各请求确定协议转换任务,将协议转换任务发送给协议转换服务。具体确定流数据转换任务的服务器可以和协议转换服务所在的服务器为同一个,也可以不是同一个。
在本发明实施例中,优选地,所述接收针对第一流数据的协议转换任务 的一种实现方式为:接收传输集群的目标传输节点发送的针对第一流数据的协议转换任务;还可以包括步骤:将转换得到的第三流数据反馈至所述传输集群的目标传输节点。
传输集群是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。例如内容分发网络(Content Delivery Network,CDN)。
传输集群可以用于流数据的传输,其中,流数据为可以采用流式传输的方式在网络上传输的数据,流数据可以从一个节点传输到至少一个传输节点上。一个传输节点上可以同时存在多个流数据传输,传输集群由多个传输节点组成。其中传输节点为可以用于接收、存储、分发流数据的服务器。
目标传输节点为发送协议转换任务的传输节点,协议转换服务所在的服务器接收目标传输节点发送的针对第一流数据的协议转换任务。在根据针对第一流数据的协议转换任务,将第一流数据转换为第三流数据后,将第三流数据反馈至传输集群的目标传输节点。
步骤202,根据所述第一流数据的数据协议头识别所采用的原始封装协议,并提取所述协议转换任务携带的多个目标封装协议。
在本发明实施例中,数据协议头为流数据的数据包中记录的有关流数据的协议的信息,根据第一流数据的数据协议头可以识别出采用的原始封装协议。协议转换任务携带多个目标封装协议,从协议转换任务中提取出多个目标封装协议。
步骤203,查找所述原始封装协议对应中转封装协议的第一协议转换逻辑,并采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据。
在本发明实施例中,具体方式与其他实施例描述一致,不做赘述。
在本发明实施例中,优选地,在采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据之前,还可以包括步骤:从处理节点集群选取负载状态满足设定条件的第一处理节 点,调用所述第一处理节点的第一处理进程,用于将第一流数据转换为第二流数据。
处理节点为可以用于协议转换服务的服务器,处理节点集群为用于协议转换服务的服务器集群。从处理节点集群中选取负载状态满足设定条件的第一处理节点,其中负载状态满足设定条件可以包括各个节点中负载最轻,或者负载低于平均水平,或者负载低于设定阈值,具体可以是任意适用的设定条件,本实施例对此不作限制。
调用第一处理节点的第一处理进程,具体可以是将第一流数据转换为第二流数据的转换任务发送给第一处理节点,第一处理节点分配第一处理进程来将第一流数据转换为第三流数据,具体转换方式与其他实施例描述一致,不做赘述。
步骤204,查找所述中转封装协议分别对应各目标封装协议的第二协议转换逻辑,并采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据。
在本发明实施例中,具体方式与其他实施例描述一致,不做赘述。
在本发明实施例中,优选地,在采用所述第二协议转换逻辑,分别将基于中转封装协议的第二流数据转换至基于目标封装协议的多个第三流数据之前,还可以包括步骤:针对各种目标封装协议分别创建对应的协议转换子任务;将多个协议转换子任务分配至处理节点集群的至少一个目标处理节点;调用各目标处理节点运行至少一个处理进程处理所述多个协议转换子任务,其中,一个所调用的处理进程处理一个或多个协议转换子任务。
协议转换子任务是指将中转封装协议转换为目标封装协议的协议转换任务,针对各目标封装协议分别创建对应的协议转换子任务。将多个协议转换子任务分配至处理节点集群的至少一个目标处理节点,各目标处理节点运行至少一个处理进程处理多个协议转换子任务,其中,一个所调用的处理进程处理一个或多个协议转换子任务。
在本发明实施例中,优选地,所述将多个协议转换子任务分配至处理节点集群的至少一个目标处理节点的一种实现方式为:从管理节点获取各个处 理节点的负载状态;选取负载状态满足设定条件的至少一个目标处理节点,并向各选取的目标处理节点下发至少一个协议转换子任务。
管理节点为管理处理节点集群的服务器,具体管理处理节点集群的任务分配等。从管理节点获取各个处理节点的负载状态,选取负载状态满足设定条件的至少一个目标处理节点,将至少一个协议转换子任务下发至选取的目标处理节点。
在本发明实施例中,优选地,在所述采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据之前,还可以包括步骤:接收针对所述协议转换任务的变更操作;按照变更后的协议转换任务对处理进程进行停止或启动操作。
接收协议转换任务的变更操作,具体可以包括删除了目标封装协议,添加了目标封装协议,更改了目标封装协议等,根据变更后的协议转换任务对处理进程进行停止或启动操作。具体而言,对删除了的目标封装协议,对对应的处理进程停止协议转换任务或者启动协议转换任务。
在本发明实施例中,优选地,所述按照变更后的协议转换任务对处理进程进行停止或启动操作的一种实现方式为:确定新增的目标封装协议和或/删除的目标封装协议;针对删除的目标封装协议,通知对应处理进程停止执行对应的协议转换子任务;针对新增的目标封装协议,启动新的处理进程执行对应该新增的目标封装协议的协议转换子任务。
确定新增的目标封装协议和/或删除的目标封装协议,对于删除的目标封装协议,通知对应处理进程停止协议转换子任务,对于新增的目标封装协议,启动新的处理进程执行对应的协议转换子任务。
在本发明实施例中,优选地,在所述采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据之前,还可以包括步骤:确定各个目标封装协议所需的目标帧率和/或流数据格式;将所述第二流数据按照确定目标帧率进行帧率转换,和/或按照确定的流数据格式进行格式转换。
帧率是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数 (Frames per Second,简称:FPS)或“赫兹”(Hz)。目标帧率为目标封装协议所需的帧率。流数据格式为流数据的格式。目标封装协议所需的目标帧率和/或流数据格式是指客户端或传输节点需要的目标封装协议的第三流数据的目标帧率和/或流数据格式。将第二流数据按照确定目标帧率进行帧率转换,和/或按照确定的流数据格式进行格式转换。
在本发明实施例中,优选地,各处理节点对应一个任务队列,在所述向各选取的目标处理节点下发至少一个协议转换子任务之前,还可以包括步骤:获取各目标处理节点的任务队列;设置待下发的协议转换子任务在各任务队列中的排序,使各个协议转换子任务的处理时间的差值小于设定阈值。
具体地,在确定处理时间最晚的协议转换子任务后,将分配至其他处理节点的协议转换子任务的排序向后调整,如果目标处理节点中其他协议转换子任务均处理结束且未到安排的处理时间,则等待一定时间间隔后再对协议转换子任务进行处理。
在本发明实施例中,优选地,所述设置待下发的协议转换子任务在各任务队列中的排序,使各个协议转换子任务的处理时间的差值小于设定阈值的一种实现方式为:根据各目标处理节点的任务队列中已有的协议转换子任务,预测各个待下发的协议转换子任务的处理时间;确定处理时间最晚的目标协议转换子任务;按照目标协议转换子任务的处理时间安排各个待下发的协议转换子任务的处理时间。
各目标处理节点的任务队列中已有的协议转换子任务的处理时间可以被确定,根据确定的处理时间,预测各个待下发的协议转换子任务的处理时间,确定处理时间最晚的目标协议转换子任务。
在本发明实施例中,优选地,还可以包括步骤:接收各个处理进程针对协议转换子任务反馈的处理结果,汇集得到所述协议转换任务的处理结果。
各处理进程反馈处理结果,汇集协议转换任务对应的各协议转换子任务的处理结果。
综上所述,依据本发明实施例,通过接收针对第一流数据的协议转换任 务,根据所述第一流数据的数据协议头识别所采用的原始封装协议,并提取所述协议转换任务携带的多个目标封装协议,查找所述原始封装协议对应中转封装协议的第一协议转换逻辑,并采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据,查找所述中转封装协议分别对应各目标封装协议的第二协议转换逻辑,并采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据,使得对于多种封装协议,只需存储由各种封装协议转换为中转封装协议的协议转换逻辑,以及由中转封装协议转换为各种封装协议的协议转换逻辑,再分两步进行协议转换就可以完成多种封装协议之间的相互转换,减少了需要存储的协议转换逻辑,降低了协议转换服务的复杂程度。当有新添加的封装协议时,只需增加新添加的封装协议和中转封装协议相互转换的两种逻辑即可,极大的降低了拓展新封装协议的成本。
参照图3,示出了根据本发明实施例三的一种流数据的封装协议的转换装置的结构框图,具体可以包括如下模块:
协议确定模块301,用于确定协议转换任务对应的原始封装协议和多个目标封装协议;
第二流数据转换模块302,用于查找所述原始封装协议对应中转封装协议的第一协议转换逻辑,并采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据;
第三流数据转换模块303,用于查找所述中转封装协议分别对应各目标封装协议的第二协议转换逻辑,并采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据。
优选地,所述装置还包括:
转换任务接收模块,用于在所述确定协议转换任务对应的原始封装协议和多个目标封装协议之前,接收针对第一流数据的协议转换任务。
优选地,所述协议确定模块,具体用于根据所述第一流数据的数据协议 头识别所采用的原始封装协议,并提取所述协议转换任务携带的多个目标封装协议。
优选地,所述转换任务接收模块,具体用于接收传输集群的目标传输节点发送的针对第一流数据的协议转换任务;
所述装置还包括:
传输节点反馈模块,用于将转换得到的第三流数据反馈至所述传输集群的目标传输节点。
优选地,所述装置还包括:
处理节点选取模块,用于在所述采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据之前,从处理节点集群选取负载状态满足设定条件的第一处理节点,调用所述第一处理节点的第一处理进程,用于将第一流数据转换为第二流数据。
优选地,所述装置还包括:
子任务创建模块,用于在所述采用所述第二协议转换逻辑,分别将基于中转封装协议的第二流数据转换至基于目标封装协议的多个第三流数据之前,针对各种目标封装协议分别创建对应的协议转换子任务;
子任务分配模块,用于将多个协议转换子任务分配至处理节点集群的至少一个目标处理节点;
进程调用模块,用于调用各目标处理节点运行至少一个处理进程处理所述多个协议转换子任务,其中,一个所调用的处理进程处理一个或多个协议转换子任务。
优选地,所述装置还包括:
变更操作接收模块,用于在所述采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据之前,接收针对所述协议转换任务的变更操作;
进程操作模块,用于按照变更后的协议转换任务对处理进程进行停止或启动操作。
优选地,所述进程操作模块包括:
协议确定模块,用于确定新增的目标封装协议和或/删除的目标封装协议;
进程停止模块,用于针对删除的目标封装协议,通知对应处理进程停止执行对应的协议转换子任务;
进程启动模块,用于针对新增的目标封装协议,启动新的处理进程执行对应该新增的目标封装协议的协议转换子任务。
优选地,所述装置还包括:
帧率格式确定模块,用于在所述采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据之前,确定各个目标封装协议所需的目标帧率和/或流数据格式;
转换模块,用于将所述第二流数据按照确定目标帧率进行帧率转换,和/或按照确定的流数据格式进行格式转换。
优选地,所述子任务分配模块包括:
负载状态获取模块,用于从管理节点获取各个处理节点的负载状态;
处理节点选取模块,用于选取负载状态满足设定条件的至少一个目标处理节点,并向各选取的目标处理节点下发至少一个协议转换子任务。
优选地,各处理节点对应一个任务队列,所述装置还包括:
任务队列获取模块,用于在所述向各选取的目标处理节点下发至少一个协议转换子任务之前,获取各目标处理节点的任务队列;
排序设置模块,用于设置待下发的协议转换子任务在各任务队列中的排序,使各个协议转换子任务的处理时间的差值小于设定阈值。
优选地,所述排序设置模块包括:
处理时间预测模块,用于根据各目标处理节点的任务队列中已有的协议转换子任务,预测各个待下发的协议转换子任务的处理时间;
子任务确定模块,用于确定处理时间最晚的目标协议转换子任务;
处理时间安排模块,用于按照目标协议转换子任务的处理时间安排各个待下发的协议转换子任务的处理时间。
优选地,所述装置还包括:
处理结果接收模块,用于接收各个处理进程针对协议转换子任务反馈的处理结果,汇集得到所述协议转换任务的处理结果。
综上所述,依据本发明实施例,通过确定协议转换任务对应的原始封装协议和多个目标封装协议,查找所述原始封装协议对应中转封装协议的第一协议转换逻辑,并采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据,查找所述中转封装协议分别对应各目标封装协议的第二协议转换逻辑,并采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据,使得对于多种封装协议,只需存储由各种封装协议转换为中转封装协议的协议转换逻辑,以及由中转封装协议转换为各种封装协议的协议转换逻辑,再分两步进行协议转换就可以完成多种封装协议之间的相互转换,减少了需要存储的协议转换逻辑,降低了协议转换服务的复杂程度。当有新添加的封装协议时,只需增加新添加的封装协议和中转封装协议相互转换的两种逻辑即可,极大的降低了拓展新封装协议的成本。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要 求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种流数据的封装协议的转换方法和装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图4示出了可以实现根据本发明的流数据的封装协议的转换方法的计算设备。该计算设备传统上包括处理器410和以存储器420形式的计算 机程序产品或者计算机可读介质。存储器420可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器420具有用于执行上述方法中的任何方法步骤的程序代码431的存储空间430。例如,用于程序代码的存储空间430可以包括分别用于实现上面的方法中的各种步骤的各个程序代码431。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为如参考图5所述的便携式或者固定存储单元。该存储单元可以具有与图4的计算设备中的存储器420类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括计算机可读代码431’,即可以由例如诸如410之类的处理器读取的代码,这些代码当由计算设备运行时,导致该计算设备执行上面所描述的方法中的各个步骤。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (28)

  1. 一种流数据的封装协议的转换方法,包括:
    确定协议转换任务对应的原始封装协议和多个目标封装协议;
    查找所述原始封装协议对应中转封装协议的第一协议转换逻辑,并采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据;
    查找所述中转封装协议分别对应各目标封装协议的第二协议转换逻辑,并采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据。
  2. 根据权利要求1所述的方法,其中,在所述确定协议转换任务对应的原始封装协议和多个目标封装协议之前,所述方法还包括:
    接收针对第一流数据的协议转换任务。
  3. 根据权利要求2所述的方法,其中,所述确定协议转换任务对应的原始封装协议和多个目标封装协议包括:
    根据所述第一流数据的数据协议头识别所采用的原始封装协议,并提取所述协议转换任务携带的多个目标封装协议。
  4. 根据权利要求2所述的方法,其中,所述接收针对第一流数据的协议转换任务包括:
    接收传输集群的目标传输节点发送的针对第一流数据的协议转换任务;
    所述方法还包括:
    将转换得到的第三流数据反馈至所述传输集群的目标传输节点。
  5. 根据权利要求1所述的方法,其中,在所述采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据之前,所述方法还包括:
    从处理节点集群选取负载状态满足设定条件的第一处理节点,调用所述第一处理节点的第一处理进程,用于将第一流数据转换为第二流数据。
  6. 根据权利要求1所述的方法,其中,在所述采用所述第二协议转换逻辑,分别将基于中转封装协议的第二流数据转换至基于目标封装协议的 多个第三流数据之前,所述方法还包括:
    针对各种目标封装协议分别创建对应的协议转换子任务;
    将多个协议转换子任务分配至处理节点集群的至少一个目标处理节点;
    调用各目标处理节点运行至少一个处理进程处理所述多个协议转换子任务,其中,一个所调用的处理进程处理一个或多个协议转换子任务。
  7. 根据权利要求6所述的方法,其中,在所述采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据之前,所述方法还包括:
    接收针对所述协议转换任务的变更操作;
    按照变更后的协议转换任务对处理进程进行停止或启动操作。
  8. 根据权利要求7所述的方法,其中,所述按照变更后的协议转换任务对处理进程进行停止或启动操作包括:
    确定新增的目标封装协议和或/删除的目标封装协议;
    针对删除的目标封装协议,通知对应处理进程停止执行对应的协议转换子任务;
    针对新增的目标封装协议,启动新的处理进程执行对应该新增的目标封装协议的协议转换子任务。
  9. 根据权利要求1所述的方法,其中,在所述采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据之前,所述方法还包括:
    确定各个目标封装协议所需的目标帧率和/或流数据格式;
    将所述第二流数据按照确定目标帧率进行帧率转换,和/或按照确定的流数据格式进行格式转换。
  10. 根据权利要求6所述的方法,其中,所述将多个协议转换子任务分配至处理节点集群的至少一个目标处理节点包括:
    从管理节点获取各个处理节点的负载状态;
    选取负载状态满足设定条件的至少一个目标处理节点,并向各选取的 目标处理节点下发至少一个协议转换子任务。
  11. 根据权利要求6所述的方法,其中,各处理节点对应一个任务队列,在所述向各选取的目标处理节点下发至少一个协议转换子任务之前,所述方法还包括:
    获取各目标处理节点的任务队列;
    设置待下发的协议转换子任务在各任务队列中的排序,使各个协议转换子任务的处理时间的差值小于设定阈值。
  12. 根据权利要求11所述的方法,其中,所述设置待下发的协议转换子任务在各任务队列中的排序,使各个协议转换子任务的处理时间的差值小于设定阈值包括:
    根据各目标处理节点的任务队列中已有的协议转换子任务,预测各个待下发的协议转换子任务的处理时间;
    确定处理时间最晚的目标协议转换子任务;
    按照目标协议转换子任务的处理时间安排各个待下发的协议转换子任务的处理时间。
  13. 根据权利要求6所述的方法,其中,所述方法还包括:
    接收各个处理进程针对协议转换子任务反馈的处理结果,汇集得到所述协议转换任务的处理结果。
  14. 一种流数据的封装协议的转换装置,包括:
    协议确定模块,用于确定协议转换任务对应的原始封装协议和多个目标封装协议;
    第二流数据转换模块,用于查找所述原始封装协议对应中转封装协议的第一协议转换逻辑,并采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据;
    第三流数据转换模块,用于查找所述中转封装协议分别对应各目标封装协议的第二协议转换逻辑,并采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据。
  15. 根据权利要求14所述的装置,其中,所述装置还包括:
    转换任务接收模块,用于在所述确定协议转换任务对应的原始封装协议和多个目标封装协议之前,接收针对第一流数据的协议转换任务。
  16. 根据权利要求15所述的装置,其中,所述协议确定模块具体用于根据所述第一流数据的数据协议头识别所采用的原始封装协议,并提取所述协议转换任务携带的多个目标封装协议。
  17. 根据权利要求15所述的装置,其中,所述转换任务接收模块,具体用于接收传输集群的目标传输节点发送的针对第一流数据的协议转换任务;
    所述装置还包括:
    传输节点反馈模块,用于将转换得到的第三流数据反馈至所述传输集群的目标传输节点。
  18. 根据权利要求14所述的装置,其中,所述装置还包括:
    处理节点选取模块,用于在所述采用所述第一协议转换逻辑,将基于原始封装协议的第一流数据转换为基于中转封装协议的第二流数据之前,从处理节点集群选取负载状态满足设定条件的第一处理节点,调用所述第一处理节点的第一处理进程,用于将第一流数据转换为第二流数据。
  19. 根据权利要求14所述的装置,其中,所述装置还包括:
    子任务创建模块,用于在所述采用所述第二协议转换逻辑,分别将基于中转封装协议的第二流数据转换至基于目标封装协议的多个第三流数据之前,针对各种目标封装协议分别创建对应的协议转换子任务;
    子任务分配模块,用于将多个协议转换子任务分配至处理节点集群的至少一个目标处理节点;
    进程调用模块,用于调用各目标处理节点运行至少一个处理进程处理所述多个协议转换子任务,其中,一个所调用的处理进程处理一个或多个协议转换子任务。
  20. 根据权利要求19所述的装置,其中,所述装置还包括:
    变更操作接收模块,用于在所述采用所述第二协议转换逻辑,将基于中 转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据之前,接收针对所述协议转换任务的变更操作;
    进程操作模块,用于按照变更后的协议转换任务对处理进程进行停止或启动操作。
  21. 根据权利要求20所述的装置,其中,所述进程操作模块包括:
    协议确定模块,用于确定新增的目标封装协议和或/删除的目标封装协议;
    进程停止模块,用于针对删除的目标封装协议,通知对应处理进程停止执行对应的协议转换子任务;
    进程启动模块,用于针对新增的目标封装协议,启动新的处理进程执行对应该新增的目标封装协议的协议转换子任务。
  22. 根据权利要求14所述的装置,其中,所述装置还包括:
    帧率格式确定模块,用于在所述采用所述第二协议转换逻辑,将基于中转封装协议的第二流数据转换为基于各种目标封装协议的多个第三流数据之前,确定各个目标封装协议所需的目标帧率和/或流数据格式;
    转换模块,用于将所述第二流数据按照确定目标帧率进行帧率转换,和/或按照确定的流数据格式进行格式转换。
  23. 根据权利要求19所述的装置,其中,所述子任务分配模块包括:
    负载状态获取模块,用于从管理节点获取各个处理节点的负载状态;
    处理节点选取模块,用于选取负载状态满足设定条件的至少一个目标处理节点,并向各选取的目标处理节点下发至少一个协议转换子任务。
  24. 根据权利要求19所述的装置,其中,各处理节点对应一个任务队列,所述装置还包括:
    任务队列获取模块,用于在所述向各选取的目标处理节点下发至少一个协议转换子任务之前,获取各目标处理节点的任务队列;
    排序设置模块,用于设置待下发的协议转换子任务在各任务队列中的排序,使各个协议转换子任务的处理时间的差值小于设定阈值。
  25. 根据权利要求24所述的装置,其中,所述排序设置模块包括:
    处理时间预测模块,用于根据各目标处理节点的任务队列中已有的协议转换子任务,预测各个待下发的协议转换子任务的处理时间;
    子任务确定模块,用于确定处理时间最晚的目标协议转换子任务;
    处理时间安排模块,用于按照目标协议转换子任务的处理时间安排各个待下发的协议转换子任务的处理时间。
  26. 根据权利要求19所述的装置,其中,所述装置还包括:
    处理结果接收模块,用于接收各个处理进程针对协议转换子任务反馈的处理结果,汇集得到所述协议转换任务的处理结果。
  27. 一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算设备上运行时,导致所述计算设备执行根据权利要求1-13中的任一个所述的流数据的封装协议的转换方法。
  28. 一种计算机可读介质,其中存储了如权利要求27所述的计算机程序。
PCT/CN2017/119878 2017-01-03 2017-12-29 一种流数据的封装协议的转换方法和装置 Ceased WO2018127004A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710002597.7A CN106790204A (zh) 2017-01-03 2017-01-03 一种流数据的封装协议的转换方法和装置
CN201710002597.7 2017-01-03

Publications (1)

Publication Number Publication Date
WO2018127004A1 true WO2018127004A1 (zh) 2018-07-12

Family

ID=58949378

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/119878 Ceased WO2018127004A1 (zh) 2017-01-03 2017-12-29 一种流数据的封装协议的转换方法和装置

Country Status (2)

Country Link
CN (1) CN106790204A (zh)
WO (1) WO2018127004A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127226A (zh) * 2021-03-12 2021-07-16 创业慧康科技股份有限公司 一种生成数据转换模型的方法、数据转换方法、装置
CN114944936A (zh) * 2022-04-24 2022-08-26 华控清交信息科技(北京)有限公司 一种隐私路由服务端、加密协议转换方法和机器可读存储介质
CN115309532A (zh) * 2022-08-19 2022-11-08 北京天融信网络安全技术有限公司 任务分配方法、装置、设备及介质
CN116634395A (zh) * 2023-05-22 2023-08-22 南京懂玫驱动技术有限公司 通信控制方法、装置和电动车辆

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790204A (zh) * 2017-01-03 2017-05-31 北京奇虎科技有限公司 一种流数据的封装协议的转换方法和装置
CN108391176A (zh) * 2018-04-09 2018-08-10 四川百视通科技有限公司 一种rtmp协议到hls协议的实时转换系统及其工作方法
CN112477779B (zh) * 2019-09-12 2024-03-26 华为技术有限公司 实现汽车中电子控制功能的系统、方法以及汽车
CN114979301B (zh) * 2022-07-28 2022-09-30 成都锐菲网络科技有限公司 公安视图库与交警集指协议替身数据实时共享方法及系统
CN115514739B (zh) * 2022-11-09 2023-04-28 北京拓课网络科技有限公司 小程序平台与在线课堂进行多媒体数据交互的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212654A (zh) * 2007-12-24 2008-07-02 深圳市同洲电子股份有限公司 一种网络视频监控系统及其数据获取方法
US20150295982A1 (en) * 2014-04-10 2015-10-15 Qualcomm Incorporated Streaming control for real-time transport protocol
CN105610782A (zh) * 2015-11-02 2016-05-25 林晓东 一种移动流媒体播放器及其网关
CN106790204A (zh) * 2017-01-03 2017-05-31 北京奇虎科技有限公司 一种流数据的封装协议的转换方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103458270B (zh) * 2013-09-09 2017-01-18 融创天下(上海)科技发展有限公司 视频转码系统和方法
CN104915253B (zh) * 2014-03-12 2019-05-10 中国移动通信集团河北有限公司 一种作业调度的方法及作业处理器
CN103986942B (zh) * 2014-06-05 2017-05-24 北京赛维安讯科技发展有限公司 基于cdn网络的数据分发系统及方法
CN104991821B (zh) * 2015-06-29 2019-12-06 北京奇虎科技有限公司 批量处理监控任务的方法及装置
CN105868009A (zh) * 2016-03-23 2016-08-17 乐视控股(北京)有限公司 一种直播流软件转码任务管理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212654A (zh) * 2007-12-24 2008-07-02 深圳市同洲电子股份有限公司 一种网络视频监控系统及其数据获取方法
US20150295982A1 (en) * 2014-04-10 2015-10-15 Qualcomm Incorporated Streaming control for real-time transport protocol
CN105610782A (zh) * 2015-11-02 2016-05-25 林晓东 一种移动流媒体播放器及其网关
CN106790204A (zh) * 2017-01-03 2017-05-31 北京奇虎科技有限公司 一种流数据的封装协议的转换方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127226A (zh) * 2021-03-12 2021-07-16 创业慧康科技股份有限公司 一种生成数据转换模型的方法、数据转换方法、装置
CN113127226B (zh) * 2021-03-12 2024-05-24 创业慧康科技股份有限公司 一种生成数据转换模型的方法、数据转换方法、装置
CN114944936A (zh) * 2022-04-24 2022-08-26 华控清交信息科技(北京)有限公司 一种隐私路由服务端、加密协议转换方法和机器可读存储介质
CN115309532A (zh) * 2022-08-19 2022-11-08 北京天融信网络安全技术有限公司 任务分配方法、装置、设备及介质
CN116634395A (zh) * 2023-05-22 2023-08-22 南京懂玫驱动技术有限公司 通信控制方法、装置和电动车辆

Also Published As

Publication number Publication date
CN106790204A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
US9407944B1 (en) Resource allocation optimization for cloud-based video processing
CN104471955B (zh) 将视频内容提供到多个媒体装置的方法以及服务器
CN106790204A (zh) 一种流数据的封装协议的转换方法和装置
US20240163464A1 (en) Dynamic decoder configuration for live transcoding
JP6981257B2 (ja) 情報処理装置および情報処理方法
WO2018121738A1 (zh) 流数据任务的处理方法和装置
US8307108B2 (en) Multimedia data streaming system and method thereof
US9357239B2 (en) Converting live streaming content to video-on-demand streaming content
CN102611945B (zh) 一种流媒体切片方法、切片服务器及流媒体点播系统
CN110933482B (zh) 视频加载方法、装置、计算机可读存储介质和计算机设备
US10791348B2 (en) Adaptive media delivery
CN105144737A (zh) 媒体分发和管理平台
US20120250755A1 (en) Video encoding system and method
JP2008269614A (ja) 提供装置および方法
JP7802897B2 (ja) 送信装置、サーバ装置、方法およびプログラム
WO2017096830A1 (zh) 用于cdn平台的内容分发方法及调度代理服务器
EP2788899A1 (en) Media service and method for delivery of stored media
CN108965884A (zh) 一种转码任务的分配方法及调度设备、转码设备
CN101600092A (zh) 网络视频录像的生成和播放方法及系统
WO2018233539A1 (zh) 视频处理方法、计算机存储介质及设备
JP2018524893A (ja) メディア同期化ウェブインタラクション
CN119343665A (zh) 作为视频片段的子任务的视频操作的处理
CN111741338A (zh) Hls流媒体播放方法、系统、设备及存储介质
CN110149524B (zh) 直播流切片系统、直播流切片方法、装置及可读介质
CN116506413B (zh) 多媒体文件的存储方法、装置、设备及介质

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: 17889853

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17889853

Country of ref document: EP

Kind code of ref document: A1