Decentralized video streaming device

By installing decentralized video streaming devices on terminal devices, the problem of high pressure on central servers is solved, enabling efficient allocation and transmission of video streams, eliminating the need for central servers, and improving the flexibility and efficiency of the system.

CN121397261APending Publication Date: 2026-01-23BEIJING ZHONGKESIS INFORMATION TECHNOLOGY CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202511347284.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-19
Publication Date
2026-01-23

AI Technical Summary

Technical Problem

In traditional video streaming technology, the central server bears a heavy burden, and there is a lack of effective solutions.

Method used

A decentralized video streaming device, including a push streaming unit, a streaming media service unit, and a pull streaming unit, is installed on each terminal device. The video stream is distributed and transmitted through signaling channels and network channels, eliminating the role of the central server.

Benefits of technology

By assigning video streaming tasks to each terminal device, the burden on the central server is reduced, the overall system pressure is lowered, and the system's flexibility and efficiency are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121397261A_ABST
    Figure CN121397261A_ABST
Patent Text Reader

Abstract

The invention provides a decentralized video stream transmission device, which relates to the technical field of data transmission, and comprises the following steps: a stream pushing unit collects and compresses a video stream, automatically generates a uniform resource locator according to a port number and a stream identifier of the video stream, and sends the uniform resource locator to a stream pulling unit of other transmission devices through a signaling channel; the video stream is pushed to the streaming media service unit of the transmission device where the video stream is located through the first network channel; the streaming media service unit monitors a role for transmitting a video stream, distributes annular caches based on a stream identifier of the video stream transmitted by the role, caches the video stream pushed by the stream pushing unit corresponding to the stream identifier, and controls the stream pulling unit corresponding to the stream identifier to pull the video stream from the annular caches, and the annular caches are in one-to-one correspondence with the stream identifier; and the stream pulling unit pulls the video stream from the streaming media service units of other transmission devices through the second network channel based on the stream identifier carried by the uniform resource locator, decompresses the video stream and displays the video stream on a screen.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of data transmission, in particular to a decentralized video stream transmission device. BACKGROUND

[0002] With the development of Internet technology, the real-time transmission of video has been greatly improved, and video streams are ubiquitous in daily life and work. The traditional video stream technology mainly builds a central server in the Internet, which is used as the main interactive hub. Terminals in various places of the Internet push or pull streams to this central server, resulting in a large pressure on the central server.

[0003] At present, there is no effective technical solution to the problem of the large pressure on the central server in the traditional video stream technology. SUMMARY

[0004] The main purpose of the present disclosure is to provide a decentralized video stream transmission device to solve the problem of the large pressure on the central server in the traditional video stream technology.

[0005] In order to achieve the above purpose, the present disclosure provides a decentralized video stream transmission device, comprising:

[0006] A push stream unit configured to collect and compress a video stream, automatically generate a uniform resource locator according to a pre-configured port number and a stream identifier of the video stream, send the uniform resource locator to a pull stream unit of another transmission device through a signaling channel, and push the video stream to a streaming service unit of a transmission device in which the push stream unit is located through a first network channel, wherein the another transmission device is a transmission device other than the transmission device in which the push stream unit is located;

[0007] A streaming service unit configured to listen to a role of transmitting a video stream, allocate a ring buffer based on a stream identifier of the video stream transmitted by the role, cache a video stream pushed by a push stream unit corresponding to the stream identifier, and control a pull stream unit corresponding to the stream identifier to pull the video stream from the ring buffer, wherein the role is the push stream unit or the pull stream unit, and the ring buffer corresponds to the stream identifier one by one;

[0008] A pull stream unit configured to pull a video stream from a streaming service unit of another transmission device through a second network channel based on a stream identifier carried by a uniform resource locator, and display the video stream to a screen after decompression.

[0009] Optionally, the pull stream unit is further configured to:

[0010] send a query signaling to a push stream unit of another transmission device through the signaling channel to query stream information supported by the push stream unit;

[0011] receiving stream information supported by the push streaming unit, selecting stream information required by itself from the stream information, and sending the stream information required by itself to the push streaming unit through setting signaling;

[0012] receiving the first confirmation instruction and the uniform resource locator of the stream information required by the pull streaming unit from the push streaming unit, and sending a start stream transmission instruction to the push streaming unit, wherein the uniform resource locator carries a stream identifier;

