CN112788367B - Streaming media scheduling method, system and scheduling component - Google Patents
Streaming media scheduling method, system and scheduling component Download PDFInfo
- Publication number
- CN112788367B CN112788367B CN202011613722.6A CN202011613722A CN112788367B CN 112788367 B CN112788367 B CN 112788367B CN 202011613722 A CN202011613722 A CN 202011613722A CN 112788367 B CN112788367 B CN 112788367B
- Authority
- CN
- China
- Prior art keywords
- sub
- target
- stream
- micro service
- service module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000006870 function Effects 0.000 claims abstract description 263
- 238000012545 processing Methods 0.000 claims abstract description 253
- 210000001503 joint Anatomy 0.000 claims description 60
- 238000005538 encapsulation Methods 0.000 claims description 57
- 238000003032 molecular docking Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 12
- 230000000875 corresponding effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 101100491335 Caenorhabditis elegans mat-2 gene Proteins 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
The application provides a streaming media scheduling method, a system and a scheduling component, wherein the method comprises the following steps: the scheduling component receives a flow taking scheduling request sent by a client, and determines flow taking path information according to flow taking parameters; and the scheduling component sends the stream taking path information or the stream taking path information obtained after the stream taking path information is subjected to security processing to the client, so that the client can obtain the code stream of the target front-end equipment according to the stream taking path. The method can start the streaming media function sub-micro service modules with different functions as required, better adapt to the cloud service scene, and improve the resource utilization rate in the cloud service scene.
Description
Technical Field
The application relates to the technical field of security monitoring, in particular to a streaming media scheduling method, a system and a scheduling component.
Background
At present, the integration of streaming media functions in the traditional streaming media function design is complex, and services are generally provided to the outside by integrating the streaming media functions such as transcoding, encapsulation, and various protocol stacks.
Practice shows that the traditional streaming media function design scheme has larger streaming media granularity, so that when the traditional streaming media function design scheme is applied to a cloud service scene, the characteristics of the cloud service cannot be fully utilized, and the application effect is poor.
Disclosure of Invention
In view of this, the present application provides a streaming media scheduling method, system and scheduling component.
According to a first aspect of the present application, a streaming media scheduling method is provided, which is applied to a streaming media scheduling system, where the streaming media scheduling system includes a scheduling component and a media sub-micro-service module, the media sub-micro-service module includes a plurality of streaming media function sub-micro-service modules and at least one stream fetching butt-joint sub-micro-service module, where streaming media functions provided by the plurality of streaming media function sub-micro-service modules are not identical, and the method includes:
the scheduling component receives a stream-taking scheduling request sent by a client, wherein the stream-taking scheduling request comprises stream-taking parameters, the stream-taking parameters comprise target point bit identification information and target streaming media function identification information, and the target point bit identification information is used for uniquely identifying target front-end equipment;
the scheduling component determines stream-taking path information according to stream-taking parameters, wherein the stream-taking path information comprises target point bit identification information, address information of a target stream media function sub-micro service module and address information of a target stream-taking butt joint sub-micro service module, and the target stream media function sub-micro service module is a stream media function sub-micro service module which is matched with the target stream media function identification information in the plurality of stream media function sub-micro service modules;
and the scheduling component sends the stream taking path information or the stream taking path information obtained after the stream taking path information is subjected to security processing to the client, so that the client can obtain the code stream of the target front-end equipment according to the stream taking path.
According to a second aspect of the present application, there is provided a streaming media scheduling system, including a scheduling component and a media sub-micro-service module, where the media sub-micro-service module includes a plurality of streaming media function sub-micro-service modules and at least one stream fetching and docking sub-micro-service module, and streaming media functions provided by the plurality of streaming media function sub-micro-service modules are not identical, where:
the scheduling component is used for receiving a stream-taking scheduling request sent by a client, wherein the stream-taking scheduling request comprises stream-taking parameters, the stream-taking parameters comprise target point bit identification information and target stream media function identification information, and the target point bit identification information is used for uniquely identifying target front-end equipment;
the scheduling component is further configured to determine stream taking path information according to a stream taking parameter, where the stream taking path information includes the target point bit identification information, address information of a target streaming media function sub-micro service module, and address information of a target stream taking butt joint sub-micro service module, and the target streaming media function sub-micro service module is a streaming media function sub-micro service module in the multiple streaming media function sub-micro service modules, which is matched with the target streaming media function identification information;
the scheduling component is further configured to send the stream taking path information or stream taking path information obtained after performing security processing on the stream taking path information to the client, so that the client obtains the code stream of the target front-end device according to the stream taking path.
According to a third aspect of the present application, a scheduling component is provided, which is applied to a streaming media scheduling system, where the streaming media scheduling system includes the scheduling component and a media sub-micro-service module, the media sub-micro-service module includes a plurality of streaming media function sub-micro-service modules and at least one stream fetching butt-joint sub-micro-service module, where streaming media functions provided by the plurality of streaming media function sub-micro-service modules are not identical, and the scheduling component includes:
the system comprises a receiving unit, a sending unit and a receiving unit, wherein the receiving unit is used for receiving a stream taking scheduling request sent by a client, the stream taking scheduling request comprises stream taking parameters, the stream taking parameters comprise target point bit identification information and target streaming media function identification information, and the target point bit identification information is used for uniquely identifying target front-end equipment;
the scheduling unit is used for determining stream taking path information according to stream taking parameters, wherein the stream taking path information comprises target point bit identification information, address information of a target stream media function sub-micro service module and address information of a target stream taking butt joint sub-micro service module, and the target stream media function sub-micro service module is a stream media function sub-micro service module which is matched with the target stream media function identification information in the plurality of stream media function sub-micro service modules;
and the sending unit is used for sending the stream taking path information or the stream taking path information obtained after the stream taking path information is subjected to security processing to the client so that the client can obtain the code stream of the target front-end equipment according to the stream taking path.
According to the streaming media scheduling method, the streaming media function is split into the plurality of streaming media function sub-micro service modules with different functions through module splitting of the streaming media function, so that different streaming media functions do not need to exist in an integrated mode any more, but can exist in a plurality of relatively independent individuals, all the streaming media functions do not need to be started at each time, the streaming media function sub-micro service modules with different functions can be started as required, the streaming media scheduling method is better suitable for a cloud service scene, and the resource utilization rate under the cloud service scene is improved.
Drawings
Fig. 1 is a flowchart illustrating a streaming media scheduling method according to an exemplary embodiment of the present application;
fig. 2 is a functional module architecture diagram of a streaming media scheduling system according to an exemplary embodiment of the present application;
FIG. 3 is an interaction diagram illustrating a media schedule according to an exemplary embodiment of the present application;
fig. 4A is a schematic diagram illustrating a streaming media forwarding scenario according to an exemplary embodiment of the present application;
FIG. 4B is a schematic diagram illustrating a streaming media distribution scenario according to an exemplary embodiment of the present application;
fig. 4C is a schematic diagram illustrating a secondary streaming media distribution scenario according to an exemplary embodiment of the present application;
fig. 5 is a schematic structural diagram of a streaming media scheduling system according to an exemplary embodiment of the present application;
fig. 6 is a schematic diagram illustrating a scheduling component according to an exemplary embodiment of the present application.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. The following description refers to the accompanying drawings in which the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
In order to make the technical solutions provided in the embodiments of the present application better understood and make the above objects, features and advantages of the embodiments of the present application more comprehensible, the technical solutions in the embodiments of the present application are described in further detail below with reference to the accompanying drawings.
Referring to fig. 1, a flow diagram of a streaming media scheduling method provided in an embodiment of the present application is shown, where the streaming media scheduling method may be applied to a streaming media scheduling system, and the streaming media scheduling system may include a scheduling component and a media sub-micro service module, where the media sub-micro service module includes a plurality of streaming media function sub-micro service modules and at least one stream fetching and docking sub-micro service module, and streaming media functions provided by the plurality of streaming media function sub-micro service modules are not exactly the same, as shown in fig. 1, the device access method may include the following steps:
step S100, the scheduling component receives a stream fetching scheduling request sent by the client, where the stream fetching scheduling request includes a stream fetching parameter, the stream fetching parameter includes target point bit identification information and target streaming media function identification information, and the target point bit identification information is used to uniquely identify the target front-end device.
Step S110, the scheduling component determines stream-taking path information according to the stream-taking parameter, where the stream-taking path information includes target point bit identification information, address information of a target streaming media function sub-micro-service module, and address information of a target stream-taking butt-joint sub-micro-service module, and the target streaming media function sub-micro-service module is a streaming media function sub-micro-service module matched with the target streaming media function identification information in the multiple streaming media function sub-micro-service modules.
In the embodiment of the application, when the streaming media function is designed, the streaming media function can be split into modules, and the streaming media function can be split into a plurality of streaming media function sub-microservice modules with different functions, so that different streaming media functions do not need to exist in an integrated form, but can exist in a plurality of relatively independent individuals.
In one example, the streaming media function sub-microservice module may include a streaming media function sub-microservice module (referred to herein as a protocol sub-microservice module) for implementing a protocol stack function, a streaming media function sub-microservice module (referred to herein as a transcoding sub-microservice module) for implementing a transcoding function, and a streaming media function sub-microservice module (referred to herein as a decapsulation sub-microservice module) for implementing a decapsulation function.
It should be noted that, in the embodiment of the present application, the streaming media function is not limited to the above protocol stack, transcoding, or decapsulation, and may also include other streaming media functions.
In addition, different streaming media functions are not limited to be completely split into independent sub-microservice modules, and a part of the sub-microservice modules can also realize a plurality of different streaming media functions.
Illustratively, transcoding and encapsulation functions can be realized through a single sub-micro service module, and protocol stack functions can be realized through other sub-micro service modules; or, the protocol stack and the transcoding function are realized by a single sub-micro service module, and the trans-encapsulation function is realized by other sub-micro service modules.
It should be noted that, in the embodiment of the present application, stream fetching interaction may be performed inside different sub-micro service modules through a specified protocol stack, for example, stream fetching interaction may be performed inside each sub-micro service module through an RTSP protocol stack (accordingly, each sub-micro service module may have an RTSP protocol stack function, and an RTSP protocol stack may belong to a common sub-module), and stream fetching interaction is performed by using a uniform protocol stack, so as to reduce maintenance amount.
In this embodiment of the application, when a client needs to fetch a stream from a specified front-end device (referred to as a target front-end device, which may also be referred to as a target monitoring point location or a target point location), the client may send a stream fetching scheduling request to a scheduling component, where the stream fetching scheduling request may include a stream fetching parameter, and the stream fetching parameter may include, but is not limited to, point location identification information (referred to as target point location identification information) for uniquely identifying the target front-end device, and identification information (referred to as target streaming media function identification information) for identifying streaming media function processing that needs to be performed on an obtained code stream.
When receiving a streaming scheduling request sent by a client, the scheduling component may obtain a streaming parameter included in the streaming scheduling request, and determine, according to target streaming media function identification information, a streaming media function sub-micro-service module (referred to as a target streaming media function sub-micro-service module herein) that is matched with the target streaming media function identification information, from among the multiple streaming media function sub-micro-service modules.
For example, each front-end device may be assigned with unique identification information (i.e., the point location identification information, such as a monitoring point number), and the scheduling component and each media sub-micro service module may obtain specific information of the front-end device according to the unique identification information, for example, information such as an IP address of the front-end device may be obtained according to a monitoring point number query, so as to interactively fetch a stream with the front-end device.
Step S120, the scheduling component sends the stream taking path information or the stream taking path information obtained after performing security processing on the stream taking path information to the client, so that the client obtains the code stream of the target front-end device according to the stream taking path.
In the embodiment of the application, the scheduling component can carry the target point bit identification information and the address information of the target streaming media function sub-micro service module in the stream taking path information and send the stream taking path information to the client.
For example, to improve data security, before sending the determined flow taking path information to the client, the scheduling component may perform security processing on the flow taking path information, for example, perform hiding processing on the specified information, and send the flow taking path information obtained after the security processing to the client.
When the client acquires the streaming path information, the client may acquire the address information of the target streaming media function sub-micro service module carried in the streaming path information, and acquire the code stream of the target front-end device according to the address information of the target streaming media function sub-micro service module, and specific implementation thereof may be described in the following with reference to specific examples, which are not described in this embodiment of the present application.
It can be seen that, in the method flow shown in fig. 1, the streaming media function is split into a plurality of streaming media function sub-microservice modules with different functions by splitting the streaming media function into modules, so that different streaming media functions do not need to exist in an integrated form, but can exist in a plurality of relatively independent individuals. Therefore, all streaming media functions are not required to be started every time, but the streaming media function sub-micro service modules with different functions can be started according to requirements, so that the method is better suitable for a cloud service scene, and the resource utilization rate under the cloud service scene is improved.
In some embodiments, the target streaming media function identification information includes streaming protocol information, and the target streaming media function sub-micro service module includes a target protocol sub-micro service module matched with the streaming protocol information.
Illustratively, the streaming media functionality may comprise protocol stack functionality.
When receiving the stream taking scheduling request, the scheduling component may determine, according to stream taking protocol information included in the stream taking scheduling request, a protocol sub-micro service module (referred to herein as a target protocol sub-micro service module) for performing corresponding protocol processing on the obtained code stream.
Exemplary, the Streaming Protocol may include, but is not limited to, RTSP (Real Time Streaming Protocol) Protocol, HLS (HTTP (HyperText Transfer Protocol) Live Streaming Protocol), HTTP-based Streaming media network Transfer Protocol) Protocol, or RTMP (Real Time Messaging Protocol) Protocol.
The protocol sub-micro service module is used for being in butt joint with the client, performing signaling interaction of a corresponding protocol with the client, and sending the obtained code stream to the client according to the corresponding protocol.
In one example, the plurality of streaming media function sub-microservice modules comprise a plurality of different types of protocol sub-microservice modules, the different types of protocol sub-microservice modules being for different protocols to fetch streams;
the stream taking protocol information comprises target protocol information, and the target stream media function sub-micro service module is a target protocol sub-micro service module matched with the target protocol information.
For example, the protocol stack function may be split into independent function modules (i.e., the protocol sub-micro service modules), and different types of sub-micro service modules perform different protocol stack function processes for different protocols to fetch streams.
It should be noted that, in the embodiment of the present application, each protocol is not limited to be split into independent sub-microservice modules according to the above-mentioned manner, all protocol stack functions may also be implemented by one sub-microservice module, or the protocol stack functions may also be split, but at least one sub-microservice module implements two or more protocol stack functions.
For example, a sub-micro service module for processing the RTSP protocol and a sub-micro service module for processing the HLS protocol and the RTMP protocol may be included for the protocol stack function.
In some embodiments, the target streaming media function identification information includes code stream processing identification information, and the code stream processing identification information includes transcoding function identification information for identifying whether transcoding processing is required, and target code stream type information when transcoding processing is required, and/or transcoding encapsulation function identification information for identifying whether transcoding processing is required, and target code stream encapsulation information when transcoding processing is required.
The target stream media function sub-micro service module comprises a target stream processing sub-micro service module matched with the stream processing identification information in the stream taking scheduling request.
Illustratively, the transcoding and/or transcoding and encapsulating functions can be split into independent sub-micro service modules, and the transcoding and/or transcoding and encapsulating functions are realized through the independent sub-micro service modules.
For example, considering that the requirements of different streaming media functions on physical resources (such as memory, CPU, network utilization, etc.) are not completely the same, for example, the transcoding function needs to consume more CPU resources, the transcoding function may be separated so as to be enabled as required, thereby saving hardware resources. For another example, different protocol stacks, such as an RTSP protocol stack, an HLS protocol stack, or an RTMP protocol stack, have different requirements for physical resources, so that different protocol stacks can be split into independent sub-micro service modules, thereby improving scheduling flexibility and resource utilization.
When the scheduling component receives the stream fetching scheduling request, it may obtain code stream processing identification information carried in the stream fetching scheduling, and if the code stream processing identification information indicates that transcoding and/or transcoding encapsulation processing needs to be performed on the obtained code stream, it may determine a code stream processing sub-micro service module (referred to herein as a target code stream processing sub-micro service module) that needs transcoding and/or transcoding encapsulation processing on the code stream in the stream fetching path.
It should be noted that, because the encapsulation formats of the code streams under different protocols are usually different, for example, the HLS protocol supports a TS encapsulation format code stream, and the RTMP protocol supports an FLV format code stream, when the protocol used by the client is different from the protocol used by the code stream provided by the monitoring front end, the code stream provided by the monitoring front end needs to be subjected to trans-encapsulation processing before being sent to the client.
In one example, the target code stream processing sub-microservice module comprises a target transcoding sub-microservice module.
In step S120, after the scheduling component sends the stream taking path information to the client, the method may further include:
and when the target transcoding sub-micro service module determines that transcoding processing is required according to the transcoding function identification information, transcoding processing is performed on the code stream of the target front-end equipment according to the target code stream type information.
For example, in the case that the transcoding function is implemented by an independent sub-microserver module, the target code stream processing sub-microserver module may include a transcoding sub-microserver module (referred to as a target transcoding sub-microserver module herein) for performing transcoding.
For the code stream of the target front-end device, the target transcoding sub-microservice module may perform transcoding processing, for example, performing processing for reducing a code rate and/or a resolution, and/or convert a non-standard code stream (such as a private protocol code stream) into a standard code stream, or the like, on the code stream according to the target code stream type information in the transcoding function identification information.
In one example, the target codestream processing sub-micro service module comprises a target-to-package sub-micro service module.
In step S120, after the scheduling component sends the stream fetching path information to the client, the method may further include:
and when the target trans-encapsulation sub-micro service module determines that trans-encapsulation processing is required according to the trans-encapsulation function identification information, carrying out trans-encapsulation processing on the code stream of the target front-end equipment according to the target code stream encapsulation information.
For example, in the case that the transcoding function is implemented by an independent sub-micro service module, the target code stream processing sub-micro service module may include a transcoding sub-micro service module (referred to as a target transcoding sub-micro service module herein) for performing transcoding processing.
For the code stream of the target front-end device, the target forward encapsulation sub-micro service module may forward encapsulation processing on the code stream according to the target code stream encapsulation information in the forward encapsulation function identification information, for example, a standard RTSP stream fetching requires a Real-time Transport Protocol (RTP) process.
In some embodiments, the media sub-microservice module includes a plurality of stream fetching interface sub-microservice modules.
In step S110, the determining, by the scheduling component, the stream fetching path information may include:
the scheduling component determines whether other clients currently acquire the code stream of the target front-end equipment or not according to the target point bit identification information;
and if no other client side obtains the code stream of the target front-end equipment, determining a target flow taking butt joint sub-micro service module from the plurality of flow taking butt joint sub-micro service modules according to the operating parameters of the plurality of flow taking butt joint sub-micro service modules.
Illustratively, the media sub-micro service module includes a plurality of stream taking butt sub-micro service modules.
When determining a stream access sub-micro service module (i.e., the target stream access sub-micro service module) for accessing a stream from a target front-end device for a client, it may be determined whether there is another client currently to acquire a code stream of the target front-end device.
If no other client side obtains the code stream of the target front-end device currently, the target stream taking butt joint sub-micro service module can be determined from the plurality of stream taking butt joint sub-micro service modules according to the operation parameters of the plurality of stream taking butt joint sub-micro service modules.
For example, according to the operating parameters of each of the plurality of flow taking docking sub-micro service modules, the flow taking docking sub-micro service module with the minimum load is determined, and the flow taking docking sub-micro service module with the minimum load is determined as the target flow taking docking sub-micro service module.
In one example, determining a target fetch pair sub-micro service module from the plurality of fetch pair sub-micro service modules according to the operating parameters of the plurality of fetch pair sub-micro service modules may include:
determining the operation state value of each access point sub-micro service module according to the operation parameter utilization rate of a plurality of access point sub-micro service modules; the operation state value of the access butt sub-micro service module is positively correlated with the operation parameter utilization rate of the access butt sub-micro service module;
and determining the flow taking butt joint sub-micro service module with the minimum running state value in the plurality of flow taking butt joint sub-micro service modules as a target flow taking butt joint sub-micro service module.
For example, the load of the fetch to the sub-microservice module is determined by the operating state utilization.
The operation state value of each access point sub-micro service module can be determined according to the operation parameter utilization rate of a plurality of access point sub-micro service modules.
Illustratively, the operation state value of the access point sub-micro service module is positively correlated with the operation parameter utilization rate of the access point sub-micro service module.
For example, the operation parameters may include, but are not limited to, parameters such as a Central Processing Unit (CPU), a memory, and a network card; the usage rate of the operation parameters may include, but is not limited to, CPU occupancy, memory occupancy, network card occupancy, and the like.
For example, in the case of memory usage, for a fetching sub-micro service module, the memory usage may be determined as a ratio of its actual memory usage to its maximum memory capacity allocated to it.
For example, the maximum memory capacity allocated to one access point pair sub-micro service module may be the product of the total memory amount and a predetermined threshold (or allocation ratio).
For example, the total memory amount is 1G, and the preset threshold is 10%, then the maximum memory capacity of one stream-fetching peer-to-peer sub-microservice module is 0.1G.
For example, in consideration that the responses of different operation parameters to the load size are not completely the same, different weights may be set for different operation parameters in order to improve the rationality of the load determination, and the operation state value may be determined according to the operation parameter usage rates and the corresponding weights when determining the operation state value based on the operation parameter usage rates.
For example, the operating state value (referred to as P) may be determined by the following strategy:
the weight is a preset weight of each operating parameter, for example, the weight of the CPU is 0.1, the weight of the memory is 0.1, and the weight of the network card is 0.8.
For example, when the operation state value of each flow taking butt sub-micro service module is determined, the flow taking butt sub-micro service module with the smallest operation state value may be determined as the target flow taking butt sub-micro service module.
In one example, the plurality of streaming media function sub-micro service modules comprise at least one protocol sub-micro service module and a plurality of codestream processing sub-micro service modules; the protocol sub-micro service module is used for being in butt joint with the client;
the target streaming media function identification information comprises code stream processing identification information;
in step S110, the determining, by the scheduling component, the flow taking path information may further include:
and if no other client side obtains the code stream of the target front-end equipment currently exists, and the scheduling component determines that the code stream processing is required according to the code stream processing identification information, determining a target code stream processing sub-micro service module from the plurality of code stream processing sub-micro service modules according to the operation parameters of the plurality of code stream processing sub-micro service modules.
For example, when a code stream acquired by a client needs to be subjected to code stream processing, such as transcoding and/or transcoding and packaging, when a target code stream processing sub-micro service module for performing code stream processing on the code stream of a target front-end device is determined without acquiring the code stream of the target front-end device by other clients, a target code stream processing sub-micro service module may be determined from a plurality of code stream processing sub-micro service modules according to an operation parameter of each code stream processing sub-micro service module.
In one example, in step S110, the scheduling component determines the stream fetching path information, and may further include:
if other clients currently acquire the code streams of the target front-end equipment, determining the stream-taking butt joint sub-micro service module in the stream-taking path of the other clients as a target stream-taking butt joint sub-micro service module;
determining whether a code stream processing sub-micro service module matched with the code stream processing identification information exists in the stream taking path of the other client;
if the code stream processing sub-micro service module exists, determining the code stream processing sub-micro service module as a code stream processing sub-micro service module;
if the target code stream processing sub-micro service module does not exist, determining the target code stream processing sub-micro service module from the plurality of code stream processing sub-micro service modules according to the operation parameters of the plurality of code stream processing sub-micro service modules.
For example, if there is another client currently acquiring the code stream of the target front-end device, in order to reduce the limitation on the number of access paths of the target front-end device, reduce the load of the target front-end device, and reduce resource consumption, it may not be necessary to repeatedly access the stream from the target front-end device, but may perform traffic distribution on the sub-microserver module by the access stream currently accessing the stream from the target front-end device, that is, the access stream access sub-microserver module is used as the target access stream access sub-microserver module, and the access stream access sub-microserver module copies the acquired code stream of the target front-end device and sends the copy to the client.
It can be seen that, through the above streaming media distribution mechanism, the number of supportable concurrent stream taking paths is greatly increased without additionally increasing the number of stream taking paths of the target front end.
For example, when different clients acquire code streams at the same point, the processing requirements for the acquired code streams may be the same or different, and in the case that there is another client acquiring a code stream of a target front-end device at present, it may also be determined whether a code stream processing sub-micro service module matching code stream processing identification information exists in a stream-taking path of the other client.
For example, assuming that a client needs to acquire a code stream from a target front-end device and transcode the code stream into a target code stream, and a transcoding sub-micro-service module for transcoding the code stream into the target code stream exists in other clients currently acquiring the code stream from the target front-end device, the transcoding sub-micro-service module may be determined as a target transcoding sub-micro-service module, and the transcoded code stream is distributed by the transcoding sub-micro-service module, that is, after the code stream of the target front-end device is transcoded into the target code stream, a copy is made and sent to the client.
If there is no code stream processing sub-micro service module matching with the code stream processing identification information in the stream taking path of another client that obtains the code stream from the target front-end device at present, the target code stream processing sub-micro service module may be determined from the plurality of code stream processing sub-micro service modules according to the operation parameters of the plurality of code stream processing sub-micro service modules, and the specific implementation thereof may refer to the relevant description in the above embodiments, which is not described herein again in this application.
It should be noted that, if a plurality of consecutive identical sub-micro service modules exist in the stream taking path of the client and in the stream taking path of another client that takes a stream from the target front-end device, the sub-micro service module closest to the client in the plurality of consecutive identical sub-micro service modules may distribute the code stream of the target front-end device, so as to reduce resource consumption and improve stream taking efficiency.
For example, if the client 1 and the client 2 both need to fetch a stream from a target front-end device through the stream fetching docking module 1, transcode the obtained code stream into a target format through the transcoding sub-micro service module 1, and convert the code stream into an HLS protocol code stream through the protocol sub-micro service module 1, the transcoded code stream may be copied into two parts by the protocol sub-micro service module 1, and the two parts are respectively sent to the client 1 and the client 2.
For another example, assuming that both the client 1 and the client 2 need to fetch streams from a target front-end device through the stream fetching docking module 1, and both transcode the obtained code streams into a target format through the transcoding sub-micro service module 1, but the client 1 needs to obtain RTSP protocol code streams, and the client 2 needs to obtain HLS protocol code streams, the transcoding sub-micro service module 1 may copy the transcoded code streams into two parts, one part is sent to the client 1 through the RTSP protocol sub-micro service module connected to the client 1, and the other part is sent to the client 2 through the HLS protocol sub-micro service module connected to the client 2 after protocol conversion.
In addition, considering that the resource of a single sub-micro service module is limited, when the sub-micro service module is multiplexed, if the load of the sub-micro service module reaches a preset upper limit, whether the sub-micro service modules of the same type which are started and the load of which does not reach the preset upper limit exist currently can be determined, if the sub-micro service modules exist, the flow taking can be performed through the sub-micro service modules of the same type which are started and the load of which does not reach the preset upper limit, and if the sub-micro service modules do not exist, a new sub-micro service module of the same type needs to be started, and the specific implementation is not limited here.
In some embodiments, the plurality of streaming media function sub-micro service modules comprise a plurality of protocol sub-micro service modules and a plurality of stream processing sub-micro service modules; the protocol sub-micro service module is used for being in butt joint with the client;
the target streaming media function sub-micro Service module comprises a target protocol sub-micro Service module, and the address information of the target protocol sub-micro Service module comprises the IP address and the port information of the Service of the protocol sub-micro Service module;
the address information of the target flow taking butt joint sub-micro service module comprises an IP address and port information of a container Pod where the target flow taking butt joint sub-micro service module is located;
when the stream-taking parameter further comprises code stream processing identification information for indicating that code stream processing is required, the target stream media function sub-micro service module further comprises a target code stream processing sub-micro service module, and the address information of the target code stream processing sub-micro service module comprises an IP address and port information of a container Pod where the target code stream processing sub-micro service module is located;
in step S120, the sending, by the scheduling component, the flow taking path information obtained by performing security processing on the flow taking path information to the client may include:
the scheduling component sets other address information except the address information of the target protocol sub-micro service module in the stream taking path information into a hidden state and sends the hidden state to the client; and the address information in the hidden state is acquired from the scheduling component by the target protocol sub-micro service module in the stream fetching process.
Illustratively, for example, in a streaming media scheduling implementation based on a container cloud (such as a K8S cluster) and a micro-Service architecture, each media sub-micro-Service module may operate in the form of Pod (Pod), and a protocol sub-micro-Service module for interfacing with a client exposes an IP address and a port (external address and port) to the outside in the form of Service, and uses the IP address and the port (internal address and port) of Pod internally to implement data transmission.
It should be noted that, for a streaming media scheduling architecture based on a container cloud (e.g., a K8S cluster) and a micro-Service architecture, a protocol sub-micro-Service module selects Service and exposes services to the outside in combination with a nodoport manner (i.e., service is used to complete media scheduling for the protocol sub-micro-Service), that is, a uniform virtual IP address and port are exposed in combination with the nodoport manner by Service, an access requirement outside the K8S network requests the virtual IP address and port in a uniform manner, and the protocol sub-micro-Service module is selected by Service using a load balancing policy and/or a session maintaining policy.
And the Pod IP is used in the K8S network, each micro service is connected with a scheduling service, and the media scheduling is realized by the micro service.
Illustratively, the external protocol stack, which is equivalent to a microservice connected to a client, exposes a uniform IP address and a port through Service, and the first IP address is the uniform IP address of Service when determining a streaming address (e.g., a URL address) in media scheduling.
For example, when there are multiple HLS protocol sub-micro Service modules, the IP addresses of the streaming URL addresses taken by the client are the same, and the requests are all sent to the Service of that HLS protocol stack, and the Service selects the HLS protocol stack sub-micro Service module (running in the pod) using load balancing (e.g., polling) and/or session reservation policy.
Illustratively, with the meaning of session hold: when the client 1 is associated with the HLS pod3 (which may also be referred to as the HLS protocol sub-micro Service module 3, where one sub-micro Service module runs in one pod), if the fetching is finished but the preset timeout time is not exceeded, the fetching request re-initiated by the client 1 is still sent to the HLS pod3 by the Service.
Correspondingly, when the scheduling component receives a stream fetching scheduling request sent by the client, the stream fetching path can be determined according to the parameters, and the stream fetching path is sent to the client.
For example, the address information of the protocol sub-micro Service module in the stream fetching path may be an IP address and a port of Service, the address information of the target streaming media function sub-micro Service module may be an IP address and a port of a Pod where the target streaming media sub-micro Service module is located, and the address information of the target stream fetching docking sub-micro Service module may be an IP address and a port of a Pod where the target stream fetching docking sub-micro Service module is located.
In order to protect information security, the address information of the protocol sub-micro Service module, that is, the IP address and the port of Service, in the stream fetching path returned to the client may be hidden, when the client sends a stream fetching request to the corresponding Service based on the stream fetching path, the Service may determine the target protocol sub-micro Service module based on a load balancing policy and/or a session maintaining policy, and the target protocol sub-micro Service module obtains the hidden address information from the scheduling component, and the specific implementation thereof may be described below with reference to specific examples.
In order to enable those skilled in the art to better understand the technical solutions provided in the embodiments of the present application, the following describes the technical solutions provided in the embodiments of the present application with reference to specific application scenarios.
Take the implementation of streaming media scheduling based on K8S cluster and micro service architecture as an example.
Referring to fig. 2, a functional module architecture diagram of a streaming media scheduling system provided for an embodiment of the present application is shown, and as shown in fig. 2, the streaming media scheduling system may include a scheduling component (not shown in the figure) and a media sub-micro-service module, where the media sub-micro-service module includes a stream access sub-micro-service module (which may be referred to as BaseMedia or hikbase media), an RTSP protocol sub-micro-service module (which may be referred to as RTSP media), an HLS protocol sub-micro-service module (which may be referred to as HLS media), an RTMP protocol sub-micro-service module (which may be referred to as rtmpmmedia), a trans-encapsulation sub-micro-service module (which may be referred to as transformatted media), and a trans-coding sub-micro-service module (which may be referred to as transcoding media).
As shown in fig. 2, each dashed box corresponds to one type of function module, each type of function module may enable one or more function modules according to requirements, and each function module (a function module may also be referred to as a media sub-component) runs in one Pod.
The functions of the functional modules will be briefly described below.
1. BaseMedia: a sub-microservice module (also referred to as a microservice module, the same applies below) directly connected to a camera, and an SDK (Software Development Kit) responsible for various cameras (such as passive devices) performs stream fetching docking and code stream distribution (when there is a multi-path stream fetching requirement for the same camera, the multi-path stream fetching requirement can be satisfied by a code stream distribution mode under the condition of one-path stream fetching).
Taking the following module as an example, the module may operate in a Pod, and the "Source" unit is integrated with an SDK of a front-end device of a specified type, so as to realize stream fetching in the front-end device (such as a camera); the distribution unit is used for distributing one path of code stream to a plurality of request devices; the RTSP unit realizes external protocol stack support so as to realize RTSP protocol code stream transmission.
RTSP | Dispensing | Source |
2. RtspMedia: taking charge of RTSP protocol streaming;
3. RtspTransformMedia: and the code stream is responsible for the conversion packaging processing of the acquired code stream.
Illustratively, some clients have a transcoding requirement for transcoding, e.g. standard RTSP streaming, and require transcoding RTP processing, such as vlc (a file format), to play.
4. Rtspttranscodemedia: and the system is responsible for transcoding the acquired code stream.
Illustratively, the transcoding process includes a rate reduction and a resolution reduction of a standard code stream, a conversion from a non-standard code stream to a standard code stream (such as a conversion from a private code stream to a standard code stream), and the like, and the usage scenario includes adaptation to a playing requirement of the mobile phone end through the transcoding process when the mobile phone end cannot support playing of a high-resolution video or a private code stream.
For example, transcoding consumes more resources, such as CPU, memory, etc.
5. HlsMedia: is responsible for HLS protocol fetching.
6. Rtmpmedia: and taking the stream by the RTMP protocol.
For example, taking RTSP protocol transmission as an example of the code stream among modules, since an encapsulation format supported by the RTSP protocol is different from an encapsulation format supported by an HLS protocol and an RTMP protocol, when the HLS protocol code stream or the RTMP protocol code stream needs to be acquired, the acquired code stream needs to be converted into an encapsulation format, for example, for the HLS protocol, it needs to be converted into a TS format (a kind of encapsulation format); for the RTMP protocol, conversion to FLV format (an encapsulation format) is required.
The following describes the interaction between the scheduling component and each media sub-microservice module.
Referring to fig. 3, an interactive schematic diagram of media scheduling provided in an embodiment of the present application is shown, as shown in fig. 3, a scheduling component (also referred to as a media scheduling component, or ManagerMedia) maintains a heartbeat link with each media sub-microservice, and monitors each media sub-microservice while performing signaling and data exchange.
The scheduling component can start different services according to protocol types, such as services of an RTSP (real time streaming protocol), an HLS (HTTP live streaming protocol) and an RTMP (real time Messaging protocol), the services expose IP (Internet protocol) addresses and port information outwards, and based on a load balancing strategy, a session maintenance function is adopted to realize the selection of protocol sub-micro Service modules, ensure the load balancing of each protocol sub-micro Service module, ensure the same client to request the same protocol sub-micro Service module behind a certain Service.
For any client, after the session is established, if the client does not access the Service within a preset validity period (such as 24) hours, the Service device deletes the corresponding record; if the client accesses the Service within the preset validity period, the session maintenance is triggered, the Service refreshes the validity period, and the request is forwarded to the accessed Pod according to the accessed IP.
For any client, when the stream fetching needs to be implemented, the client may send a stream fetching scheduling request to the scheduling component to obtain stream fetching path information.
Illustratively, the fetching parameters in the fetching scheduling request may be as follows:
camera IndexCode =61fd24f9-e1bd-43e2-8db9-e2fd0ca51bfc// point unique identification (platform camera unique identification)
protocol = RTSP// RTSP protocol
transform =1&video = h264// transcoding process, convert video coding to h264 processing
When receiving the stream fetching scheduling request, the scheduling component may determine stream fetching path information and return the stream fetching path information to the client.
For example, the stream fetching path information returned by the scheduling component may be: rtsp:// 114.115.240.7.
Exemplarily, 114.115.240.7 is the IP address and port exposed to the outside by RTSP Service.
Illustratively, the streaming request is issued by the client, and sequentially passes through: rtsp media → RtspranscodeMedia → HikBaseMedia → pick-up head.
When RtspMedia receives a stream fetch request, it can replace the stream length url from MangerMedia, as an example:
rtsp://114.115.240.7:554/RtspMedia/10.41.163.122:553/RtspTranscodeMedia/10.41.163.123:552/HikBaseMedia/61fd24f9-e1bd-43e2-8db9-e2fd0ca51bfctranscode=1&videotype=h264
illustratively, the detailed steps of the stream fetching phase are as follows:
and 2, replacing the long url by the Rtspmedia, and continuing to request downwards according to the RTSPclient in the Rtspmedia.
Illustratively, 10.41.163.122/RtspracodeMedia is the IP address of the Pod where the RtspracodeMedia is located for internal use.
Step 3, rtspttranscodemedia continues to stream to 10.41.163.123/HikBaseMedia.
Illustratively, 10.41.163.123 552/HikBaseMedia is the IP address of the Pod where HikBaseMedia is located for internal use.
And 4, taking a stream from HikBaseMedia to front-end equipment.
And 5, after the code stream is obtained, performing transcoding processing on the RtspranscodeMedia according to transcoding parameter requirements, and then returning step by step.
The selection strategy of rtspttranscodemia and hikbasemia will be described below.
1. When the stream to be taken point does not have other client side stream taking currently, the following strategy is used for selecting the optimal Pod for processing:
calculating each usage rate according to the obtained operation parameters, such as the total amount and usage of the CPU, the memory, and the network card, and then multiplying by each set weight (such as CPU =0.1, memory =0.1, and network card = 0.8), and the policy is as follows:
2. and when other clients exist in the current stream taking point to be taken for taking the stream, multiplexing the Pod for processing, and performing secondary distribution after the code stream processing.
Exemplarily, as shown in fig. 4A and 4B, forwarding refers to that a client previews different cameras and a streaming media forwards a code stream; the distribution means that a plurality of clients preview the same camera, and the streaming media takes the code stream from the camera, copies and distributes to a plurality of streaming clients.
As shown in fig. 4C, when more than three clients take a stream from the same camera, and some transcoding modes are the same, the code stream may be distributed for the second time through the transcoding sub-microservice module.
It should be noted that, in this embodiment of the application, in the case of multiplexing Pod, a later-initiated stream fetching request does not need to be sent to the front-end device, but may be processed by the distributing sub-microservices.
Taking the scenario shown in fig. 4C as an example, the streaming request initiated by the client in the second row may be distributed by BaseMedia (streaming interface sub-microservice module) without being sent to the camera, that is, without repeatedly streaming from the camera.
The streaming request initiated by the client in the third row can be distributed twice by the rtsp transcoding microservice module in the second row without being sent to BaseMedia and the camera.
Therefore, the flow distribution is carried out by multiplexing the Pod, so that the resource consumption is reduced, and the flow taking efficiency is improved.
In the embodiment of the application, different streaming media functions are split into the sub-micro service modules for realizing different functions, so that the streaming media functions do not need to be started as a whole and can be started as required.
Illustratively, a user configuration page may be provided, taking RTSP as an example: assuming that a front-end device accesses 500 devices and needs 100 transcoding devices, and concurrently fetches 1000 streams, then:
1. the equipment is accessed to 500 stations, and the number of BaseMedia services is determined, wherein 500/300 is =2 (rounding up, the same below assumes that the specification is 300, that is, one BaseMedia can access 300 cameras by streaming);
2. 100 transcoding devices: determine the number of RtspracodeMedia services, 100/30=4 (assuming the specification is 30, that is, one RtspracodeMedia can transcode and process 30 code streams)
3. Concurrent 1000-way fetching: the number of rtsp media services is determined to be 1000/300=4 (assuming that the specification is 300, that is, one rtsp media can concurrently take 300 channels).
Therefore, by splitting each function of the streaming media, the physical resources of the cloud service are fully utilized, and the functions are started as required by combining the specification of each functional module.
In addition, the protocol stack function is abstracted to provide Service for Service, the difference of the lower layer is shielded, only RTSP (real time streaming protocol) stream fetching needs to be supported downwards, the specific protocol requirement can be realized through protocol conversion, and the expansibility is strong.
The methods provided herein are described above. The following describes the systems and devices provided by the present application:
referring to fig. 5, a schematic structural diagram of a streaming media scheduling system according to an embodiment of the present invention is shown in fig. 5, where the streaming media scheduling system may include: the media sub-microservice module comprises a plurality of streaming media function sub-microservice modules and at least one streaming access butt-joint sub-microservice module, the streaming media functions provided by the streaming media function sub-microservice modules are not identical, wherein:
the scheduling component is used for receiving a stream-taking scheduling request sent by a client, wherein the stream-taking scheduling request comprises stream-taking parameters, the stream-taking parameters comprise target point bit identification information and target stream media function identification information, and the target point bit identification information is used for uniquely identifying target front-end equipment;
the scheduling component is further configured to determine stream taking path information according to a stream taking parameter, where the stream taking path information includes the target point bit identification information, address information of a target streaming media function sub-micro service module, and address information of a target stream taking butt joint sub-micro service module, and the target streaming media function sub-micro service module is a streaming media function sub-micro service module in the multiple streaming media function sub-micro service modules, which is matched with the target streaming media function identification information;
the scheduling component is further configured to send the stream taking path information or stream taking path information obtained after performing security processing on the stream taking path information to the client, so that the client obtains the code stream of the target front-end device according to the stream taking path.
In some embodiments, the target streaming media function identification information comprises streaming protocol information; the target streaming media function sub-micro service module comprises a target protocol sub-micro service module matched with the streaming protocol information,
In some embodiments, the plurality of streaming media function sub-microservice modules comprise a plurality of different types of protocol sub-microservice modules, the different types of protocol sub-microservice modules for different protocols for fetching streams;
the stream taking protocol information comprises target protocol information, and the target stream media function sub-micro service module is a target protocol sub-micro service module matched with the target protocol information.
In some embodiments, the target streaming media function identification information includes code stream processing identification information, where the code stream processing identification information includes transcoding function identification information for identifying whether transcoding processing is required, and target code stream type information when transcoding processing is required, and/or trans-encapsulation function identification information for identifying whether trans-encapsulation processing is required, and target code stream encapsulation information when trans-encapsulation processing is required;
the target stream media function sub-micro service module comprises a target stream processing sub-micro service module matched with the stream processing identification information.
In some embodiments, the target code stream processing sub-microservice module comprises a target transcoding sub-microservice module;
and the streaming media function sub-micro service module is used as a target transcoding sub-micro service module, and is used for transcoding the code stream of the target front-end equipment according to the target code stream type information when transcoding processing is determined to be required according to the transcoding function identification information.
In some embodiments, the target code stream processing sub-micro service module comprises a target-to-package sub-micro service module;
and the streaming media function sub-micro service module is used as a target trans-encapsulation sub-micro service module, and when trans-encapsulation processing is determined to be required according to the trans-encapsulation function identification information, the stream of the target front-end equipment is trans-encapsulated according to the target stream encapsulation information.
In some embodiments, the media sub-microservice module comprises a plurality of fetch-stream-pair sub-microservice modules;
the scheduling component is specifically configured to determine, by the scheduling component according to the target point bit identification information, whether another client currently exists to acquire a code stream of the target front-end device; and if no other client side obtains the code stream of the target front-end equipment, determining the target stream taking butt joint sub-micro service module from the plurality of stream taking butt joint sub-micro service modules according to the operating parameters of the plurality of stream taking butt joint sub-micro service modules.
In some embodiments, the plurality of streaming media function sub-micro service modules comprise at least one protocol sub-micro service module and a plurality of codestream processing sub-micro service modules; the protocol sub-micro service module is used for being in butt joint with a client;
the target streaming media function identification information comprises code stream processing identification information;
the scheduling component is further configured to determine the target code stream processing sub-micro service module from the plurality of code stream processing sub-micro service modules according to the operation parameters of the plurality of code stream processing sub-micro service modules if no other client obtains the code stream of the target front-end device currently and the scheduling component determines that code stream processing is required according to the code stream processing identification information.
In some embodiments, the target streaming media function identification information includes code stream processing identification information, where the code stream processing identification information includes transcoding function identification information for identifying whether transcoding processing is required, and target code stream type information when transcoding processing is required, and/or transcoding encapsulation function identification information for identifying whether transcoding processing is required, and target code stream encapsulation information when transcoding processing is required; the plurality of streaming media function sub-micro service modules comprise a plurality of code stream processing sub-micro service modules;
the scheduling component is further configured to determine a stream taking butt joint sub-micro service module in a stream taking path of another client as the target stream taking butt joint sub-micro service module if the code stream of the target front-end device is obtained by the other client at present;
determining whether a code stream processing sub-micro service module matched with the code stream processing identification information exists in the stream taking path of the other client;
if the target code stream processing sub-micro service module exists, determining the code stream processing sub-micro service module as the target code stream processing sub-micro service module;
and if the target code stream processing sub-micro service module does not exist, determining the target code stream processing sub-micro service module from the plurality of code stream processing sub-micro service modules according to the operation parameters of the plurality of code stream processing sub-micro service modules.
In some embodiments, the plurality of streaming media function sub-micro service modules comprise a plurality of protocol sub-micro service modules and a plurality of codestream processing sub-micro service modules; the protocol sub-micro service module is used for being in butt joint with a client;
the target streaming media function sub-micro Service module comprises a target protocol sub-micro Service module, and the address information of the target protocol sub-micro Service module comprises the IP address and the port information of the Service of the protocol sub-micro Service module;
the address information of the target flow taking butt joint sub-micro service module comprises an IP address and port information of a container Pod where the target flow taking butt joint sub-micro service module is located;
when the stream taking parameter further comprises code stream processing identification information used for indicating that code stream processing is required, the target stream media function sub-micro service module further comprises a target code stream processing sub-micro service module, and the address information of the target code stream processing sub-micro service module comprises an IP address and port information of a container Pod where the target code stream processing sub-micro service module is located;
the scheduling component is specifically configured to set other address information in the stream taking path information, except for the address information of the target protocol sub-microservice module, to a hidden state, and send the hidden state to the client; and the address information in the hidden state is acquired from the scheduling component by the target protocol sub-micro service module in the stream fetching process.
Referring to fig. 6, a schematic structural diagram of a scheduling component provided in an embodiment of the present application is shown, where the scheduling component is applied to a streaming media scheduling system, the streaming media scheduling system includes the scheduling component and a media sub-micro-service module, the media sub-micro-service module includes a plurality of streaming media function sub-micro-service modules and at least one stream fetching and butting sub-micro-service module, streaming media functions provided by the plurality of streaming media function sub-micro-service modules are not exactly the same, as shown in fig. 6, the scheduling component includes:
the system comprises a receiving unit, a sending unit and a receiving unit, wherein the receiving unit is used for receiving a stream taking scheduling request sent by a client, the stream taking scheduling request comprises stream taking parameters, the stream taking parameters comprise target point bit identification information and target streaming media function identification information, and the target point bit identification information is used for uniquely identifying target front-end equipment;
the scheduling unit is used for determining stream taking path information according to stream taking parameters, wherein the stream taking path information comprises target point bit identification information, address information of a target stream media function sub-micro service module and address information of a target stream taking butt joint sub-micro service module, and the target stream media function sub-micro service module is a stream media function sub-micro service module which is matched with the target stream media function identification information in the plurality of stream media function sub-micro service modules;
and the sending unit is used for sending the stream taking path information or the stream taking path information obtained after the stream taking path information is subjected to security processing to the client so that the client can obtain the code stream of the target front-end equipment according to the stream taking path.
In some embodiments, the target streaming media function identification information comprises streaming protocol information; the target streaming media function sub-micro service module comprises a target protocol sub-micro service module matched with the streaming protocol information.
In some embodiments, the plurality of streaming media function sub-microservice modules comprise a plurality of different types of protocol sub-microservice modules, the different types of protocol sub-microservice modules for different protocols for fetching streams;
the stream taking protocol information comprises target protocol information, and the target stream media function sub-micro service module is a target protocol sub-micro service module matched with the target protocol information.
In some embodiments, the target streaming media function identification information includes code stream processing identification information, where the code stream processing identification information includes transcoding function identification information for identifying whether transcoding processing is required, and target code stream type information when transcoding processing is required, and/or transcoding encapsulation function identification information for identifying whether transcoding processing is required, and target code stream encapsulation information when transcoding processing is required;
the target streaming media function sub-micro service module comprises a target code stream processing sub-micro service module matched with the code stream processing identification information.
In some embodiments, the media sub-microservice module comprises a plurality of fetch-stream-pair sub-microservice modules;
the scheduling unit determines the stream taking path information, including:
determining whether other clients currently acquire the code stream of the target front-end equipment or not according to the target point bit identification information;
and if no other client side obtains the code stream of the target front-end equipment, determining the target stream taking butt joint sub-micro service module from the plurality of stream taking butt joint sub-micro service modules according to the operating parameters of the plurality of stream taking butt joint sub-micro service modules.
In some embodiments, the plurality of streaming media function sub-micro service modules comprise at least one protocol sub-micro service module and a plurality of codestream processing sub-micro service modules; the protocol sub-micro service module is used for being in butt joint with a client;
the target streaming media function identification information comprises code stream processing identification information;
the scheduling unit determines the stream taking path information, and further includes:
and if no other client side obtains the code stream of the target front-end equipment at present and the code stream processing is determined to be required according to the code stream processing identification information, determining the target code stream processing sub-micro service module from the plurality of code stream processing sub-micro service modules according to the operation parameters of the plurality of code stream processing sub-micro service modules.
In some embodiments, the target streaming media function identification information includes code stream processing identification information, where the code stream processing identification information includes transcoding function identification information for identifying whether transcoding processing is required, and target code stream type information when transcoding processing is required, and/or transcoding encapsulation function identification information for identifying whether transcoding processing is required, and target code stream encapsulation information when transcoding processing is required; the plurality of streaming media function sub-micro service modules comprise a plurality of code stream processing sub-micro service modules;
the scheduling unit determines the stream taking path information, and further includes:
if other clients obtain the code stream of the target front-end equipment, determining a stream-taking butt joint sub-micro service module in a stream-taking path of the other clients as the target stream-taking butt joint sub-micro service module;
determining whether a code stream processing sub-micro service module matched with the code stream processing identification information exists in the stream taking path of the other client;
if the target code stream processing sub-micro service module exists, determining the code stream processing sub-micro service module as the target code stream processing sub-micro service module;
and if the target code stream processing sub-micro service module does not exist, determining the target code stream processing sub-micro service module from the plurality of code stream processing sub-micro service modules according to the operation parameters of the plurality of code stream processing sub-micro service modules.
In some embodiments, the plurality of streaming media function sub-micro service modules comprise a plurality of protocol sub-micro service modules and a plurality of codestream processing sub-micro service modules; the protocol sub-micro service module is used for being in butt joint with a client;
the target streaming media function sub-micro Service module comprises a target protocol sub-micro Service module, and the address information of the target protocol sub-micro Service module comprises the IP address and the port information of the Service of the protocol sub-micro Service module;
the address information of the target flow taking butt joint sub-micro service module comprises an IP address and port information of a container Pod where the target flow taking butt joint sub-micro service module is located;
when the stream taking parameter further comprises code stream processing identification information used for indicating that code stream processing is required, the target stream media function sub-micro service module further comprises a target code stream processing sub-micro service module, and the address information of the target code stream processing sub-micro service module comprises an IP address and port information of a container Pod where the target code stream processing sub-micro service module is located;
the sending unit is specifically configured to set other address information in the stream taking path information, except the address information of the target protocol sub-microservice module, to be in a hidden state, and send the hidden state to the client; and the address information in the hidden state is acquired from the scheduling component by the target protocol sub-micro service module in the stream fetching process.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising a … …" does not exclude the presence of another identical element in a process, method, article, or apparatus that comprises the element.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the scope of protection of the present application.
Claims (12)
1. A streaming media scheduling method is applied to a streaming media scheduling system, the streaming media scheduling system includes a scheduling component and a media sub-micro-service module, the media sub-micro-service module includes a plurality of streaming media function sub-micro-service modules and at least one stream fetching and docking sub-micro-service module, the streaming media functions provided by the plurality of streaming media function sub-micro-service modules are not identical, the plurality of streaming media function sub-micro-service modules include a plurality of protocol sub-micro-service modules, and the protocol sub-micro-service modules are used for docking with a client, the method includes:
the scheduling component receives a stream-taking scheduling request sent by a client, wherein the stream-taking scheduling request comprises stream-taking parameters, the stream-taking parameters comprise target point bit identification information and target streaming media function identification information, and the target point bit identification information is used for uniquely identifying target front-end equipment;
the scheduling component determines stream-taking path information according to stream-taking parameters, wherein the stream-taking path information comprises target point bit identification information, address information of a target stream media function sub-micro Service module and address information of a target stream-taking butt joint sub-micro Service module, the target stream media function sub-micro Service module is a stream media function sub-micro Service module matched with the target stream media function identification information in the plurality of stream media function sub-micro Service modules, the target stream media function sub-micro Service module comprises a target protocol sub-micro Service module, and the address information of the target protocol sub-micro Service module comprises an IP address and port information of a Service of the protocol sub-micro Service module; the address information of the target flow taking butt joint sub-micro service module comprises an IP address and port information of a container Pod where the target flow taking butt joint sub-micro service module is located;
the scheduling component sends the stream taking path information or the stream taking path information obtained after the stream taking path information is subjected to security processing to the client, so that the client can obtain the code stream of the target front-end device according to the stream taking path, and the scheduling component sends the stream taking path information obtained after the stream taking path information is subjected to security processing to the client, and the method comprises the following steps:
the scheduling component sets other address information except the address information of the target protocol sub-micro service module in the stream taking path information into a hidden state and sends the hidden state to the client; and the address information in the hidden state is acquired from the scheduling component by the target protocol sub-micro service module in the stream fetching process.
2. The method of claim 1, wherein the target streaming media function identification information comprises streaming protocol information; the target streaming media function sub-micro service module comprises a target protocol sub-micro service module matched with the streaming protocol information.
3. The method of claim 2, wherein the plurality of streaming media function sub-microservice modules comprises a plurality of different types of protocol sub-microservice modules, the different types of protocol sub-microservice modules for different protocols for fetching streams;
the stream-taking protocol information comprises target protocol information, and the target stream media function sub-micro service module is a target protocol sub-micro service module matched with the target protocol information.
4. The method of claim 1, wherein the target streaming media function identification information comprises code stream processing identification information, and the code stream processing identification information comprises transcoding function identification information for identifying whether transcoding processing is required, and target code stream type information when transcoding processing is required, and/or transcoding and packaging function identification information for identifying whether transcoding processing is required, and target code stream packaging information when transcoding and packaging are required;
the target stream media function sub-micro service module comprises a target stream processing sub-micro service module matched with the stream processing identification information.
5. The method of claim 4, wherein the target code stream processing sub-micro service module comprises a target transcoding sub-micro service module;
after the scheduling component sends the stream taking path information to the client, the method further includes:
when the target transcoding sub-micro-service module determines that transcoding processing is required according to the transcoding function identification information, transcoding processing is performed on the code stream of the target front-end equipment according to the target code stream type information;
and/or the presence of a gas in the gas,
the target code stream processing sub-micro service module comprises a target conversion packaging sub-micro service module;
after the scheduling component sends the stream taking path information to the client, the method further includes:
and when the target trans-encapsulation sub-micro service module determines that trans-encapsulation processing is required according to the trans-encapsulation function identification information, carrying out trans-encapsulation processing on the code stream of the target front-end equipment according to the target code stream encapsulation information.
6. The method of claim 1, wherein said media sub-microservice module comprises a plurality of fetch-stream-pair sub-microservice modules;
the scheduling component determines stream taking path information, including:
the scheduling component determines whether other clients currently exist to acquire the code stream of the target front-end equipment or not according to the target point bit identification information;
and if no other client side obtains the code stream of the target front-end equipment, determining a target flow taking butt joint sub-micro service module from the plurality of flow taking butt joint sub-micro service modules according to the operating parameters of the plurality of flow taking butt joint sub-micro service modules.
7. The method of claim 6, wherein the plurality of streaming media function sub-microservice modules comprises at least one protocol sub-microservice module and a plurality of codestream processing sub-microservice modules; the protocol sub-micro service module is used for being in butt joint with a client;
the target streaming media function identification information comprises code stream processing identification information;
the scheduling component determines the stream taking path information, and further comprises:
and if no other client side obtains the code stream of the target front-end equipment currently exists, and the scheduling component determines that code stream processing is required according to the code stream processing identification information, determining the target code stream processing sub-micro service module from the plurality of code stream processing sub-micro service modules according to the operating parameters of the plurality of code stream processing sub-micro service modules.
8. The method of claim 6, wherein the target streaming media function identification information comprises code stream processing identification information, and the code stream processing identification information comprises transcoding function identification information for identifying whether transcoding processing is required, and target code stream type information when transcoding processing is required, and/or transcoding and packaging function identification information for identifying whether transcoding processing is required, and target code stream packaging information when transcoding and packaging are required; the plurality of streaming media function sub-micro service modules comprise a plurality of code stream processing sub-micro service modules;
the scheduling component determines the stream taking path information, and further comprises:
if other clients obtain the code stream of the target front-end equipment, determining a stream-taking butt joint sub-micro service module in a stream-taking path of the other clients as the target stream-taking butt joint sub-micro service module;
determining whether a code stream processing sub-micro service module matched with the code stream processing identification information exists in the stream taking path of the other client;
if the target code stream processing sub-micro service module exists, determining the code stream processing sub-micro service module as the target code stream processing sub-micro service module;
and if the target code stream processing sub-micro service module does not exist, determining the target code stream processing sub-micro service module from the plurality of code stream processing sub-micro service modules according to the operation parameters of the plurality of code stream processing sub-micro service modules.
9. The method of any of claims 1-8, wherein the plurality of streaming media function sub-microservice modules comprises a plurality of codestream processing sub-microservice modules;
when the stream fetching parameter further comprises code stream processing identification information for indicating that code stream processing is required, the target stream media function sub-micro service module further comprises a target code stream processing sub-micro service module, and the address information of the target code stream processing sub-micro service module comprises an IP address and port information of a container Pod where the target code stream processing sub-micro service module is located.
10. A stream media scheduling system, comprising a scheduling component and a media sub-micro service module, wherein the media sub-micro service module comprises a plurality of stream media function sub-micro service modules and at least one stream fetching and docking sub-micro service module, the stream media functions provided by the plurality of stream media function sub-micro service modules are not identical, the plurality of stream media function sub-micro service modules comprise a plurality of protocol sub-micro service modules, and the protocol sub-micro service modules are used for docking with a client, wherein:
the scheduling component is used for receiving a stream-taking scheduling request sent by a client, wherein the stream-taking scheduling request comprises stream-taking parameters, the stream-taking parameters comprise target point bit identification information and target stream media function identification information, and the target point bit identification information is used for uniquely identifying target front-end equipment;
the scheduling component is further configured to determine stream taking path information according to a stream taking parameter, where the stream taking path information includes the target point bit identification information, address information of a target stream media function sub-micro Service module, and address information of a target stream taking butt-joint sub-micro Service module, the target stream media function sub-micro Service module is a stream media function sub-micro Service module in the plurality of stream media function sub-micro Service modules, which is matched with the target stream media function identification information, the target stream media function sub-micro Service module includes a target protocol sub-micro Service module, and the address information of the target protocol sub-micro Service module includes an IP address and port information of a Service of the protocol sub-micro Service module; the address information of the target flow taking butt joint sub-micro service module comprises an IP address and port information of a container Pod where the target flow taking butt joint sub-micro service module is located;
the scheduling component is further configured to send the stream taking path information or stream taking path information obtained after performing security processing on the stream taking path information to the client, so that the client obtains a code stream of the target front-end device according to the stream taking path, and the scheduling component sends the stream taking path information obtained after performing security processing on the stream taking path information to the client, where the scheduling component includes:
the scheduling component sets other address information except the address information of the target protocol sub-micro service module in the stream taking path information into a hidden state and sends the hidden state to the client; and the address information in the hidden state is acquired from the scheduling component by the target protocol sub-micro service module in the stream fetching process.
11. The system of claim 10,
the target streaming media function identification information comprises streaming protocol information; the target streaming media function sub-micro service module comprises a target protocol sub-micro service module matched with the streaming protocol information; the plurality of streaming media function sub-micro service modules comprise a plurality of different types of protocol sub-micro service modules, and the different types of protocol sub-micro service modules are used for fetching streams by different protocols; the stream taking protocol information comprises target protocol information, and the target stream media function sub-micro service module is a target protocol sub-micro service module matched with the target protocol information;
and/or the presence of a gas in the gas,
the target streaming media function identification information comprises code stream processing identification information, and the code stream processing identification information comprises transcoding function identification information for identifying whether transcoding processing is required or not and target code stream type information when transcoding processing is required, and/or trans-encapsulation function identification information for identifying whether trans-encapsulation processing is required or not and target code stream encapsulation information when trans-encapsulation processing is required; the target streaming media function sub-micro service module comprises a target code stream processing sub-micro service module matched with the code stream processing identification information; the target code stream processing sub-micro service module comprises a target transcoding sub-micro service module; the streaming media function sub-micro service module is used as a target transcoding sub-micro service module, and when transcoding processing is determined to be required according to the transcoding function identification information, transcoding processing is carried out on a code stream of the target front-end equipment according to the target code stream type information;
and/or the presence of a gas in the gas,
the target code stream processing sub-micro service module comprises a target conversion packaging sub-micro service module; the streaming media function sub-micro service module is used as a target trans-encapsulation sub-micro service module, and when trans-encapsulation processing is determined to be required according to the trans-encapsulation function identification information, trans-encapsulation processing is carried out on a code stream of the target front-end equipment according to the target code stream encapsulation information;
and/or the presence of a gas in the atmosphere,
the media sub-micro service module comprises a plurality of stream taking butt joint sub-micro service modules; the scheduling component is specifically configured to determine, by the scheduling component according to the target point bit identification information, whether another client currently exists to acquire a code stream of the target front-end device; if no other client side obtains the code stream of the target front-end equipment, determining the target stream taking butt joint sub-micro service module from the plurality of stream taking butt joint sub-micro service modules according to the operating parameters of the plurality of stream taking butt joint sub-micro service modules; the plurality of streaming media function sub-micro service modules comprise at least one protocol sub-micro service module and a plurality of code stream processing sub-micro service modules; the protocol sub-micro service module is used for being in butt joint with a client; the target streaming media function identification information comprises code stream processing identification information; the scheduling component is further configured to determine the target code stream processing sub-micro service module from the plurality of code stream processing sub-micro service modules according to the operation parameters of the plurality of code stream processing sub-micro service modules if no other client obtains the code stream of the target front-end device currently and the scheduling component determines that code stream processing is required according to the code stream processing identification information;
and/or the presence of a gas in the gas,
the target streaming media function identification information comprises code stream processing identification information, and the code stream processing identification information comprises transcoding function identification information used for identifying whether transcoding processing is needed or not and target code stream type information when transcoding processing is needed, and/or trans-encapsulation function identification information used for identifying whether trans-encapsulation processing is needed or not and target code stream encapsulation information when trans-encapsulation processing is needed; the plurality of streaming media function sub-micro service modules comprise a plurality of code stream processing sub-micro service modules; the scheduling component is further configured to determine a stream taking butt joint sub-micro service module in a stream taking path of another client as the target stream taking butt joint sub-micro service module if the code stream of the target front-end device is obtained by the other client at present; determining whether a code stream processing sub-micro service module matched with the code stream processing identification information exists in the stream taking path of the other client; if yes, determining the code stream processing sub-micro service module as a target code stream processing sub-micro service module; if the target code stream processing sub-micro service module does not exist, determining the target code stream processing sub-micro service module from the plurality of code stream processing sub-micro service modules according to the operation parameters of the plurality of code stream processing sub-micro service modules;
and/or the presence of a gas in the atmosphere,
the plurality of streaming media function sub-micro service modules comprise a plurality of code stream processing sub-micro service modules; when the stream fetching parameter further comprises code stream processing identification information for indicating that code stream processing is required, the target stream media function sub-micro service module further comprises a target code stream processing sub-micro service module, and the address information of the target code stream processing sub-micro service module comprises an IP address and port information of a container Pod where the target code stream processing sub-micro service module is located.
12. A scheduling component, applied to a streaming media scheduling system, the streaming media scheduling system including the scheduling component and a media sub-micro-service module, the media sub-micro-service module including a plurality of streaming media function sub-micro-service modules and at least one stream fetching and docking sub-micro-service module, the streaming media functions provided by the plurality of streaming media function sub-micro-service modules are not identical, the plurality of streaming media function sub-micro-service modules including a plurality of protocol sub-micro-service modules, the protocol sub-micro-service module being configured to dock with a client, the scheduling component including:
the system comprises a receiving unit, a sending unit and a receiving unit, wherein the receiving unit is used for receiving a stream taking scheduling request sent by a client, the stream taking scheduling request comprises stream taking parameters, the stream taking parameters comprise target point bit identification information and target streaming media function identification information, and the target point bit identification information is used for uniquely identifying target front-end equipment;
the scheduling unit is used for determining stream taking path information according to stream taking parameters, wherein the stream taking path information comprises target point bit identification information, address information of a target stream media function sub-micro Service module and address information of a target stream taking butt joint sub-micro Service module, the target stream media function sub-micro Service module is a stream media function sub-micro Service module matched with the target stream media function identification information in the plurality of stream media function sub-micro Service modules, the target stream media function sub-micro Service module comprises a target protocol sub-micro Service module, and the address information of the target protocol sub-micro Service module comprises an IP address and port information of a Service of the protocol sub-micro Service module; the address information of the target flow taking butt joint sub-micro service module comprises an IP address and port information of a container Pod where the target flow taking butt joint sub-micro service module is located;
a sending unit, configured to send the stream taking path information or stream taking path information obtained after performing security processing on the stream taking path information to the client, so that the client obtains a code stream of the target front-end device according to a stream taking path, and the scheduling component sends the stream taking path information obtained after performing security processing on the stream taking path information to the client, where the sending unit includes:
the scheduling component sets other address information except the address information of the target protocol sub-micro service module in the stream taking path information into a hidden state and sends the hidden state to the client; and the address information in the hidden state is acquired from the scheduling component by the target protocol sub-micro service module in the stream fetching process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011613722.6A CN112788367B (en) | 2020-12-30 | 2020-12-30 | Streaming media scheduling method, system and scheduling component |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011613722.6A CN112788367B (en) | 2020-12-30 | 2020-12-30 | Streaming media scheduling method, system and scheduling component |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112788367A CN112788367A (en) | 2021-05-11 |
CN112788367B true CN112788367B (en) | 2023-03-24 |
Family
ID=75753943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011613722.6A Active CN112788367B (en) | 2020-12-30 | 2020-12-30 | Streaming media scheduling method, system and scheduling component |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112788367B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115019462A (en) * | 2022-05-27 | 2022-09-06 | 北京声智科技有限公司 | Video processing method, device, storage medium and equipment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729880A (en) * | 2009-12-14 | 2010-06-09 | 中国电信股份有限公司 | Network video monitoring method and system based on SIP |
CN105847264A (en) * | 2016-03-31 | 2016-08-10 | 乐视控股(北京)有限公司 | Method and system of providing streaming media service |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201781576U (en) * | 2009-11-27 | 2011-03-30 | 广东亿迅科技有限公司 | Real-time video stream transcoding server and video monitoring system comprising same |
US8922658B2 (en) * | 2010-11-05 | 2014-12-30 | Tom Galvin | Network video recorder system |
JP2016534607A (en) * | 2013-07-22 | 2016-11-04 | インテリヴィジョン テクノロジーズ コーポレーション | System and method for scalable video cloud service |
CN110460816A (en) * | 2019-08-22 | 2019-11-15 | 兰州启源信息技术服务有限公司 | Cloud monitoring system |
-
2020
- 2020-12-30 CN CN202011613722.6A patent/CN112788367B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729880A (en) * | 2009-12-14 | 2010-06-09 | 中国电信股份有限公司 | Network video monitoring method and system based on SIP |
CN105847264A (en) * | 2016-03-31 | 2016-08-10 | 乐视控股(北京)有限公司 | Method and system of providing streaming media service |
Also Published As
Publication number | Publication date |
---|---|
CN112788367A (en) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106230896B (en) | A kind of information push method, apparatus and system | |
US9674252B2 (en) | System and method for efficient delivery of repetitive multimedia content | |
CN106534808B (en) | A kind of video monitoring method and device based on virtual camera | |
CN109525460B (en) | Method and device for monitoring number resources of video network | |
US20080209065A1 (en) | Method for sending stream media, signaling forwarding device and stream media system | |
US20070159368A1 (en) | Information processing apparatus and information processing system | |
CN109150905B (en) | Video network resource release method and video network sharing platform server | |
CN110460816A (en) | Cloud monitoring system | |
US12095674B2 (en) | Aggregated adaptive bit rate streaming | |
CN108200443A (en) | The distribution method and device of a kind of live TV stream | |
CN104427354A (en) | Broadcast media sharing method and node subsystem, and streaming media server | |
CN1404670A (en) | Relaying system for broadcasting multi-channel internet television and networking method thereof | |
CN110445723A (en) | A kind of network data dispatching method and fringe node | |
CN113453025B (en) | Data acquisition method and device | |
CN112788367B (en) | Streaming media scheduling method, system and scheduling component | |
Wang et al. | A lightweight edge computing platform integration video services | |
CN101262413B (en) | Method, system and device for media buffer | |
CN101800751B (en) | Distributed real-time data-coding transmission method | |
CN101090480A (en) | Video request method, server and network added storage server | |
US8375129B2 (en) | Method for dynamically adjusting resource nodes in a peer-to-peer network for delivering time-sensitive content | |
CN110620907B (en) | Monitoring calling method and device, electronic equipment and storage medium | |
CN103442286B (en) | Set top box file sharing method and system | |
CN109819209B (en) | System, method and device for monitoring resource calling | |
CN109600567B (en) | Video conference processing method and system | |
CN103997659A (en) | Lightweight real-time high-resolution streaming media server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |