Streaming media pushing method, streaming media pushing system, and storage medium

By connecting the camera to the streaming media forwarding server with the least load through a hot-migrating load balancer, the security risks caused by too many network exposure surfaces in streaming media services are resolved, achieving higher network security and system stability.

WO2026044968A1PCT designated stage Publication Date: 2026-03-05E SURFING VISION TECHNOLOGY CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-11-29
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Existing technologies suffer from excessive network exposure due to streaming media services, leading to high cybersecurity risks.

Method used

By using a hot-migrating load balancer, the camera is connected to the streaming media forwarding server with the least load, reducing the network exposure surface. The hot-migrating load balancer also receives client requests and matches them with specific streaming media forwarding servers to push media streams.

Benefits of technology

It reduces cybersecurity risks, improves system processing power and network flexibility, and ensures high service availability and business continuity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024135777_05032026_PF_FP_ABST
    Figure CN2024135777_05032026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to a streaming media pushing method, a streaming media pushing system, and a storage medium. The streaming media pushing method comprises: acquiring a client request; on the basis of the client request, acquiring streaming media forwarding server port information from a scheduling service, and sending the streaming media forwarding server port information to a client; by means of a hot migration load balancer, receiving a livestreaming request initiated by the client on the basis of the streaming media forwarding server port information, the livestreaming request comprising a pushing device identifier; on the basis of the pushing device identifier in the livestreaming request, searching for a streaming media forwarding server corresponding to the pushing device identifier; and issuing a push instruction to a pushing device by means of the corresponding streaming media forwarding server, so that the pushing device pushes a media data stream in the streaming media forwarding server to an output layer of the client. By means of the present application, the problem of excessive network security risks caused by excessive network attack surfaces is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Streaming methods, streaming systems, and storage media Technical Field

[0001] This application relates to the field of streaming media technology, and in particular to streaming media streaming methods, streaming media streaming systems, and storage media. Background Technology

[0002] Currently, with the rapid development of computer networks and multimedia technologies, and the continuous expansion of the Internet's capacity and bandwidth, transmitting digitized multimedia information over networks has gradually become an important technology in the field of information processing—namely, streaming media technology. Streaming media technology compresses and encodes audio and video files before storing them on a server, enabling clients to upload, download, and watch online. Streaming media technology is widely used in live video streaming, video conferencing, online teaching, and remote monitoring systems. With the development of video surveillance, cloud-based monitoring capabilities have become a trend, and streaming media services, as an important component of video surveillance systems, are also being deployed to the cloud. Each cloud host can deploy one or more streaming media service instances. The number of instances deployed depends on the framework used to implement the streaming media service. For example, a streaming media service implemented using a single-threaded coroutine approach requires more instances. Each instance needs a corresponding CPU core. Using multiple cores can lead to excessive network exposure, meaning that in public network environments, the streaming media host program exposes its IP address and port, allowing external programs to communicate with it. Excessive exposure of the streaming media host's IP address and port results in excessively high network security risks.

[0003] There is currently no effective solution to the problem of excessive network security risks caused by too many network exposure surfaces in related technologies. Beneficial effects:

[0004] This application connects the camera to the streaming media forwarding server with the lowest load via a hot-swap load balancer, thereby reducing the network exposure surface of the streaming media forwarding server. The hot-swap load balancer then receives client requests, matches them with a specific streaming media forwarding server, and sends a streaming command to the camera through the matched server, allowing the client to obtain the media stream. This reduces the network exposure surface and lowers network security risks. Summary of the Invention

[0005] This embodiment provides a streaming media pushing method, a streaming media pushing system, and a storage medium to address the problem of excessive network security risks caused by too many network exposure surfaces in related technologies.

[0006] Firstly, this embodiment provides a streaming media pushing method, including:

[0007] Obtain client requests;

[0008] Based on the client's request, the system obtains the streaming media forwarding server port information from the scheduling server and sends the streaming media forwarding server port information to the client.

[0009] The hot-migrating load balancer receives live streaming requests initiated by clients based on the streaming media forwarding server port information; the live streaming request includes the push streaming device identifier.