[0013] receiving the second confirmation instruction of the start stream transmission from the push streaming unit, and based on the stream identifier, pulling a video stream corresponding to the stream identifier from a stream media service unit in a same transmission device as the push streaming unit through a second network channel;

[0014] when the pulling of the video stream ends, sending an end stream transmission instruction to the push streaming unit through a signaling channel;

[0015] receiving the third confirmation instruction of the end stream transmission from the push streaming unit, disconnecting the stream transmission with the stream media service unit, closing the pull streaming unit, and releasing resources.

[0016] Further, the supported stream information is a supported stream media format, including any one or more of resolution, encoding format, color format, frame rate, and audio.

[0017] Optionally, the push streaming unit further comprises:

[0018] in response to query signaling sent by the pull streaming unit of the other transmission device, feeding back the supported stream information to the pull streaming unit through a signaling channel;

[0019] receiving setting signaling sent by the pull streaming unit, setting the stream information required by the pull streaming unit, initializing a transmission module in the push streaming unit, and feeding back the first confirmation instruction and the uniform resource locator of the required stream information to the pull streaming unit;

[0020] in response to start stream transmission signaling sent by the pull streaming unit, feeding back the second confirmation instruction of the start stream transmission to the pull streaming unit, starting the transmission module, and pushing a video stream corresponding to the uniform resource locator to a stream media service unit in a transmission device where the push streaming unit is located through a first network channel;

[0021] receiving end stream transmission signaling sent by the pull streaming unit, feeding back the third confirmation instruction of the end stream transmission to the pull streaming unit, disconnecting the stream transmission with the stream media service unit, closing the push streaming unit, and releasing resources.

[0022] Optionally, the push streaming unit comprises:

[0023] a collection module configured to collect a video frame of an internal camera by using a light sensor, the video frame comprising YUV data;

[0024] The first frame processing module is configured to perform scaling, rotation and format conversion processing on the collected YUV data.

[0025] The encoding module is configured to compress and encode the processed YUV data using hardware.

[0026] The packaging module is configured to perform packaging processing on the multiple videos or audio and video by using a streaming media packaging protocol, and mix them into one video stream.

[0027] The first transmission module is configured to send the packaged one video stream to a streaming media service unit of a transmission device in which the first transmission module is located by using a network transmission protocol.

[0028] Further, the hardware belongs to a terminal device.

[0029] Optionally, the streaming media service unit comprises:

[0030] The role listening module is configured to listen to information sent by a role waiting to establish a network link with the streaming media service unit when there is no role establishing a network link with the streaming media service unit.

[0031] The role management module is configured to analyze the listened information and determine a role source of the information.

[0032] The distribution module is configured to, when the information is from the push unit, make the push unit distribute the video stream, make the push unit establish a network link with the streaming media service unit through a first network channel, receive the video stream pushed by the push unit through the first network channel and cache the video stream in a ring buffer management module.

[0033] The subscription module is configured to, when the information is from the pull unit, make the pull unit subscribe to the video stream, make the streaming media service unit establish a network link with the pull unit through a second network channel, and pull the video stream from the ring buffer management module.

[0034] The ring buffer management module is configured to allocate a ring buffer based on a stream identifier of the video stream, associate the ring buffer with the stream identifier, cache the video stream pushed by the push unit corresponding to the stream identifier, and pull the video stream by the pull unit corresponding to the stream identifier.

[0035] The idle role detection and management module is configured to, if no pull unit or second network channel is detected, close the push unit and release ring buffer resources.

[0036] Further, the idle role detection and management module is further configured to, if no video stream is detected in the first network channel and the second network channel, close the push unit and the pull unit and release ring buffer resources.

[0037] Optionally, the pull unit comprises:

[0038] The second transmission module is configured to receive the video stream transmitted by the streaming service unit through a streaming transmission protocol.

[0039] The decapsulation module is configured to parse each stream data from the mixed video stream.

[0040] The decoding module is configured to decode each parsed stream data into frames using hardware.

[0041] The second frame processing module is configured to perform frame scaling and rotation processing after decoding.

[0042] The rendering module is configured to display the processed YUV data on a screen.

