A video streaming method and system based on edge computing device

The video streaming method and system using edge computing devices address protocol compatibility issues by converting and managing video streams from diverse cameras, ensuring compliance with specified protocols, enhancing efficiency and reducing storage needs.

CN116800991BActive Publication Date: 2024-12-20HUIZHIAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211656106.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-22
Publication Date
2024-12-20
Estimated Expiration
2042-12-22

AI Technical Summary

Technical Problem

Existing video streaming methods fail to meet specific protocol requirements, particularly for diverse camera models, leading to inefficiencies and compatibility issues.

Method used

A video streaming method and system utilizing edge computing devices to convert and manage video streams from various cameras, ensuring compliance with specified protocols by compressing, marking, and sending data packets to cloud management platforms, and executing format conversions based on protocol priorities and thresholds.

Benefits of technology

Enables flexible and efficient video streaming that meets specific protocol requirements, reduces storage space, and improves system stability and conversion efficiency, particularly for protocols like GB28181.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116800991B_ABST
    Figure CN116800991B_ABST
Patent Text Reader

Abstract

The present invention proposes a video streaming method and system based on edge computing devices. The video streaming method includes: obtaining video streams collected by cameras of different models through an edge computing engine; the edge computing engine converts the video streams into streaming files to be streamed; the edge computing engine sends the streaming files to a cloud management platform for storage; the edge computing engine receives streaming requests sent by its corresponding streaming media server in real time; wherein one edge computing engine corresponds to multiple streaming media servers; video streaming step: when the edge computing engine receives the streaming request sent by the streaming media server, the edge computing engine converts the streaming file into a streaming file of a specified protocol and sends it to the streaming media server. The system includes modules corresponding to the steps of the method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention proposes a video streaming method and system based on edge computing devices, belonging to the technical field of video streaming. Background Art

[0002] We are now in the era of self-media and new media. In this era, live streaming has become a widely used video dissemination mode. In the process of live streaming, video streaming is an indispensable technical stage. Streaming refers to the process of transmitting the packaged content in the collection stage to the server. In the current streaming process, the streaming protocol provided by the camera equipment is often used, which cannot meet the specific protocol requirements. Summary of the invention

[0003] The present invention provides a video streaming method and system based on edge computing devices to solve the problem that the existing streaming method cannot meet the protocol requirements. The technical solutions adopted are as follows:

[0004] A video streaming method based on an edge computing device, the video streaming method comprising:

[0005] Obtain video streams collected by cameras of different models through the edge computing engine;

[0006] The edge computing engine converts the video stream into a streaming file to be streamed;

[0007] The edge computing engine sends the streaming file to the cloud management platform for storage;

[0008] The edge computing engine receives the streaming request sent by the corresponding streaming media server in real time; wherein one edge computing engine corresponds to multiple streaming media servers;

[0009] Video streaming step: When the edge computing engine receives a streaming request sent by the streaming media server, the edge computing engine converts the streaming file into a streaming file of a specified protocol and sends it to the streaming media server.

[0010] Furthermore, the edge computing engine sends the streaming file to the cloud management platform for storage, including:

[0011] Compressing the streaming files according to the order in which the video streams are generated to form streaming file data packets, and marking the streaming file data packets with data; wherein the data tags are associated with the video stream numbers;

[0012] The edge computing engine detects and determines in real time whether a streaming request corresponding to a completed streaming file data packet sent by the streaming media server is received;

[0013] If a streaming request corresponding to a completed streaming file data packet is received from the streaming media server within a specified time period, the video streaming step is performed for the completed streaming file data packet;

[0014] If no streaming request corresponding to the completed streaming file data packet is received from the streaming server within the specified time period, the streaming file data packet is sent to the cloud management platform for storage; wherein the specified time is set according to the actual server parameters and scale. Generally, the specified time period ranges from 10 minutes to 25 minutes.

[0015] When the cloud management platform completes the storage of the streaming file data packet, it sends a storage completion instruction to the edge computing engine;

[0016] After receiving the storage completion instruction, the edge computing engine deletes the streaming file data packets that have been stored on the cloud management platform.

[0017] Further, when the edge computing engine receives the streaming request sent by the streaming media server, the edge computing engine converts the streaming file into a streaming file of a specified protocol and sends it to the streaming media server, including:

[0018] The streaming media server sends the execution protocol required for streaming at the same time as sending the streaming request to the edge computing engine;

[0019] When receiving the streaming request and the execution protocol required for the streaming, the edge computing engine determines the number of the execution protocols;

[0020] When the number of the executed protocols does not exceed a preset number threshold, the streaming file is converted into a streaming file format compatible with the executed protocol according to the number of executed protocols and protocol requirements, and a plurality of streaming files that have completed the format conversion are sent to the corresponding streaming media server at the same time;

[0021] When the number of the execution agreements exceeds a preset number threshold, the execution agreements of the same type are classified to form a set of execution agreements;