[0010] The streaming device identifier in the live streaming request is used to find the streaming media forwarding server corresponding to the streaming device identifier. The streaming device identifier is registered and kept alive by the streaming device in advance to the hot migration load balancer, and then transmitted and stored in the streaming media forwarding server through the hot migration load balancer.

[0011] The corresponding streaming media forwarding server sends a streaming command to the streaming device, so that the streaming device can push the media data stream from the streaming media forwarding server to the output layer of the client.

[0012] In some embodiments, before looking up the streaming media forwarding server corresponding to the streaming device identifier based on the streaming device identifier in the live request, the method further includes:

[0013] Register each streaming media forwarding server to the hot-migrating load balancer to keep it alive.

[0014] In some embodiments, after registering each streaming media forwarding server to keep it alive to the hot-migrating load balancer, the following is also included:

[0015] Register the hot-migrating load balancer with the scheduling server to keep it alive.

[0016] In some embodiments, before looking up the streaming media forwarding server corresponding to the streaming device identifier based on the streaming device identifier in the live request, the method further includes:

[0017] Register the streaming device with the signaling server to keep it alive.

[0018] In some embodiments, before looking up the streaming media forwarding server corresponding to the streaming device identifier based on the streaming device identifier in the live request, the method further includes:

[0019] By using the load balancing strategy of the hot migration load balancer, the connection of the streaming device is migrated to the streaming media forwarding server with the least load.

[0020] In some embodiments, finding the streaming media forwarding server corresponding to the streaming device identifier in the live streaming request includes:

[0021] Find the streaming media forwarding server with the lowest load by identifying the streaming device in the live request.

[0022] In some embodiments, obtaining streaming media forwarding server port information from the scheduling service based on a client request includes:

[0023] Based on the client request, obtain the port information of the hot migration load balancer from the scheduling server;

[0024] Obtain the streaming media forwarding server port information based on the port information of the hot-migrating load balancer.

[0025] In some embodiments, the output layer includes an RTMP service and an HLS service. In the RTMP service, the RTMP protocol is converged through a layered architecture and port multiplexing. In the HLS service, ports are converged using domain names.

[0026] Secondly, this embodiment provides a streaming media push system for the streaming media push method described in the first aspect. The streaming media push system includes: a client, an access layer, a push device, and an output layer, wherein:

[0027] The client is used to initiate client requests;

[0028] The access layer includes a hot-migrating load balancer, a streaming media forwarding server, and a scheduling service. The access layer is used to receive live streaming requests initiated by clients based on the port information of the streaming media forwarding server, find the streaming media forwarding server corresponding to the streaming media forwarding device based on the streaming device identifier in the live streaming request, and send streaming instructions to the streaming device through the corresponding streaming media forwarding server.

[0029] A streaming device is used to receive streaming commands from a streaming media forwarding server and push the media data stream from the streaming media forwarding server to the output layer of the client.

[0030] The output layer is used to receive media data streams pushed by the streaming media forwarding server.

[0031] Thirdly, this embodiment provides a storage medium on which a computer program is stored, which, when executed by a processor, implements the streaming media push method described in the first aspect above.

[0032] Compared with related technologies, the streaming media push method provided in this embodiment obtains a client request; obtains streaming media forwarding server port information from the scheduling service based on the client request, and sends the streaming media forwarding server port information to the client; receives the live streaming request initiated by the client based on the streaming media forwarding server port information through a hot migration load balancer; wherein the live streaming request contains a push device identifier; finds the streaming media forwarding server corresponding to the push device identifier based on the push device identifier in the live streaming request; wherein the push device identifier is a push device that is pre-registered and kept alive to the hot migration load balancer, and transmitted and stored in the streaming media forwarding server through the hot migration load balancer; and issues a push command to the push device through the corresponding streaming media forwarding server, so that the push device pushes the media data stream in the streaming media forwarding server to the client's output layer. This solves the problem of excessive network security risks caused by too many network exposure surfaces.

[0033] Details of one or more embodiments of this application are set forth in the following drawings and description to make other features, objects and advantages of this application more readily apparent. Attached Figure Description

[0034] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0035] Figure 1 is a hardware structure block diagram of the terminal of the streaming media push method in this embodiment.

[0036] Figure 2 is a flowchart of the streaming media push method in this embodiment.

[0037] Figure 3 is a flowchart of another streaming media push method in this embodiment.