[0043] Further, the stream data includes a video stream and / or an audio stream.

[0044] In the decentralized video stream transmission device provided by the embodiments of the present disclosure, a push stream unit, a streaming service unit and a pull stream unit are included, and the transmission of a video stream and other work of a traditional central server is distributed to the decentralized video stream transmission device on each terminal device to perform, thereby canceling the central server and solving the problem that the central server bears a large pressure in the traditional video stream technology. BRIEF DESCRIPTION OF DRAWINGS

[0045] In order to more clearly illustrate the technical solutions in the specific embodiments or related art of the present disclosure, the drawings needed to be used in the specific embodiments or related art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present disclosure, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.

[0046] Figure 1 The block diagram of the decentralized video stream transmission device provided by the embodiments of the present disclosure;

[0047] Figure 2 The timing diagram of the video stream transmission provided by the embodiments of the present disclosure;

[0048] Figure 3 The schematic diagram of the push stream unit provided by the embodiments of the present disclosure;

[0049] Figure 4 The schematic diagram of the streaming service unit provided by the embodiments of the present disclosure;

[0050] Figure 5 The schematic diagram of the pull stream unit provided by the embodiments of the present disclosure. DETAILED DESCRIPTION

[0051] In order to enable personnel in the technical field to better understand the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in combination with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those of ordinary skill in the art without creative labor should fall within the scope of protection of the present disclosure.

[0052] It should be noted that the terms "first", "second", and the like in the specification and claims of the present disclosure and the above-described drawings are used to distinguish similar objects, and do not necessarily have to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present disclosure described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device that includes a series of steps or units does not have to be limited to those steps or units clearly listed, but can include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0053] It should be noted that the embodiments in the present disclosure and the features in the embodiments can be combined with each other without conflict. The present disclosure will be described in detail below with reference to the drawings and in combination with the embodiments.

[0054] With the development of Internet technology, the real-time transmission of video has been greatly improved, and video streaming is ubiquitous in daily life and work. The traditional video streaming technology mainly builds a central server in the Internet, which takes the central server as the main interactive hub, and the terminals in various places of the Internet push or pull the stream to this central server, resulting in a larger pressure on the central server.

[0055] In order to solve the above problems, the present disclosure provides a kind of decentralized video stream transmission device, which is run on terminal equipment, as shown in Figure 1 The transmission device comprises:

[0056] The push flow unit is used for collecting and compressing a video stream, automatically generating a uniform resource locator according to a pre-configured port number and a stream identifier of the video stream, sending the uniform resource locator to a pull flow unit of other transmission devices through a signaling channel, and pushing the video stream to a streaming media service unit of a transmission device where the push flow unit is located through a first network channel, wherein the other transmission devices are transmission devices other than the transmission device where the push flow unit is located; the push flow unit and the pull flow unit transmit signaling through the signaling channel, the push flow unit pushes the video stream through the first network channel, the stream identifier (streamid) is used for identifying different streams or sessions, the push flow unit is pre-configured with the port number and the video stream, and a uniform resource locator (uniform resource locator, abbreviated as url) is generated; after the url is sent to the pull flow unit of the other transmission devices, the stream identifier carried in the url can be used to correspondingly associate the push flow unit and the pull flow unit of the video stream to be transmitted;

[0057] The streaming media service unit is used for listening to a role of transmitting a video stream, allocating a ring buffer based on a stream identifier of a video stream transmitted by the role, buffering a video stream pushed by a push flow unit corresponding to the stream identifier, and controlling a pull flow unit corresponding to the stream identifier to pull the video stream from the ring buffer, wherein the role is the push flow unit or the pull flow unit, and the ring buffer corresponds to the stream identifier in a one-to-one manner.

[0058] The pull flow unit is used for pulling a video stream from a streaming media service unit of other transmission devices through a second network channel based on a stream identifier carried in a uniform resource locator and decompressing and displaying the video stream to a screen. The pull flow unit pulls the video stream through the second network channel; the push flow unit of one transmission device can correspond to multiple pull flow units of other transmission devices, so that the multiple pull flow units pull the video stream from the streaming media service unit of the one transmission device.