[0022] For each execution protocol set, each execution protocol set is divided into units of the number threshold to obtain a plurality of protocol conversion groups, wherein the number of protocols in each protocol conversion group is the same as the number threshold, or the number of protocols in each protocol conversion group is lower than the number threshold;

[0023] According to the preset protocol type priority list, the push streaming files corresponding to each type of execution protocol are converted in format and sent to the corresponding streaming media servers in the order of conversion completion.

[0024] Furthermore, the number threshold is set by the following process, including:

[0025] Extracting the specific number of streaming media servers corresponding to each edge computing engine;

[0026] According to the specific number of streaming media servers corresponding to the edge computing engine and the number threshold setting principle, the number threshold is set;

[0027] The number threshold setting principles include:

[0028] When the specific number of streaming media servers corresponding to the edge computing engine does not exceed 5, the number threshold setting constraint condition is:

[0029] 0.47×INT(M×Q)≤N≤0.73×INT(M×Q)

[0030] Wherein, N represents the number threshold corresponding to each edge computing engine; M represents the specific number of streaming media servers corresponding to each edge computing engine; Q represents the number of executable protocols corresponding to each streaming media server, and the number of executable protocols corresponding to each streaming media server is not less than 2; INT() represents rounding up, and when N<3, let N=3;

[0031] When the specific number of streaming media servers corresponding to the edge computing engine exceeds 5, the number threshold setting constraint condition is:

[0032] 0.40×Round(M×Q)≤N≤0.58×Round(M×Q)

[0033] Among them, N represents the number threshold corresponding to each of the edge computing engines; M represents the specific number of streaming media servers corresponding to each of the edge computing engines; Q represents the number of executable protocols corresponding to each streaming media server, and the number of executable protocols corresponding to each streaming media server is not less than 2; Round() represents rounding the value.

[0034] A video streaming system based on an edge computing device, the video streaming system comprising:

[0035] The video stream acquisition module is used to obtain video streams collected by cameras of different models through the edge computing engine;

[0036] A conversion module, used for the edge computing engine to convert the video stream into a streaming file to be pushed;

[0037] A storage module, used for the edge computing engine to send the streaming file to the cloud management platform for storage;

[0038] A receiving module, used for the edge computing engine to receive the streaming request sent by the corresponding streaming media server in real time; wherein one edge computing engine corresponds to multiple streaming media servers;

[0039] The streaming module is used to execute the video streaming step: when the edge computing engine receives the streaming request sent by the streaming media server, the edge computing engine converts the streaming file into a streaming file of a specified protocol and sends it to the streaming media server.

[0040] Furthermore, the storage module includes:

[0041] A compression marking module, used to compress the push stream file according to the order in which the video stream is generated to form a push stream file data packet, and to mark the push stream file data packet with data; wherein the data mark is associated with the video stream number;

[0042] A detection and judgment module is used for the edge computing engine to detect and judge in real time whether a streaming request corresponding to a completed streaming file data packet sent by the streaming media server is received;

[0043] A streaming execution module, configured to execute the video streaming step for the completed streaming file data packet if a streaming request corresponding to the completed streaming file data packet sent by the streaming media server is received within a specified time period;

[0044] The cloud sending module is used to send the streaming file data packet to the cloud management platform for storage if no streaming request corresponding to the completed streaming file data packet sent by the streaming media server is received within a specified time period;

[0045] An instruction sending module, used for sending a storage completion instruction to the edge computing engine after the cloud management platform completes the storage of the streaming file data packet;

[0046] The deletion module is used for deleting the streaming file data packets that have been stored on the cloud management platform after the edge computing engine receives the storage completion instruction.

[0047] Furthermore, the streaming module includes:

[0048] An execution protocol sending module, used for the streaming media server to send the execution protocol required for streaming at the same time as sending a streaming request to the edge computing engine;

[0049] A number determination module, configured for the edge computing engine to determine the number of execution protocols when receiving the streaming request and the execution protocol required for streaming;

[0050] A file format conversion module, used for converting the streaming file into a streaming file format compatible with the execution protocol according to the number of execution protocols and protocol requirements when the number of execution protocols does not exceed a preset number threshold, and simultaneously sending a plurality of streaming files that have completed format conversion to a corresponding streaming media server;

[0051] A classification module, used for classifying the execution protocols of the same type to form a set of execution protocols when the number of the execution protocols exceeds a preset number threshold;

[0052] A division module, for dividing each execution protocol set by taking the number threshold as a number unit, to obtain a plurality of protocol conversion groups, wherein the number of protocols in each protocol conversion group is the same as the number threshold, or the number of protocols in each protocol conversion group is lower than the number threshold;

[0053] The sequential sending module is used to convert the format of the push streaming files corresponding to each type of execution protocol in turn according to the preset protocol type priority list, and send them to the corresponding streaming media servers in the order of conversion completion.

[0054] Furthermore, the number threshold is set by the following process, including:

[0055] An extraction module, used to extract the specific number of streaming media servers corresponding to each edge computing engine;