[0038] Figure 4 is a structural block diagram of the streaming media push system in this embodiment. Detailed Implementation

[0039] To better understand the purpose, technical solution, and advantages of this application, the application is described and illustrated below in conjunction with the accompanying drawings and embodiments.

[0040] Unless otherwise defined, the technical or scientific terms used in this application shall have the general meaning as understood by one of ordinary skill in the art to which this application pertains. Words such as “a,” “an,” “an,” “the,” “the,” and “these,” used in this application, do not indicate quantitative limitation and may be singular or plural. The terms “comprising,” “including,” “having,” and any variations thereof used in this application are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or device that comprises a series of steps or modules (units) is not limited to the listed steps or modules (units) but may include steps or modules (units) not listed, or may include other steps or modules (units) inherent to such processes, methods, products, or devices. The terms “connected,” “linked,” and “coupled,” used in this application, are not limited to physical or mechanical connections but may include electrical connections, whether direct or indirect. The term “multiple” used in this application refers to two or more. The "and / or" operator describes the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: A alone, A and B simultaneously, and B alone. Typically, the character " / " indicates that the objects before and after it are in an "or" relationship. The terms "first," "second," and "third," etc., used in this application are merely for distinguishing similar objects and do not represent a specific ordering of the objects.

[0041] The method embodiments provided in this example can be executed in a terminal, computer, or similar computing device. For example, running on a terminal, Figure 1 is a hardware structure block diagram of the terminal for the streaming media push method of this embodiment. As shown in Figure 1, the terminal may include one or more (only one is shown in Figure 1) processors 102 and a memory 104 for storing data, wherein the processor 102 may be, but is not limited to, a processing device such as a microprocessor (MCU) or a programmable logic device (FPGA). The terminal may also include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that the structure shown in Figure 1 is merely illustrative and does not limit the structure of the terminal. For example, the terminal may include more or fewer components than shown in Figure 1, or have a different configuration than that shown in Figure 1.

[0042] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the streaming media push method in this embodiment. The processor 102 executes various functional applications and data processing by running the computer programs stored in the memory 104, thereby implementing the above-described method. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0043] The transmission device 106 is used to receive or send data via a network. This network includes a wireless network provided by the terminal's communication provider. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 can be a Radio Frequency (RF) module used for wireless communication with the Internet.

[0044] This embodiment provides a streaming media pushing method. Figure 2 is a flowchart of the streaming media pushing method of this embodiment. As shown in Figure 2, the process includes the following steps:

[0045] Step S201: Obtain client request; obtain streaming media forwarding server port information from the scheduling server according to the client request, and send the streaming media forwarding server port information to the client.

[0046] Specifically, streaming media push mainly refers to sending video sources to servers during live streaming or video transmission. This includes using devices such as cameras and capture cards to acquire video signals, converting them into digital data, and then compressing and encoding the acquired video data. Common encoding standards include H.264 and H.265. Finally, the encoded video data is transmitted to the target server over the network. The protocols used may include Real-Time Streaming Protocol (RTSP), Real-Time Messaging Protocol (RTMP), User Datagram Protocol (UDP), and Real-Time Transport Protocol (RTP).

[0047] When a client initiates a streaming request, the streaming media system receives the request and obtains the streaming media server port information from the scheduling server within the system. The scheduling server manages and controls the transmission and distribution of media data in streaming media, handling media stream requests, distribution, optimization, and monitoring to ensure a high-quality streaming media transmission and playback experience. The streaming media server port information includes the IP address of the streaming media forwarding server, the corresponding streaming device identifier, and the RTSP live address. The scheduling service then forwards the obtained streaming media forwarding server port information to the client.

[0048] Step S202: The hot migration load balancer receives the live streaming request initiated by the client based on the streaming media forwarding server port information; wherein the live streaming request contains the push streaming device identifier.

[0049] A hot-migrating load balancer refers to a technology that can migrate running virtual machines from one physical server to another without interrupting service, while maintaining load balancing. This not only achieves load balancing but also ensures high availability and business continuity during hardware maintenance or upgrades. Hot-migrating load balancers can improve overall system processing capacity, increase throughput, enhance network data processing capabilities, and improve network flexibility and availability. The streaming device can be a camera, capture card, or other tool used to acquire video signals. This embodiment uses a camera as an example, but this should not be construed as limiting the streaming device. This embodiment does not impose specific limitations on the streaming device; it can be selected according to the actual situation.