[0059] The decentralized video stream transmission device provided by the embodiment of the present disclosure is installed on each terminal device, and the terminal device can be a computer, a camera or the like; each transmission device includes a push flow unit, a streaming media service unit and a pull flow unit; the push flow unit of one transmission device pushes a video stream to the streaming media service unit of the transmission device where the push flow unit is located, and the pull flow units of all other transmission devices in a local area network can pull the video stream from the streaming media service unit, so that the multiple pull flow units pull the video stream from the one streaming media service unit.

[0060] The embodiment of the present disclosure allocates the work of transmitting a video stream and the like of a traditional central server to the decentralized video stream transmission device on each terminal device to perform, and does not need to additionally and separately build a central server or other central device in the Internet, so that the central server is cancelled, and the problem that the central server bears a large pressure in the traditional video stream technology is solved.

[0061] In addition, the terminal device can also be a mobile phone, a camera and the like hardware handheld terminal device, the handheld terminal device has higher cost performance, and is everywhere, and the decentralized video streaming device can not only be improved in safety, but also can reduce the economic burden.

[0062] In an optional embodiment of the present disclosure, the streaming pulling unit is further configured to:

[0063] send query signaling to the streaming pushing unit of the other transmission device through the signaling channel, query the streaming information supported by the streaming pushing unit, and directly negotiate media format and the like information with the streaming pushing unit of the other transmission device through the signaling channel;

[0064] Specifically, the streaming information supported includes any one or more of resolution, encoding format, color format, frame rate and audio, for example, whether audio is supported or not;

[0065] receive the streaming information supported by the streaming pushing unit, select the streaming information required by the streaming pulling unit therefrom, and send the streaming information required by the streaming pulling unit to the streaming pushing unit through the setting signaling;

[0066] receive the first confirmation instruction and the uniform resource locator of the streaming information required by the streaming pulling unit from the streaming pushing unit, and send a start streaming instruction to the streaming pushing unit, wherein the uniform resource locator carries a stream identifier;

[0067] receive a second confirmation instruction of the streaming pushing unit on the start streaming, and based on the stream identifier, pull the video stream corresponding to the stream identifier from the streaming media service unit in the same transmission device as the streaming pushing unit through a second network channel;

[0068] when the pulling of the video stream ends, send an end streaming instruction to the streaming pushing unit through the signaling channel;

[0069] receive a third confirmation instruction of the streaming pushing unit on the end streaming, disconnect the streaming media service unit, close the streaming pulling unit, and release resources.

[0070] In an optional embodiment of the present disclosure, the streaming pushing unit is further configured to:

[0071] in response to the query signaling sent by the streaming pulling unit of the other transmission device, feed back the streaming information supported by the streaming pushing unit to the streaming pulling unit through the signaling channel;

[0072] receive the setting signaling sent by the streaming pulling unit, set the streaming information required by the streaming pulling unit, initialize the transmission module in the streaming pushing unit, feed back the first confirmation instruction and the uniform resource locator of the streaming information required to the streaming pulling unit;

[0073] In response to the start stream transmission signaling sent by the stream pulling unit, the second confirmation instruction for the start stream transmission is fed back to the stream pulling unit, and the transmission module is started to push the video stream corresponding to the uniform resource locator into the stream media service unit of the transmission device where the stream pulling unit is located through the first network channel.

[0074] The end stream transmission instruction sent by the stream pulling unit is received, the third confirmation instruction for the end stream transmission is fed back to the stream pulling unit, the stream transmission is disconnected with the stream media service unit, the stream pushing unit is closed, and the resources are released.

[0075] The working principle of the decentralized video stream transmission device is explained and described below in combination with the timing diagram of the video stream transmission shown in FIG. 1. Figure 2

[0076] Figure 2 The video stream pulling signaling runs through the entire video stream transmission process, so that the transmission devices work in an orderly manner. The specific signaling is shown in Table 1 as follows:

[0077] Table 1

[0078]