[0056] A threshold setting module, used to set the number threshold according to the specific number of streaming media servers corresponding to the edge computing engine and the number threshold setting principle;

[0057] The number threshold setting principles include:

[0058] When the specific number of streaming media servers corresponding to the edge computing engine does not exceed 5, the number threshold setting constraint condition is:

[0059] 0.47×INT(M×Q)≤N≤0.73×INT(M×Q)

[0060] Wherein, N represents the number threshold corresponding to each edge computing engine; M represents the specific number of streaming media servers corresponding to each edge computing engine; Q represents the number of executable protocols corresponding to each streaming media server, and the number of executable protocols corresponding to each streaming media server is not less than 2; INT() represents rounding up, and when N<3, let N=3;

[0061] When the specific number of streaming media servers corresponding to the edge computing engine exceeds 5, the number threshold setting constraint condition is:

[0062] 0.40×Round(M×Q)≤N≤0.58×Round(M×Q)

[0063] Among them, N represents the number threshold corresponding to each of the edge computing engines; M represents the specific number of streaming media servers corresponding to each of the edge computing engines; Q represents the number of executable protocols corresponding to each streaming media server, and the number of executable protocols corresponding to each streaming media server is not less than 2; Round() represents rounding the value.

[0064] Beneficial effects of the present invention:

[0065] The present invention proposes a video streaming method and system based on edge computing devices. With the help of edge computing devices, different types of cameras are connected to pull video streams, and the video streams are forwarded to the streaming media server as streaming streams of the specified protocol. In this way, with the help of edge computing devices, video streams with specific protocol requirements (such as GB28181) can be provided to meet specific needs, and unified development can be carried out flexibly and conveniently. BRIEF DESCRIPTION OF THE DRAWINGS

[0066] Figure 1 is a flow chart of the method of the present invention;

[0067] Figure 2 The system block diagram of the system of the present invention. DETAILED DESCRIPTION

[0068] The preferred embodiments of the present invention are described below in conjunction with the accompanying drawings. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present invention, and are not used to limit the present invention.

[0069] The embodiment of the present invention provides a video streaming method based on an edge computing device, such as Figure 1 As shown, the video streaming method includes:

[0070] S1. Obtain video streams collected by cameras of different models through the edge computing engine;

[0071] S2. The edge computing engine converts the video stream into a streaming file to be streamed;

[0072] S3, the edge computing engine sends the streaming file to the cloud management platform for storage;

[0073] S4, the edge computing engine receives the streaming request sent by the corresponding streaming media server in real time; wherein one edge computing engine corresponds to multiple streaming media servers;

[0074] S5, video streaming step: when the edge computing engine receives the streaming request sent by the streaming media server, the edge computing engine converts the streaming file into a streaming file of a specified protocol and sends it to the streaming media server.

[0075] The working principle of the above technical solution is as follows: first, the video streams collected by cameras of different models are obtained through the edge computing engine; then, the edge computing engine converts the video streams into streaming files to be pushed; subsequently, the edge computing engine sends the streaming files to the cloud management platform for storage; then, the edge computing engine receives the streaming request sent by its corresponding streaming media server in real time; wherein, one edge computing engine corresponds to multiple streaming media servers; finally, the video streaming step is executed: when the edge computing engine receives the streaming request sent by the streaming media server, the edge computing engine converts the streaming file into a streaming file of a specified protocol and sends it to the streaming media server.

[0076] The effect of the above technical solution is: this embodiment proposes a video streaming method based on edge computing devices, which uses edge computing devices to connect different types of cameras, pull video streams, and forward the video streams to streaming media servers through specified protocols. In this way, edge computing devices can provide video streams with specific protocol requirements (such as GB28181), meet specific needs, and flexibly and conveniently carry out unified development.

[0077] In one embodiment of the present invention, the edge computing engine sends the streaming file to the cloud management platform for storage, including:

[0078] S301, compressing the streaming files according to the order in which the video streams are generated to form streaming file data packets, and marking the streaming file data packets with data; wherein the data tags are associated with the video stream numbers;

[0079] S302, the edge computing engine detects and determines in real time whether a streaming request corresponding to a completed streaming file data packet sent by the streaming media server is received;

[0080] S303: if a streaming request corresponding to a completed streaming file data packet is received from the streaming media server within a specified time period, the video streaming step is performed for the completed streaming file data packet;

[0081] S304: If no streaming request corresponding to the completed streaming file data packet is received from the streaming media server within the specified time period, the streaming file data packet is sent to the cloud management platform for storage; wherein the specified time is set according to the actual server parameters and scale. Generally, the specified time period ranges from 10 minutes to 25 minutes.

[0082] S305: After the cloud management platform completes the storage of the streaming file data packet, it sends a storage completion instruction to the edge computing engine;

[0083] S306: After receiving the storage completion instruction, the edge computing engine deletes the streaming file data packets that have been stored in the cloud management platform.