[0050] After receiving the streaming media forwarding server port information, the client initiates an RTSP live streaming request based on the provided live streaming address. The hot migration load balancer accepts the RTSP live streaming request initiated by the client, checks the socket buffer contents related to the request, parses the detailed information of the client request, and parses the live streaming address in the RTSP live streaming request. This address contains the location information of the streaming media forwarding server, such as the server's IP address, port number, and unique identifier of the streaming device.

[0051] Step S203: Based on the streaming device identifier in the live streaming request, find the streaming media forwarding server corresponding to the streaming device identifier; wherein, the streaming device identifier is pre-registered and kept alive to the hot migration load balancer, and transmitted and stored in the streaming media forwarding server through the hot migration load balancer.

[0052] Specifically, the streaming device connects to the hot-migrating load balancer. The hot-migrating load balancer obtains the identifier of the streaming device and stores it in the streaming media forwarding server. When the hot-migrating load balancer receives an RTSP live streaming request from the client and parses it to obtain the streaming device identifier, it uses the parsed streaming device identifier to find the corresponding streaming media forwarding server through the mapping relationship and performs hot migration, migrating the client connection to the streaming media forwarding server.

[0053] Step S204: Send a streaming command to the streaming device through the corresponding streaming media forwarding server so that the streaming device can push the media data stream in the streaming media forwarding server to the output layer of the client.

[0054] Specifically, the streaming media forwarding server connects with the client, accepts the client's RTSP live streaming request, and sends a streaming instruction to the streaming device. The streaming device converts the live or video source in the streaming media forwarding server into an RTSP stream and sends it to the client's output layer.

[0055] Through steps S201 to S204 above, a client request is obtained; based on the client request, the streaming media forwarding server port information is obtained from the scheduling service and sent to the client; through the hot migration load balancer, a live streaming request initiated by the client based on the streaming media forwarding server port information is received; wherein, the live streaming request contains a streaming device identifier; based on the streaming device identifier in the live streaming request, the corresponding streaming media forwarding server is located; wherein, the streaming device identifier is a streaming device that is pre-registered and kept alive to the hot migration load balancer, and transmitted and stored in the streaming media forwarding server through the hot migration load balancer; through the corresponding streaming media forwarding server, a streaming instruction is issued to the streaming device, so that the streaming device pushes the media data stream in the streaming media forwarding server to the client's output layer. Compared to existing technologies that expose all streaming media forwarding server interfaces, this embodiment uses a hot-migrating load balancer to collect and store streaming device identifiers in the streaming media forwarding server. The hot-migrating load balancer then receives client requests, retrieves the streaming device identifier based on the live stream address in the client request, matches the corresponding streaming media forwarding server based on the identifier, and sends a streaming command to the streaming device through the matched server, enabling the client to obtain the media stream. By connecting the client and the streaming media forwarding server through the hot-migrating load balancer, the network exposure surface is reduced, lowering network security risks.

[0056] In some embodiments, before looking up the streaming media forwarding server corresponding to the streaming device identifier based on the streaming device identifier in the live request, the method further includes:

[0057] Register each streaming media forwarding server to the hot-migrating load balancer to keep it alive.

[0058] Specifically, streaming media forwarding servers store streaming media instances, which typically refer to specific application cases or scenarios in the application of streaming media technology. Streaming media technology allows multimedia data such as audio and video to be transmitted and played in real time over the Internet without requiring users to download the entire file. For example, (1) Online video platforms: such as Netflix, HBO Max, Hulu, Amazon Prime Video, Apple TV, Tencent Video, and Disney Plus, which provide on-demand services for movies and TV shows, allowing users to watch their favorite content at any time. (2) Live streaming: including sports events, award ceremonies, global conferences, product launches, video game experiences, and live news reports, which allow viewers to experience ongoing events in real time. (3) Video game live streaming: platforms such as Twitch and YouTube allow video game enthusiasts to broadcast their gameplay to live viewers and comment and interact with viewers in real time. (4) Music and podcast streaming: providing audio content such as music and podcasts, which users can enjoy online or listen to podcast programs. (5) Distance education and corporate training: using streaming media technology for online education and corporate internal training to improve resource utilization efficiency. (6) Real-time video conferencing: Remote video conferencing enabled by streaming media technology, allowing participants in different locations to communicate in real time.