[0079] Figure 2 In the process shown in FIG. 2, the stream pulling unit initiates information query through the query signaling, and the stream pushing unit returns (ACK) the stream information supported by the stream pushing unit. After receiving the stream information, the stream pulling unit selects the stream information required by the stream pulling unit or the stream information supported by the stream pulling unit according to the situation, and then sends the stream information to the stream pushing unit through the setting signaling. After receiving the setting signaling, the stream pushing unit returns OK, sets the stream information, and initializes the corresponding module. The stream pulling unit initiates playing through the start stream transmission signaling, the stream pushing unit starts and returns OK, then transmits the stream data (Stream data) to the stream media service unit, and the stream pulling unit starts to pull the stream from the stream media service unit. When the stream pulling ends, the stream pulling unit sends the end stream transmission signaling, the stream pushing unit returns OK after receiving the end stream transmission signaling, and the stream pushing unit and the stream pulling unit are disconnected with the stream media service unit and release the resources.

[0080] In an optional embodiment of the present disclosure, as shown in FIG. 3, the stream pushing unit includes: Figure 3

[0081] The acquisition module is configured to acquire a video frame of an internal camera by using a light sensor, and the video frame includes YUV data. YUV is a pixel format in which luminance and chrominance are represented separately.

[0082] The first frame processing module is configured to perform scaling, rotation and format conversion processing on the acquired YUV data.

[0083] ​​The encoding module is configured to compress and encode the processed YUV data using hardware.

[0084] Specifically, the hardware belongs to a terminal device; the terminal device can be a computer, a camera, a mobile phone, a camera, etc., and the hardware can improve the encoding efficiency through the high performance of the terminal device.

[0085] The packaging module is configured to perform packaging processing on the multiple videos or audio and video through a streaming media packaging protocol, and mix them into one video stream; the multiple videos can be packaged through the streaming media packaging protocol, or the multiple audio and video can be packaged together and shared one transmission, so as to realize multiplexing through the packaging processing and facilitate the video stream transmission.

[0086] The first transmission module is configured to send the packaged one video stream to a streaming media service unit of a transmission device where the terminal device is located through a network transmission protocol.

[0087] In an optional embodiment of the present disclosure, as shown in Figure 4 The streaming media service unit includes:

[0088] The role listening module is configured to listen to information sent by a role waiting to establish a network link with the streaming media service unit when there is no role establishing a network link with the streaming media service unit; the information of the role waiting to link is listened to.

[0089] The role management module is configured to analyze the listened information and determine the role source of the information; the role source of the information can be a push unit or a pull unit, and the role of the information source is determined by analyzing the listened information.

[0090] The distribution module is configured to make the push unit distribute the video stream when the information is from the push unit, make the push unit establish a network link with the streaming media service unit through a first network channel, receive the video stream pushed by the push unit through the first network channel and cache the video stream in the ring buffer management module; the distribution module corresponds to the push unit.

[0091] The subscription module is configured to make the pull unit subscribe to the video stream when the information is from the pull unit, make the streaming media service unit establish a network link with the pull unit through a second network channel, and pull the video stream from the ring buffer management module; the subscription module corresponds to the pull unit.

[0092] The ring buffer management module is configured to allocate a ring buffer based on a stream identifier of the video stream, associate the ring buffer with the stream identifier, cache the video stream pushed by the push stream unit corresponding to the stream identifier, and pull the video stream by the pull stream unit corresponding to the stream identifier; each stream identifier is associated with one push stream unit and at least one pull stream unit, one push stream unit can correspond to multiple pull stream units, so that the multiple pull stream units pull the video stream from the same stream media service unit, and each stream identifier is associated with one ring buffer, and the stream identifier corresponds to the ring buffer in one-to-one manner;

[0093] The idle role detection and management module is configured to close the push stream unit and release the ring buffer resource if no pull stream unit or second network channel is detected. If the pull stream unit ends the stream transmission or is abnormal, the pull stream unit cannot be detected, or the pull stream unit does not establish a network channel with the stream media service unit, and the push stream unit that has established the network channel with the stream media service unit is in an idle state, the push stream unit is closed, and the ring buffer resource is recycled to avoid resource waste.

[0094] In an optional embodiment of the present disclosure, the idle role detection and management module is further configured to close the push stream unit and the pull stream unit and release the ring buffer resource if it is detected that no video stream is transmitted in the first network channel and the second network channel. If the push stream unit and the pull stream unit have both established the network channel with the stream media service unit, and no data is transmitted in the two network channels, and the two network channels are both in an idle state, the push stream unit and the pull stream unit are closed, and the ring buffer resource is recycled to avoid resource waste.