[0084] The working principle of the above technical solution is as follows: first, the push stream file is compressed in the order of the video stream generation to form a push stream file data packet, and the push stream file data packet is data-marked; wherein the data tag is associated with the video stream number; then, the edge computing engine detects and determines in real time whether a push stream request corresponding to the completed push stream file data packet sent by the streaming media server is received; thereafter, if a push stream request corresponding to the completed push stream file data packet sent by the streaming media server is received within a specified time period, the video push stream step is performed for the completed push stream file data packet; subsequently, if a push stream request corresponding to the completed push stream file data packet sent by the streaming media server is not received within a specified time period, the push stream file data packet is sent to the cloud management platform for storage; wherein the specified time is set according to the actual server parameters and scale. Generally, the time range of the specified time period is 10min-25min. Afterwards, when the cloud management platform completes the storage of the streaming file data packet, it sends a storage completion instruction to the edge computing engine; finally, after receiving the storage completion instruction, the edge computing engine deletes the streaming file data packet that has been stored in the cloud management platform.

[0085] The effect of the above technical solution is: by storing and deleting streaming files in a targeted manner according to the actual needs of streaming within a specified time period, the storage space occupied by streaming files can be effectively reduced, thereby effectively improving the stability of system operation. At the same time, the above cloud management platform only stores streaming files that have not been pushed, further reducing the occupation of file storage space. In the case of a large amount of cloud data and a large amount of file transfer, the amount of data transfer for files that need to be stored can be effectively reduced, thereby effectively preventing data congestion from affecting the operating efficiency of the cloud management platform.

[0086] In one embodiment of the present invention, when the edge computing engine receives a streaming request sent by the streaming media server, the edge computing engine converts the streaming file into a streaming file of a specified protocol and sends it to the streaming media server, including:

[0087] S401: The streaming media server sends a streaming request to the edge computing engine and also sends an execution protocol required for streaming;

[0088] S402: When receiving the streaming request and the execution protocol required for streaming, the edge computing engine determines the number of execution protocols;

[0089] S403: when the number of the executed protocols does not exceed a preset number threshold, converting the streaming file into a streaming file format compatible with the executed protocol according to the number of executed protocols and protocol requirements, and simultaneously sending a plurality of streaming files that have completed format conversion to a corresponding streaming media server;

[0090] S404: When the number of the execution protocols exceeds a preset number threshold, the execution protocols of the same type are classified to form a set of execution protocols;

[0091] S405: for each execution protocol set, divide each execution protocol set into units of the number threshold to obtain a plurality of protocol conversion groups, wherein the number of protocols in each protocol conversion group is the same as the number threshold, or the number of protocols in each protocol conversion group is lower than the number threshold;

[0092] S406: According to the preset protocol type priority list, the push streaming files corresponding to each type of execution protocol are converted in format in turn, and sent to the corresponding streaming media servers in the order of conversion completion.

[0093] The working principle of the above technical solution is as follows: first, the streaming media server sends the execution protocol required for streaming at the same time as sending a streaming request to the edge computing engine; then, when the edge computing engine receives the streaming request and the execution protocol required for streaming, it determines the number of the execution protocols; thereafter, when the number of the execution protocols does not exceed the preset number threshold, the streaming file is converted into a streaming file format that is compatible with the execution protocol according to the number of execution protocols and protocol requirements, and a plurality of streaming files that have completed the format conversion are sent to the corresponding streaming media server at the same time; subsequently, when the number of the execution protocols When the number exceeds a preset threshold, the execution protocols of the same type are classified to form a set of execution protocols; then, for each set of execution protocols, each set of execution protocols is divided according to the threshold as a unit of number to obtain multiple protocol conversion groups, wherein the number of protocols in each protocol conversion group is the same as the threshold, or the number of protocols in each protocol conversion group is lower than the threshold; finally, according to a preset protocol type priority list, the push streaming files corresponding to each category of execution protocols are converted in format in turn, and sent to the corresponding streaming media servers in the order of conversion completion.

[0094] The effect of the above technical solution is: through the above method, when there are many execution protocols, the efficiency of file format conversion for different execution protocols can be effectively improved. Through the combination of number thresholds, execution protocol classification and protocol conversion execution priority, the file conversion speed and the orderliness of conversion execution can be improved when there are many types and numbers of execution protocols, and the problem of failing to meet the protocol priority requirements and conversion speed requirements when executing conversions in sequence when there are many types and numbers of execution protocols can be prevented.

[0095] In one embodiment of the present invention, the number threshold is set by the following process, including:

[0096] Step 1: extract the specific number of streaming media servers corresponding to each edge computing engine;

[0097] Step 2: Setting the number threshold according to the specific number of streaming media servers corresponding to the edge computing engine and the number threshold setting principle;

[0098] The number threshold setting principles include:

[0099] When the specific number of streaming media servers corresponding to the edge computing engine does not exceed 5, the number threshold setting constraint condition is:

[0100] 0.47×INT(M×Q)≤N≤0.73×INT(M×Q)