[0059] In cloud computing environments, streaming media forwarding servers register with the hot migration load balancer for keep-alive functionality. To achieve high availability, load balancing, or resource optimization, streaming media instances (such as video-on-demand or live streaming services) need to be dynamically migrated to different physical or virtual servers during operation. This process is managed by a hot migration load balancer (or hot migration service), which monitors the running status of the streaming media instances and triggers migration operations when necessary. Registering with the hot migration load balancer means that after a streaming media instance starts or restarts, it needs to report its status and information to the load balancer to ensure it is considered for hot migration. Keeping the streaming media forwarding server alive refers to the streaming media instance periodically sending heartbeats or other keep-alive signals to indicate its continued operation. This allows the load balancer to make resource scheduling and load balancing decisions based on this information, ensuring service stability and reliability. Specifically, the hot migration load balancer determines whether to migrate the streaming media instance to another server based on factors such as current system load, resource usage, and fault detection. During the migration process, hot migration technology can ensure service continuity, meaning that users will not experience service interruption or quality degradation during the migration process.

[0060] After each streaming media forwarding server registers with the hot-migrating load balancer for keep-alive, it reports the load and includes the Unix domain socket path. Each process in the streaming media forwarding server listens using a Unix domain socket (uds). When the hot-migrating load balancer sends the client's socket to the streaming media forwarding server, the streaming media forwarding server receives an accept request and can receive the socket using read. This socket can then be used to communicate with the client.

[0061] In another embodiment, after registering each streaming media forwarding server to keep it alive to the hot-migrating load balancer, the method further includes:

[0062] Register the hot-migrating load balancer with the scheduling server to keep it alive.

[0063] Specifically, registering a hot-migrating load balancer with the scheduling service for keep-alive means that in a virtualized environment, the hot-migrating service needs to register its status with the cluster scheduler (scheduling service) to ensure that the scheduler understands its availability and performance metrics. This allows the scheduling service to consider the status of the hot-migrating service when making resource scheduling decisions, thereby making reasonable resource allocation and load balancing. After registering for keep-alive, the load is reported, and the registration information includes the host IP and the port information of the load balancer responsible for hot migration.

[0064] In one embodiment, before looking up the streaming media forwarding server corresponding to the streaming device identifier based on the streaming device identifier in the live request, the method further includes:

[0065] Register the streaming device with the signaling server to keep it alive.

[0066] Specifically, this embodiment uses a camera as the streaming device. Registration Phase: After startup or restart, the camera needs to send a registration request to the signaling server to join the video surveillance platform. During registration, the camera needs to provide necessary authentication information, such as a username and password, so that the server can verify its identity. After successful registration, the camera receives a registration validity period during which it is considered active. Keep-alive Phase: To ensure the camera remains online and can respond promptly to instructions from the signaling server, the camera needs to periodically send keep-alive messages within the registration validity period. Keep-alive messages can be sent using a special signaling message, such as a MESSAGE request. These messages contain device status information and are sent at certain time intervals, called the heartbeat cycle. By registering for keep-alive with the signaling server, the availability of the streaming device is ensured.

[0067] In another embodiment, before looking up the streaming media forwarding server corresponding to the streaming device identifier based on the streaming device identifier in the live request, the method further includes:

[0068] By using the load balancing strategy of the hot migration load balancer, the connection of the streaming device is migrated to the streaming media forwarding server with the least load.

[0069] Specifically, after the streaming device is connected to the hot-migrating load balancer, the load balancer uses a load balancing strategy to determine the streaming server with the lowest load based on the real-time monitoring of the load of all streaming media forwarding servers. The streaming device is then connected to this server. By connecting the streaming device to the least loaded streaming media forwarding server, high availability and smoothness of the streaming media service are ensured, while maximizing resource utilization and avoiding service interruptions or quality degradation due to server overload, thus providing a more stable and reliable service.