[0095] In an optional embodiment of the present disclosure, as shown in Figure 5 The pull stream unit comprises:

[0096] The second transmission module is configured to receive the video stream transmitted by the stream media service unit through the stream media transmission protocol; the video stream received from the stream media service unit is a mixed video stream, and the mixed video stream can include multiple videos or multiple videos and audios;

[0097] The unpacking module is configured to parse each stream data from the mixed video stream;

[0098] Specifically, the stream data includes a video stream and / or an audio stream; the stream data can be a video stream or an audio stream;

[0099] The decoding module is configured to decode each stream data parsed out into a frame by using hardware; decoding each stream data by using hardware can not only accelerate the decoding speed, but also reduce memory copying by direct memory access, reduce the copying process between memory and CPU, realize accelerated rendering, and improve data transmission efficiency;

[0100] The second frame processing module is configured to perform frame scaling and rotation processing after decoding is completed.

[0101] The decentralized video streaming device provided by the present disclosure is installed on each hardware terminal device, a push streaming unit of one transmission device pushes a video stream into a streaming media service unit of the transmission device, and a pull streaming unit of all other transmission devices in the local area network can pull the video stream from the streaming media service unit, so that multiple pull streaming units can pull the video stream from one streaming media service unit.

[0102] The rendering module is configured to display the processed YUV data to a screen.

[0103] From the above description, it can be seen that the present disclosure achieves the following technical effects:

[0104] The present disclosure allocates the transmission video stream and other work of the traditional central server to the decentralized video streaming device on each terminal device to perform, and does not need to additionally and separately build a central server or other central device in the Internet, thereby canceling the central server, and solving the problem that the central server bears a large pressure in the traditional video stream technology.

[0105] The multiple videos can be encapsulated by the streaming media encapsulation protocol, and the multiple audio and video can be encapsulated together, share one transmission, and realize multiplexing by performing encapsulation processing, thereby facilitating video stream transmission.

[0106] Although the embodiments of the present disclosure are described in combination with the drawings, various modifications and variations can be made by those skilled in the art without departing from the spirit and scope of the present disclosure, and such modifications and variations all fall within the scope defined by the appended claims.

Claims

1. A decentralized video streaming device, characterized in that, include: The push streaming unit is used to acquire and compress video streams, automatically generate Uniform Resource Locators (URIs) based on pre-configured port numbers and video stream identifiers, send the URIs to pull streaming units of other transmission devices through signaling channels, and push the video streams to the streaming media service unit of its own transmission device through the first network channel. Other transmission devices are transmission devices other than its own transmission device. A streaming media service unit is used to monitor the role transmitting video streams, allocate a circular buffer based on the stream identifier of the video stream transmitted by the role, buffer the video stream pushed by the push unit corresponding to the stream identifier, and control the pull unit corresponding to the stream identifier to pull the video stream from the circular buffer. The role is a push unit or a pull unit, and the circular buffer corresponds one-to-one with the stream identifier. The streaming unit is used to retrieve and decompress video streams from streaming media service units of other transmission devices via a second network channel, based on the stream identifier carried by the Uniform Resource Locator, and display them on the screen.

2. The decentralized video streaming apparatus of claim 1, wherein, The drawing unit is also used for: The system sends query signals to the streaming units of other transmission devices through the signaling channel to query the streaming information supported by the streaming unit. Receive streaming information supported by the streaming unit, select the streaming information you need from it, and send the streaming information you need to the streaming unit by setting signaling. The system receives a first confirmation instruction from the push streaming unit for the required stream information from the pull streaming unit and the Uniform Resource Locator (URL), and sends a start stream transmission instruction to the push streaming unit, wherein the URL carries a stream identifier. The system receives a second confirmation instruction from the streaming unit to start streaming transmission, and based on the stream identifier, pulls the video stream corresponding to the stream identifier from the streaming media service unit, which is in the same transmission device as the streaming unit, through the second network channel; When the video stream is finished being pulled, a command to end the stream transmission is sent to the streaming unit through the signaling channel; Receive the third confirmation instruction from the push streaming unit to end the streaming transmission, disconnect the streaming transmission from the streaming media service unit, close the pull streaming unit, and release resources.