[0101] Wherein, N represents the number threshold corresponding to each edge computing engine; M represents the specific number of streaming media servers corresponding to each edge computing engine; Q represents the number of executable protocols corresponding to each streaming media server, and the number of executable protocols corresponding to each streaming media server is not less than 2; INT() represents rounding up, and when N<3, let N=3;

[0102] When the specific number of streaming media servers corresponding to the edge computing engine exceeds 5, the number threshold setting constraint condition is:

[0103] 0.40×Round(M×Q)≤N≤0.58×Round(M×Q)

[0104] Among them, N represents the number threshold corresponding to each of the edge computing engines; M represents the specific number of streaming media servers corresponding to each of the edge computing engines; Q represents the number of executable protocols corresponding to each streaming media server, and the number of executable protocols corresponding to each streaming media server is not less than 2; Round() represents rounding the value.

[0105] The working principle of the above technical solution is as follows: first, the specific number of streaming media servers corresponding to each edge computing engine is extracted; then, the number threshold is set according to the specific number of streaming media servers corresponding to the edge computing engine and the number threshold setting principle.

[0106] The effect of the above technical solution is: the number threshold set in the above manner can effectively improve the matching between the number threshold setting and the specific number of streaming media servers by effectively combining the actual situation of the specific number of streaming media servers, and setting different constraint ranges according to the specific number of streaming media servers, thereby improving the rationality of the number threshold setting. At the same time, since the setting of the number threshold directly affects the number and type requirements of the execution protocol, the number threshold set by the above constraint conditions can meet the requirements of high matching and rationality between the number threshold and the file conversion of the execution protocol under the condition of meeting the constraint conditions and the number requirements of the device parameters, and at the same time, can effectively meet the efficiency of the subsequent execution protocol file conversion, and effectively prevent the problem of unreasonable number threshold setting failing to meet the efficiency of the subsequent execution protocol file conversion.

[0107] The embodiment of the present invention proposes a video streaming system based on edge computing devices, such as Figure 2 As shown, the video streaming system includes:

[0108] The video stream acquisition module is used to obtain video streams collected by cameras of different models through the edge computing engine;

[0109] A conversion module, used for the edge computing engine to convert the video stream into a streaming file to be pushed;

[0110] A storage module, used for the edge computing engine to send the streaming file to the cloud management platform for storage;

[0111] A receiving module, used for the edge computing engine to receive the streaming request sent by the corresponding streaming media server in real time; wherein one edge computing engine corresponds to multiple streaming media servers;

[0112] The streaming module is used to execute the video streaming step: when the edge computing engine receives the streaming request sent by the streaming media server, the edge computing engine converts the streaming file into a streaming file of a specified protocol and sends it to the streaming media server.

[0113] The working principle of the above technical solution is as follows: first, a video stream acquisition module is used to obtain video streams collected by cameras of different models through an edge computing engine; then, a conversion module is used to control the edge computing engine to convert the video stream into a streaming file to be pushed; subsequently, a storage module is used to control the edge computing engine to send the streaming file to a cloud management platform for storage; thereafter, a receiving module is used to control the edge computing engine to receive a streaming request sent by its corresponding streaming media server in real time; wherein, one edge computing engine corresponds to multiple streaming media servers; finally, a streaming module is used to execute the video streaming step: when the edge computing engine receives a streaming request sent by the streaming media server, the edge computing engine converts the streaming file into a streaming file of a specified protocol and sends it to the streaming media server.

[0114] The effect of the above technical solution is: this embodiment proposes a video streaming system based on edge computing devices, which uses edge computing devices to connect different types of cameras, pull video streams, and forward the video streams to streaming media servers through specified protocols. In this way, edge computing devices can provide video streams with specific protocol requirements (such as GB28181), meet specific needs, and carry out unified development flexibly and conveniently.

[0115] In one embodiment of the present invention, the storage module includes:

[0116] A compression marking module, used to compress the push stream file according to the order in which the video stream is generated to form a push stream file data packet, and to mark the push stream file data packet with data; wherein the data mark is associated with the video stream number;

[0117] A detection and judgment module is used for the edge computing engine to detect and judge in real time whether a streaming request corresponding to a completed streaming file data packet sent by the streaming media server is received;

[0118] A streaming execution module, configured to execute the video streaming step for the completed streaming file data packet if a streaming request corresponding to the completed streaming file data packet sent by the streaming media server is received within a specified time period;

[0119] The cloud sending module is used to send the streaming file data packet to the cloud management platform for storage if no streaming request corresponding to the completed streaming file data packet sent by the streaming media server is received within a specified time period;

[0120] An instruction sending module, used for sending a storage completion instruction to the edge computing engine after the cloud management platform completes the storage of the streaming file data packet;

[0121] The deletion module is used for the edge computing engine to delete the streaming file data packets that have been stored on the cloud management platform after receiving the storage completion instruction.