[0070] In one embodiment, finding the streaming media forwarding server corresponding to the streaming device identifier in the live streaming request includes:

[0071] Find the streaming media forwarding server with the lowest load by identifying the streaming device in the live request.

[0072] Since the streaming device has already been connected to the least loaded streaming media forwarding server via hot migration load balancer before matching based on the streaming device identifier, mapping based on the streaming device identifier in the live request can directly find the least loaded streaming media forwarding server and connect the client to the least loaded streaming media forwarding server.

[0073] In another embodiment, obtaining streaming media forwarding server port information from the scheduling server according to a client request includes:

[0074] Based on the client's request, obtain the port information of the hot migration load balancer from the scheduling server; and obtain the port information of the streaming media forwarding server based on the port information of the hot migration load balancer.

[0075] Specifically, after the signaling server receives a request from the client, the hot-migrating load balancer is pre-registered and kept alive with the calling server. The signaling server obtains the port information of the hot-migrating load balancer from the calling server. This port information includes the IP address of the hot-migrating load balancer, the access port of the streaming device, and the RTSP port. Since each streaming media forwarding server has pre-registered and kept alive with the hot-migrating load balancer, the hot-migrating load balancer contains the port information of each streaming media forwarding server. The streaming device access port and RTSP port from the hot-migrating load balancer's port information are combined to obtain the streaming media forwarding server port information, which is then sent to the client. The client then initiates a RTSP live streaming request.

[0076] In one embodiment, the output layer includes an RTMP service and an HLS service. In the RTMP service, the RTMP protocol is converged through a layered architecture and port multiplexing. In the HLS service, ports are converged using domain names.

[0077] Specifically, the client obtains the data stream sent by the streaming media forwarding server through the output layer. The output layer includes Real-Time Messaging Protocol (TRMP) and HTTP Live Streaming (HLS). In RTMP, since message snooping cannot reveal RTMP address information through the first message, a layered architecture and port multiplexing are used to converge ports. The layered architecture divides the network into different layers, each responsible for different functions. For example, the core layer handles high-speed data transmission and traffic exchange, the aggregation layer connects different access layer subnets and performs traffic aggregation and filtering, and the access layer handles user device access and local traffic processing. This layering allows for better management and optimization of network traffic, improving network performance and scalability. Port multiplexing allows multiple applications or services to share the same port, distinguishing data packets through different logical channels or session identifiers. In this embodiment, multiple RTMP service ports are merged into one port for transmission, reducing the number of required ports, simplifying network management and configuration, and improving resource utilization.

[0078] In HLS services, ports are converged using domain names. The HLS protocol transmits media streams via HTTP, and clients retrieve media stream information by requesting specific m3u8 playlist files. Since HTTP typically uses port 80, domain names can be resolved to the server's IP address via DNS, and then clients use standard HTTP ports to request streaming content. This method simplifies port management by eliminating the need to allocate different ports for each streaming service and also facilitates content distribution and optimization through network infrastructure such as CDNs. This improves service efficiency and user experience.

[0079] This embodiment also provides a streaming media pushing method. Figure 3 is a flowchart of another streaming media pushing method in this embodiment. As shown in Figure 3, the process includes the following steps:

[0080] Step S301: Register each streaming media forwarding server with the hot-migrating load balancer for keep-alive operation;

[0081] Step S302: Register the streaming device with the hot migration load balancer to keep it alive and report the streaming device identification information;

[0082] Step S303: Register the streaming device with the signaling server to keep it alive;

[0083] Step S304: Register the hot-migrating load balancer with the scheduling server to keep it alive;

[0084] Step S305: The client obtains the live broadcast address from the signaling server;

[0085] Step S306: The signaling server obtains the hot migration load balancer port information from the scheduling server; extracts the streaming media forwarding server port information from the hot migration load balancer port information, and sends it to the client;

[0086] Step S307: The client initiates RTSP live streaming based on the received streaming media forwarding server port information;

[0087] Step S308: The hot migration load balancer receives and parses the RTSP live streaming request initiated by the client to obtain the streaming device identifier.

[0088] Step S309: The hot migration load balancer uses a load balancing strategy to migrate the connection of the streaming device to the streaming media forwarding server with the least load.