3. The decentralized video streaming apparatus of claim 2, wherein, The supported streaming information refers to the streaming media formats that are supported for transmission, including any one or more of the following: resolution, encoding format, color format, frame rate, and audio.

4. The decentralized video streaming apparatus of claim 1, wherein, The propulsion unit is also used for: In response to query signaling sent by the streaming units of other transmission devices, the system feeds back the streaming information it supports to the streaming unit through the signaling channel; Receive the setting signaling sent by the streaming unit, set the stream information required by the streaming unit, initialize the transmission module in the streaming unit, and send the first confirmation instruction for the required stream information and the Uniform Resource Locator to the streaming unit. In response to the start streaming transmission signal sent by the streaming unit, the system sends a second confirmation instruction to the streaming unit to start streaming transmission, and starts the transmission module to push the video stream corresponding to the Uniform Resource Locator to the streaming media service unit of the transmission device it is in through the first network channel. Receive the end-of-stream transmission command sent by the streaming unit, send a third confirmation command to the streaming unit to end the stream transmission, disconnect the stream transmission from the streaming media service unit, shut down the streaming unit, and release resources.

5. The decentralized video streaming apparatus of claim 1, wherein, The push streaming unit comprises: The acquisition module is configured to acquire a video frame of the internal camera using a light sensor, the video frame comprising YUV data; The first frame processing module is configured to perform scaling, rotation and format conversion processing on the acquired YUV data; The encoding module is configured to compress and encode the processed YUV data using hardware; The packaging module is configured to perform packaging processing on the multiple video or audio-video streams using a streaming media packaging protocol, and mix the multiple video or audio-video streams into one video stream; The first transmission module is configured to send the packaged one video stream to a streaming media service unit of a transmission device in which the first transmission module is located via a network transmission protocol.

6. The decentralized video streaming apparatus of claim 5, wherein, The hardware belongs to a terminal device.

7. The decentralized video streaming apparatus of claim 1, wherein, The streaming media service unit comprises: The role listening module is configured to listen to information sent by a role waiting to establish a network link with the streaming media service unit when no role establishes a network link with the streaming media service unit; The role management module is configured to analyze the listened information and determine a role source of the information; The distribution module is configured to, when the information is from the push streaming unit, cause the push streaming unit to distribute the video stream, cause the push streaming unit to establish a network link with the streaming media service unit via the first network channel, receive the video stream pushed by the push streaming unit via the first network channel and cache the video stream in the ring buffer management module; The subscription module is configured to, when the information is from the pull streaming unit, cause the pull streaming unit to subscribe to the video stream, cause the streaming media service unit to establish a network link with the pull streaming unit via the second network channel, and pull the video stream from the ring buffer management module; The ring buffer management module is configured to allocate a ring buffer based on a stream identifier of the video stream, associate the ring buffer with the stream identifier, cache the video stream pushed by the push streaming unit corresponding to the stream identifier, and pull the video stream by the pull streaming unit corresponding to the stream identifier; The idle role detection and management module is configured to, if no pull streaming unit or second network channel is detected, close the push streaming unit and release ring buffer resources.

8. The decentralized video streaming apparatus of claim 7, wherein, The idle role detection and management module is further configured to, if no video stream is detected in the first network channel and the second network channel, close the push streaming unit and the pull streaming unit, and release ring buffer resources.

9. The decentralized video streaming apparatus of claim 1, wherein, The pull streaming unit comprises: The second transmission module is configured to receive the video stream transmitted by the streaming media service unit via a streaming media transmission protocol; The unpackaging module is configured to parse each stream data from the mixed one video stream; The decoding module is configured to decode each parsed stream data using hardware to obtain a frame; The second frame processing module is configured to perform frame scaling and rotation processing after decoding is completed; The rendering module is configured to display the obtained YUV data to a screen.

10. The decentralized video streaming apparatus of claim 9, wherein, The stream data comprises a video stream and / or an audio stream.

Citation Information

Patent Citations

  • Method for downloading video, video server, and monitoring center system

    CN101094389A

  • Data transmission method and device, electronic equipment and computer readable storage medium

    CN117640638A

  • Video management method and system based on lockless shared annular cache queue

    CN118042182A

  • Live broadcast streaming media UDP transmission control system and method based on PCDN

    CN120499407A