[0122] The working principle of the above technical solution is as follows: first, a compression marking module is used to compress the push stream file according to the order in which the video stream is generated to form a push stream file data packet, and the push stream file data packet is data-marked; wherein the data tag is associated with the video stream number; then, a detection and judgment module is used to control the edge computing engine to detect and judge in real time whether a push stream request corresponding to the completed push stream file data packet sent by the streaming media server is received; then, if a push stream request corresponding to the completed push stream file data packet sent by the streaming media server is received within a specified time period, the video push stream step is executed for the completed push stream file data packet; if a push stream request corresponding to the completed push stream file data packet sent by the streaming media server is not received within a specified time period, the cloud sending module is used to send the push stream file data packet to the cloud management platform for storage; then, when the cloud management platform completes the storage of the push stream file data packet, a storage completion instruction is sent to the edge computing engine by the instruction sending module; finally, after receiving the storage completion instruction, the edge computing engine is controlled by the deletion module to delete the push stream file data packet that has been stored in the cloud management platform.

[0123] The effect of the above technical solution is: by storing and deleting streaming files in a targeted manner according to the actual needs of streaming within a specified time period, the storage space occupied by streaming files can be effectively reduced, thereby effectively improving the stability of system operation. At the same time, the above cloud management platform only stores streaming files that have not been pushed, further reducing the occupation of file storage space. In the case of a large amount of cloud data and a large amount of file transfer, the amount of data transfer for files that need to be stored can be effectively reduced, thereby effectively preventing data congestion from affecting the operating efficiency of the cloud management platform.

[0124] In one embodiment of the present invention, the streaming module comprises:

[0125] An execution protocol sending module, used for the streaming media server to send the execution protocol required for streaming at the same time as sending a streaming request to the edge computing engine;

[0126] A number determination module, configured for the edge computing engine to determine the number of execution protocols when receiving the streaming request and the execution protocol required for streaming;

[0127] A file format conversion module, used for converting the streaming file into a streaming file format compatible with the execution protocol according to the number of execution protocols and protocol requirements when the number of execution protocols does not exceed a preset number threshold, and simultaneously sending a plurality of streaming files that have completed format conversion to a corresponding streaming media server;

[0128] A classification module, used for classifying the execution protocols of the same type to form a set of execution protocols when the number of the execution protocols exceeds a preset number threshold;

[0129] A division module, for dividing each execution protocol set by taking the number threshold as a number unit, to obtain a plurality of protocol conversion groups, wherein the number of protocols in each protocol conversion group is the same as the number threshold, or the number of protocols in each protocol conversion group is lower than the number threshold;

[0130] The sequential sending module is used to convert the format of the push streaming files corresponding to each type of execution protocol in turn according to the preset protocol type priority list, and send them to the corresponding streaming media servers in the order of conversion completion.

[0131] The working principle of the above technical solution is as follows: first, the execution protocol sending module is used to control the streaming media server to send the execution protocol required for streaming at the same time as sending the streaming request to the edge computing engine; the number judgment module is used to control the edge computing engine to judge the number of the execution protocols when receiving the streaming request and the execution protocol required for streaming; then, the file format conversion module is used to convert the streaming file into a streaming file format that is compatible with the execution protocol according to the number of execution protocols and protocol requirements when the number of execution protocols does not exceed a preset number threshold, and simultaneously send multiple streaming files that have completed format conversion to the corresponding streaming media server; then, the classification module is used to When the number of the execution protocols exceeds a preset number threshold, the execution protocols of the same type are classified to form a class of execution protocol sets; then, each execution protocol set is divided into multiple protocol conversion groups using the number threshold as a unit for each execution protocol set by using a division module, wherein the number of protocols in each protocol conversion group is the same as the number threshold, or the number of protocols in each protocol conversion group is lower than the number threshold; finally, a sequential sending module is used to convert the format of the push streaming files corresponding to each category of execution protocols in accordance with a preset protocol type priority list, and send them to the corresponding streaming media servers in the order of conversion completion.

[0132] The effect of the above technical solution is: through the above method, when there are many execution protocols, the efficiency of file format conversion for different execution protocols can be effectively improved. Through the combination of number thresholds, execution protocol classification and protocol conversion execution priority, the file conversion speed and the orderliness of conversion execution can be improved when there are many types and numbers of execution protocols, and the problem of failing to meet the protocol priority requirements and conversion speed requirements when executing conversions in sequence when there are many types and numbers of execution protocols can be prevented.

[0133] In one embodiment of the present invention, the number threshold is set by the following process, including:

[0134] An extraction module, used to extract the specific number of streaming media servers corresponding to each edge computing engine;

[0135] A threshold setting module, used to set the number threshold according to the specific number of streaming media servers corresponding to the edge computing engine and the number threshold setting principle;

[0136] The number threshold setting principles include:

[0137] When the specific number of streaming media servers corresponding to the edge computing engine does not exceed 5, the number threshold setting constraint condition is:

[0138] 0.47×INT(M×Q)≤N≤0.73×INT(M×Q)