[0089] Step S310: Based on the streaming device identifier in the live streaming request, find the streaming media forwarding server with the lowest load corresponding to the streaming device identifier;

[0090] Step S311: Send a streaming command to the streaming device through the streaming media forwarding server with the lowest load.

[0091] In step S312, the streaming device pushes the media data stream from the streaming media forwarding server to the output layer of the client.

[0092] Through steps S301 to S312, compared to the prior art which exposes all streaming media forwarding server interfaces, this embodiment uses a hot-migrating load balancer to connect the streaming device to the streaming media forwarding server with the least load, thereby reducing the network exposure surface of the streaming media forwarding server. The hot-migrating load balancer then receives client requests, matches specific streaming media forwarding servers based on these requests, and sends streaming commands to the streaming device through the matched server, enabling the client to obtain the media stream. This reduces the network exposure surface and lowers network security risks.

[0093] It should be noted that the steps shown in the above flowchart or the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases the steps shown or described may be performed in a different order than that shown here. For example, the order of steps S301 and S302 may be interchanged.

[0094] This embodiment also provides a streaming media pushing system, which is used to implement the above embodiments and preferred embodiments, and will not be repeated as described above. The terms "module," "unit," "subunit," etc., used below can refer to a combination of software and / or hardware that performs a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0095] Figure 4 is a structural block diagram of the streaming media push system of this embodiment. As shown in Figure 4, the streaming media push system 40 includes: a client 41, an access layer 42, a push device 43, and an output layer 44, wherein:

[0096] Client 41 is used to initiate client requests;

[0097] Access layer 42 includes a hot migration load balancer, a streaming media forwarding server, and a scheduling service. Access layer is used to receive live streaming requests initiated by client 41 based on the streaming media forwarding server port information, find the streaming media forwarding server corresponding to the streaming media forwarding device identifier based on the streaming media forwarding device identifier in the live streaming request, and send streaming instructions to streaming media forwarding device 43 through the corresponding streaming media forwarding server.

[0098] The streaming device 43 is used to receive the streaming command issued by the streaming media forwarding server and push the media data stream in the streaming media forwarding server to the output layer 44 of the client 41;

[0099] Output layer 44 is used to receive media data streams pushed by the streaming media forwarding server.

[0100] It should be noted that the above modules can be functional modules or program modules, and can be implemented through software or hardware. For modules implemented through hardware, the above modules can reside in the same processor; or the above modules can be located in different processors in any combination.

[0101] This embodiment also provides an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0102] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0103] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program:

[0104] S1, Get the client request;

[0105] S2, obtain the streaming media forwarding server port information from the scheduling service according to the client's request, and send the streaming media forwarding server port information to the client;

[0106] S3, through a hot-migrating load balancer, receives live streaming requests initiated by clients based on the streaming media forwarding server port information; the live streaming request includes the push streaming device identifier;

[0107] S4. Based on the streaming device identifier in the live streaming request, find the streaming media forwarding server corresponding to the streaming device identifier; wherein, the streaming device identifier is registered and kept alive by the streaming device in advance to the hot migration load balancer, and transmitted and stored in the streaming media forwarding server through the hot migration load balancer.

[0108] S5 sends a streaming command to the streaming device through the corresponding streaming media forwarding server, so that the streaming device can push the media data stream in the streaming media forwarding server to the output layer of the client.

[0109] It should be noted that the specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated in this embodiment.

[0110] Furthermore, in conjunction with the streaming media push method provided in the above embodiments, this embodiment can also provide a storage medium for implementation. The storage medium stores a computer program; when executed by a processor, the computer program implements any of the streaming media push methods described in the above embodiments.

[0111] It should be understood that the specific embodiments described herein are merely illustrative of the application and not intended to limit it. All other embodiments derived by those skilled in the art based on the embodiments provided in this application without inventive effort are within the scope of protection of this application.

[0112] Obviously, the accompanying drawings are merely some examples or embodiments of this application. Those skilled in the art can apply this application to other similar situations based on these drawings without any creative effort. Furthermore, it is understood that although the work done in this development process may be complex and lengthy, for those skilled in the art, certain design, manufacturing, or production modifications made based on the technical content disclosed in this application are merely conventional technical means and should not be considered as insufficient disclosure of this application.

[0113] The term "embodiment" in this application refers to a specific feature, structure, or characteristic described in connection with an embodiment that may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily imply the same embodiment, nor does it imply that it is mutually exclusive with or independent of other embodiments. It will be clearly or implicitly understood by those skilled in the art that the embodiments described in this application may be combined with other embodiments without conflict.

[0114] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0115] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of patent protection. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the appended claims.

Claims

1. A streaming media push method, characterized in that, include: Obtain client requests; The client requests the streaming media forwarding server port information from the scheduling server and sends the streaming media forwarding server port information to the client. The hot-migrating load balancer receives the live streaming request initiated by the client based on the streaming media forwarding server port information; wherein, the live streaming request contains the streaming device identifier; The streaming device identifier in the live streaming request is used to locate the streaming media forwarding server corresponding to the streaming device identifier; wherein, the streaming device identifier is a streaming device that is pre-registered and kept alive to the hot migration load balancer, and is transmitted and stored in the streaming media forwarding server through the hot migration load balancer; The corresponding streaming media forwarding server sends a push command to the push device, so that the push device pushes the media data stream in the streaming media forwarding server to the output layer of the client.

2. The streaming media pushing method according to claim 1, characterized in that, Before searching for the streaming media forwarding server corresponding to the streaming device identifier based on the streaming device identifier in the live streaming request, the method further includes: Each streaming media forwarding server is registered with the hot-migrating load balancer to keep it alive.

3. The streaming media pushing method according to claim 2, characterized in that, After registering and keeping each streaming media forwarding server alive to the hot-migrating load balancer, the method further includes: Register the hot-migrating load balancer with the scheduling server to keep it alive.

4. The streaming media pushing method according to claim 1, characterized in that, Before searching for the streaming media forwarding server corresponding to the streaming device identifier based on the streaming device identifier in the live streaming request, the method further includes: The streaming device is registered with the signaling server to keep it alive.

5. The streaming media pushing method according to claim 1, characterized in that, Before searching for the streaming media forwarding server corresponding to the streaming device identifier based on the streaming device identifier in the live streaming request, the method further includes: The streaming device is connected to the streaming media forwarding server with the least load through the load balancing strategy of the hot migration load balancer.

6. The streaming media pushing method according to claim 5, characterized in that, The step of finding the streaming media forwarding server corresponding to the streaming device identifier based on the streaming device identifier in the live streaming request includes: The streaming device identifier in the live stream request is used to locate the streaming media forwarding server with the lowest load.

7. The streaming media pushing method according to claim 1, characterized in that, The step of obtaining the streaming media forwarding server port information from the scheduling service according to the client request includes: Based on the client request, the port information of the hot migration load balancer is obtained from the scheduling server; The streaming media forwarding server port information is obtained based on the port information of the hot migration load balancer.

8. The streaming media pushing method according to claim 1, characterized in that, The output layer includes RTMP service and HLS service. In the RTMP service, the RTMP protocol is converged through a layered architecture and port multiplexing. In the HLS service, ports are converged using domain names.

9. A streaming media push system, employing any one of the streaming media push methods described in claims 1 to 8, characterized in that, The streaming media push system includes: a client, an access layer, a push device, and an output layer, wherein: The client is used to initiate client requests; The access layer includes a hot-migrating load balancer, a streaming media forwarding server, and a scheduling service. The access layer is used to receive a live streaming request initiated by the client based on the port information of the streaming media forwarding server, find the streaming media forwarding server corresponding to the streaming media forwarding device based on the streaming device identifier in the live streaming request, and send a streaming instruction to the streaming device through the corresponding streaming media forwarding server. The streaming device is used to receive streaming instructions from the streaming media forwarding server and push the media data stream from the streaming media forwarding server to the output layer of the client. The output layer is used to receive media data streams pushed by the streaming media forwarding server.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the streaming media push method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Method for implementing media flow balance dispatching in vedio service

    CN101001365A

  • Live broadcast stream pushing method and apparatus, computer device and storage medium

    CN109640123A

  • Media high-availability system based on media stream thermal migration mechanism

    CN110557381A

  • Load balancing interaction method and device

    CN114116163A

  • Media stream load balancing system, method and equipment based on national standard protocol

    CN117240834A