[0139] Wherein, N represents the number threshold corresponding to each edge computing engine; M represents the specific number of streaming media servers corresponding to each edge computing engine; Q represents the number of executable protocols corresponding to each streaming media server, and the number of executable protocols corresponding to each streaming media server is not less than 2; INT() represents rounding up, and when N<3, let N=3;

[0140] When the specific number of streaming media servers corresponding to the edge computing engine exceeds 5, the number threshold setting constraint condition is:

[0141] 0.40×Round(M×Q)≤N≤0.58×Round(M×Q)

[0142] Among them, N represents the number threshold corresponding to each of the edge computing engines; M represents the specific number of streaming media servers corresponding to each of the edge computing engines; Q represents the number of executable protocols corresponding to each streaming media server, and the number of executable protocols corresponding to each streaming media server is not less than 2; Round() represents rounding the value.

[0143] The working principle of the above technical solution is as follows: first, the specific number of streaming media servers corresponding to each edge computing engine is extracted by using the extraction module; then, the number threshold is set by using the threshold setting module according to the specific number of streaming media servers corresponding to the edge computing engine and the number threshold setting principle;

[0144] The effect of the above technical solution is: the number threshold set in the above manner can effectively improve the matching between the number threshold setting and the specific number of streaming media servers by effectively combining the actual situation of the specific number of streaming media servers, and setting different constraint ranges according to the specific number of streaming media servers, thereby improving the rationality of the number threshold setting. At the same time, since the setting of the number threshold directly affects the number and type requirements of the execution protocol, the number threshold set by the above constraint conditions can meet the requirements of high matching and rationality between the number threshold and the file conversion of the execution protocol under the condition of meeting the constraint conditions and the number requirements of the device parameters, and at the same time, can effectively meet the efficiency of the subsequent execution protocol file conversion, and effectively prevent the problem of unreasonable number threshold setting failing to meet the efficiency of the subsequent execution protocol file conversion.

[0145] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.

Claims

1. A video streaming method based on edge computing equipment, characterized in that: The video streaming method comprises: Obtain video streams collected by cameras of different models through the edge computing engine; The edge computing engine converts the video stream into a streaming file to be streamed; The edge computing engine sends the streaming file to the cloud management platform for storage; The edge computing engine receives the streaming request sent by the corresponding streaming media server in real time; wherein one edge computing engine corresponds to multiple streaming media servers; Video streaming step: when the edge computing engine receives a streaming request sent by the streaming media server, the edge computing engine converts the streaming file into a streaming file of a specified protocol and sends it to the streaming media server; When the edge computing engine receives the streaming request sent by the streaming media server, the edge computing engine converts the streaming file into a streaming file of a specified protocol and sends it to the streaming media server, including: The streaming media server sends the execution protocol required for streaming at the same time as sending the streaming request to the edge computing engine; When receiving the streaming request and the execution protocol required for the streaming, the edge computing engine determines the number of the execution protocols; When the number of the executed protocols does not exceed a preset number threshold, the streaming file is converted into a streaming file format compatible with the executed protocol according to the number of executed protocols and protocol requirements, and a plurality of streaming files that have completed the format conversion are sent to the corresponding streaming media server at the same time; When the number of the execution agreements exceeds a preset number threshold, the execution agreements of the same type are classified to form a set of execution agreements; For each execution protocol set, each execution protocol set is divided into units of the number threshold to obtain a plurality of protocol conversion groups, wherein the number of protocols in each protocol conversion group is the same as the number threshold, or the number of protocols in each protocol conversion group is lower than the number threshold; According to the pre-set protocol type priority list, the push streaming files corresponding to each type of execution protocol are converted in format in turn, and sent to the corresponding streaming media servers in the order of conversion completion; The number threshold is set by the following process, including: Extracting the specific number of streaming media servers corresponding to each edge computing engine; According to the specific number of streaming media servers corresponding to the edge computing engine and the number threshold setting principle, the number threshold is set; The number threshold setting principles include: When the specific number of streaming media servers corresponding to the edge computing engine does not exceed 5, the number threshold setting constraint condition is: 0.47×INT(M×Q)≤N≤0.73×INT(M×Q) Wherein, N represents the number threshold corresponding to each edge computing engine; M represents the specific number of streaming media servers corresponding to each edge computing engine; Q represents the number of executable protocols corresponding to each streaming media server, and the number of executable protocols corresponding to each streaming media server is not less than 2; INT() represents rounding up, and when N<3, let N=3; When the specific number of streaming media servers corresponding to the edge computing engine exceeds 5, the number threshold setting constraint condition is: 0.40×Round(M×Q)≤N≤0.58×Round(M×Q) Among them, N represents the number threshold corresponding to each of the edge computing engines; M represents the specific number of streaming media servers corresponding to each of the edge computing engines; Q represents the number of executable protocols corresponding to each streaming media server, and the number of executable protocols corresponding to each streaming media server is not less than 2; Round() represents rounding the value.

2. The video streaming method according to claim 1, characterized in that: The edge computing engine sends the streaming file to the cloud management platform for storage, including: Compressing the streaming files according to the order in which the video streams are generated to form streaming file data packets, and marking the streaming file data packets with data; wherein the data tags are associated with the video stream numbers; The edge computing engine detects and determines in real time whether a streaming request corresponding to a completed streaming file data packet sent by the streaming media server is received; If a streaming request corresponding to a completed streaming file data packet is received from the streaming media server within a specified time period, the video streaming step is performed for the completed streaming file data packet; If no streaming request corresponding to the completed streaming file data packet is received from the streaming media server within the specified time period, the streaming file data packet is sent to the cloud management platform for storage; When the cloud management platform completes the storage of the streaming file data packet, it sends a storage completion instruction to the edge computing engine; After receiving the storage completion instruction, the edge computing engine deletes the streaming file data packets that have been stored on the cloud management platform.

3. A video streaming system based on edge computing devices, characterized in that: The video streaming system comprises: The video stream acquisition module is used to obtain video streams collected by cameras of different models through the edge computing engine; A conversion module, used for the edge computing engine to convert the video stream into a streaming file to be pushed; A storage module, used for the edge computing engine to send the streaming file to the cloud management platform for storage; A receiving module, used for the edge computing engine to receive the streaming request sent by the corresponding streaming media server in real time; wherein one edge computing engine corresponds to multiple streaming media servers; A streaming module, used to execute the video streaming step: when the edge computing engine receives a streaming request sent by the streaming media server, the edge computing engine converts the streaming file into a streaming file of a specified protocol and sends it to the streaming media server; Wherein, the streaming module includes: An execution protocol sending module, used for the streaming media server to send the execution protocol required for streaming at the same time as sending a streaming request to the edge computing engine; A number determination module, configured for the edge computing engine to determine the number of execution protocols when receiving the streaming request and the execution protocol required for streaming; A file format conversion module, used for converting the streaming file into a streaming file format compatible with the execution protocol according to the number of execution protocols and protocol requirements when the number of execution protocols does not exceed a preset number threshold, and simultaneously sending a plurality of streaming files that have completed format conversion to a corresponding streaming media server; A classification module, used for classifying the execution protocols of the same type to form a set of execution protocols when the number of the execution protocols exceeds a preset number threshold; A division module, for dividing each execution protocol set by taking the number threshold as a number unit, to obtain a plurality of protocol conversion groups, wherein the number of protocols in each protocol conversion group is the same as the number threshold, or the number of protocols in each protocol conversion group is lower than the number threshold; The sequential sending module is used to convert the push streaming files corresponding to each type of execution protocol in accordance with the preset protocol type priority list, and send them to the corresponding streaming media servers in the order of conversion completion; The number threshold is set by the following process, including: An extraction module, used to extract the specific number of streaming media servers corresponding to each edge computing engine; A threshold setting module, used to set the number threshold according to the specific number of streaming media servers corresponding to the edge computing engine and the number threshold setting principle; The number threshold setting principles include: When the specific number of streaming media servers corresponding to the edge computing engine does not exceed 5, the number threshold setting constraint condition is: 0.47×INT(M×Q)≤N≤0.73×INT(M×Q) Wherein, N represents the number threshold corresponding to each edge computing engine; M represents the specific number of streaming media servers corresponding to each edge computing engine; Q represents the number of executable protocols corresponding to each streaming media server, and the number of executable protocols corresponding to each streaming media server is not less than 2; INT() represents rounding up, and when N<3, let N=3; When the specific number of streaming media servers corresponding to the edge computing engine exceeds 5, the number threshold setting constraint condition is: 0.40×Round(M×Q)≤N≤0.58×Round(M×Q) Among them, N represents the number threshold corresponding to each of the edge computing engines; M represents the specific number of streaming media servers corresponding to each of the edge computing engines; Q represents the number of executable protocols corresponding to each streaming media server, and the number of executable protocols corresponding to each streaming media server is not less than 2; Round() represents rounding the value.

4. The video streaming system according to claim 3, characterized in that: The storage module comprises: A compression marking module, used to compress the push stream file according to the order in which the video stream is generated to form a push stream file data packet, and to mark the push stream file data packet with data; wherein the data mark is associated with the video stream number; A detection and judgment module is used for the edge computing engine to detect and judge in real time whether a streaming request corresponding to a completed streaming file data packet sent by the streaming media server is received; A streaming execution module, configured to execute the video streaming step for the completed streaming file data packet if a streaming request corresponding to the completed streaming file data packet sent by the streaming media server is received within a specified time period; A cloud sending module, for sending the streaming file data packet to the cloud management platform for storage if no streaming request corresponding to the completed streaming file data packet is received from the streaming media server within a specified time period; An instruction sending module, used for sending a storage completion instruction to the edge computing engine after the cloud management platform completes the storage of the streaming file data packet; The deletion module is used for deleting the streaming file data packets that have been stored on the cloud management platform after the edge computing engine receives the storage completion instruction.