Decentralized video streaming apparatus
Patent Information
- Application Number
- CN202511347284.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-19
- Publication Date
- 2026-09-29
- Estimated Expiration
- 2045-09-19
AI Technical Summary
[0004]本公开的主要目的在于提供一种去中心化视频流传输装置,以解决传统视频流技术中的中心服务器承担的压力较大的问题
[0044]在本公开实施例提供的去中心化视频流传输装置中包括推流单元、流媒体服务单元和拉流单元,将传统中心服务器的传输视频流等工作分配给每个终端设备上的去中心化视频流传输装置去执行,从而取消中心服务器,解决了传统视频流技术中的中心服务器承担的压力较大的问题。
Smart Images

Figure CN121397261B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of data transmission technology, specifically to a decentralized video streaming device. Background Technology
[0002] With the development of internet technology, real-time video transmission has been greatly improved, and video streaming is ubiquitous in daily life and work. Traditional video streaming technology mainly involves setting up a central server on the internet, using this central server as the main interaction hub. Terminals in various parts of the internet push or pull streams to this central server, resulting in a large load on the central server.
[0003] There is currently no effective technical solution to the problem of the heavy load on the central server in traditional video streaming technology. Summary of the Invention
[0004] The main purpose of this disclosure is to provide a decentralized video streaming device to solve the problem of the heavy load on the central server in traditional video streaming technology.
[0005] To achieve the above objectives, this disclosure provides a decentralized video streaming device, comprising:
[0006] The push streaming unit is used to acquire and compress video streams. It automatically generates a Uniform Resource Locator (URI) based on the pre-configured port number and the stream identifier of the video stream. It sends the URI to the pull streaming unit of other transmission devices through the signaling channel and pushes the video stream 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.
[0007] The streaming media service unit is used to monitor the role of transmitting video streams. It allocates a circular buffer based on the stream identifier of the video stream transmitted by the role, buffers the video stream pushed by the push unit corresponding to the stream identifier, and controls the pull unit corresponding to the stream identifier to pull the video stream from the circular buffer. Here, the role is either a push unit or a pull unit, and the circular buffer corresponds one-to-one with the stream identifier.
[0008] 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.
[0009] Optionally, the pull-flow unit is also used for:
[0010] 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.
[0011] Receive streaming information supported by the streaming unit, select the streaming information you need, and send the streaming information you need to the streaming unit by setting signaling.
[0012] The system receives the first confirmation instruction and Uniform Resource Locator (URL) from the push streaming unit for the required stream information from the pull streaming unit, and sends a start stream transmission instruction to the push streaming unit, wherein the URL carries a stream identifier.
[0013] Receive the second confirmation instruction from the streaming unit to start streaming transmission, and based on the stream identifier, pull the video stream corresponding to the stream identifier from the streaming media service unit that is in the same transmission device as the streaming unit through the second network channel;
[0014] When the video stream is finished being pulled, a command to end the stream transmission is sent to the streaming unit via the signaling channel;
[0015] 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.
[0016] Furthermore, the supported streaming information includes the streaming media formats supported for transmission, including any one or more of the following: resolution, encoding format, color format, frame rate, and audio.
[0017] Optionally, the push unit is also used for:
[0018] 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;
[0019] Receive the setting signaling sent by the streaming unit, set the streaming information required by the streaming unit, initialize the transmission module in the streaming unit, and send the first confirmation instruction and Uniform Resource Locator to the streaming unit for the required streaming information.
[0020] 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.
[0021] Receive the end-of-stream transmission command sent by the pull-stream unit, send a third confirmation command to the pull-stream unit to confirm the end of the stream transmission, disconnect the stream transmission from the streaming media service unit, shut down the push-stream unit, and release resources.
[0022] Optionally, the streaming unit includes:
[0023] The acquisition module is used to acquire video frames from the internal camera using a light sensor. The video frames include YUV data.
[0024] The first frame processing module is used to perform scaling, rotation, and format conversion processing on the acquired YUV data;
[0025] The encoding module is used to compress and encode the processed YUV data using hardware.
[0026] The encapsulation module is used to encapsulate multiple video or audio / video streams into a single video stream using a streaming media encapsulation protocol.
[0027] The first transmission module is used to send the encapsulated video stream to the streaming media service unit of its own transmission device via a network transmission protocol.
[0028] Furthermore, hardware belongs to terminal devices.
[0029] Optionally, the streaming media service unit includes:
[0030] The role listening module is used to listen for information sent by roles that are waiting to establish a network connection with the streaming media service unit when no role has established a network connection with the streaming media service unit.
[0031] The role management module is used to parse the monitored information and determine the role source of the information.
[0032] The distribution module is used to enable the streaming unit to distribute video streams when information comes from the streaming unit, establish a network link between the streaming unit and the streaming media service unit through the first network channel, and receive the video stream pushed by the streaming unit through the first network channel and cache it in the ring buffer management module.
[0033] The subscription module is used to enable the streaming unit to subscribe to the video stream when the information comes from the streaming unit. It establishes a network link between the streaming media service unit and the streaming unit through the second network channel and pulls the video stream from the ring buffer management module.
[0034] The ring buffer management module is used to allocate ring buffers based on the stream identifier of the video stream, associate the ring buffer with the stream identifier, buffer 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 used to shut down the push stream unit and release ring buffer resources if no pull stream unit or second network channel is detected.
[0036] Furthermore, the idle role detection and management module is also used to shut down the push and pull units and release the ring buffer resources if it is detected that no video stream is being transmitted in either the first or second network channel.
[0037] Optionally, the pull-flow unit includes:
[0038] The second transmission module is used to receive video streams transmitted by the streaming media service unit via the streaming media transmission protocol;
[0039] The decapsulation module is used to extract each stream of data from a mixed video stream.
[0040] The decoding module is used to decode each stream of data into frames using hardware.
[0041] The second frame processing module is used to perform frame scaling and rotation processing after decoding is completed;
[0042] The rendering module is used to display the processed YUV data on the screen.
[0043] Furthermore, streaming data includes video streams and / or audio streams.
[0044] The decentralized video streaming device provided in this embodiment includes a push streaming unit, a streaming media service unit, and a pull streaming unit. It distributes the tasks of transmitting video streams, which are traditionally handled by a central server, to the decentralized video streaming devices on each terminal device, thereby eliminating the need for a central server and solving the problem of the heavy load on the central server in traditional video streaming technology. Attached Figure Description
[0045] To more clearly illustrate the technical solutions in the specific embodiments or related technologies of this disclosure, the accompanying drawings used in the description of the specific embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0046] Figure 1 A block diagram of a decentralized video streaming device provided in the embodiments of this disclosure;
[0047] Figure 2 A timing diagram of video stream transmission provided in embodiments of this disclosure;
[0048] Figure 3 A schematic diagram of a streaming unit provided in an embodiment of this disclosure;
[0049] Figure 4 A schematic diagram of a streaming media service unit provided in an embodiment of this disclosure;
[0050] Figure 5 This is a schematic diagram of a drawing unit provided in an embodiment of this disclosure. Detailed Implementation
[0051] To enable those skilled in the art to better understand the present disclosure, the technical solutions of the present disclosure will be clearly and completely described below with reference to the accompanying drawings of the embodiments. Obviously, the described embodiments are only some embodiments of the present disclosure, and not all embodiments. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present disclosure.
[0052] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate for the embodiments of this disclosure described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0053] It should be noted that, unless otherwise specified, the embodiments and features described in this disclosure can be combined with each other. This disclosure will now be described in detail with reference to the accompanying drawings and embodiments.
[0054] With the development of internet technology, real-time video transmission has been greatly improved, and video streaming is ubiquitous in daily life and work. Traditional video streaming technology mainly involves setting up a central server on the internet, using this central server as the main interaction hub. Terminals in various parts of the internet push or pull streams to this central server, resulting in a large load on the central server.
[0055] To address the aforementioned problems, this disclosure provides a decentralized video streaming device that operates on a terminal device, such as... Figure 1 As shown, the transmission device includes:
[0056] The push unit is used to acquire and compress video streams. It automatically generates a Uniform Resource Locator (URL) based on a pre-configured port number and the video stream's stream identifier. The URL is then sent to the pull unit of other transmission devices via a signaling channel. The push unit also pushes the video stream to the streaming media service unit of its own transmission device via a first network channel. Other transmission devices are those other than the push unit itself. The push and pull units transmit signaling through the signaling channel. The push unit pushes the video stream via the first network channel. The stream identifier (streamid) is used to identify different streams or sessions. The push unit pre-configures the port number and video stream, generates a URL, and sends the URL to the pull unit of other transmission devices. The stream identifier carried in the URL can associate the push and pull units of the video stream to be transmitted.
[0057] The streaming media service unit is used to monitor the role of transmitting video streams. It allocates a circular buffer based on the stream identifier of the video stream transmitted by the role, buffers the video stream pushed by the push unit corresponding to the stream identifier, and controls the pull unit corresponding to the stream identifier to pull the video stream from the circular buffer. Here, the role is either a push unit or a pull unit, and the circular buffer corresponds one-to-one with the stream identifier.
[0058] A 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 (URL), and then display them on the screen. The streaming unit retrieves the video stream through the second network channel; one streaming unit of a transmission device can correspond to multiple streaming units of other transmission devices, enabling multiple streaming units to retrieve video streams from a single streaming media service unit of a transmission device.
[0059] The decentralized video streaming device provided in this embodiment is installed on each terminal device, which may be a computer, camera, etc. Each streaming device includes a pushing unit, a streaming media service unit, and a pulling unit. The pushing unit of a streaming device pushes the video stream to the streaming media service unit of its own streaming device. The pulling units of all other streaming devices in the local area network can pull the video stream from the streaming media service unit, thereby enabling multiple pulling units to pull the video stream from a single streaming media service unit.
[0060] This embodiment of the disclosure distributes the tasks of transmitting video streams, which are traditionally handled by a central server, to a decentralized video stream transmission device on each terminal device. This eliminates the need to build a separate central server or other central device on the Internet, thereby eliminating the need for a central server and solving the problem of the central server bearing too much pressure in traditional video streaming technology.
[0061] In addition, terminal devices can also be hardware handheld devices such as mobile phones and cameras. Handheld terminal devices are more cost-effective and ubiquitous. Decentralized video streaming devices can not only improve security, but also reduce the economic burden.
[0062] In one optional embodiment of this disclosure, the pull-flow unit is further configured to:
[0063] The streaming unit 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; the streaming unit negotiates media format and other information directly with the streaming units of other transmission devices through signaling.
[0064] Specifically, the supported streaming information includes the supported streaming media formats, such as resolution, encoding format, color format, frame rate, and audio (e.g., whether audio is supported).
[0065] Receive streaming information supported by the streaming unit, select the streaming information you need, and send the streaming information you need to the streaming unit by setting signaling.
[0066] The system receives the first confirmation instruction and Uniform Resource Locator (URL) from the push streaming unit for the required stream information from the pull streaming unit, and sends a start stream transmission instruction to the push streaming unit, wherein the URL carries a stream identifier.
[0067] Receive the second confirmation instruction from the streaming unit to start streaming transmission, and based on the stream identifier, pull the video stream corresponding to the stream identifier from the streaming media service unit that is in the same transmission device as the streaming unit through the second network channel;
[0068] When the video stream is finished being pulled, a command to end the stream transmission is sent to the streaming unit via the signaling channel;
[0069] 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.
[0070] In one optional embodiment of this disclosure, the streaming unit is further configured to:
[0071] 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;
[0072] Receive the setting signaling sent by the streaming unit, set the streaming information required by the streaming unit, initialize the transmission module in the streaming unit, and send the first confirmation instruction and Uniform Resource Locator to the streaming unit for the required streaming information.
[0073] 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.
[0074] Receive the end-of-stream transmission command sent by the pull-stream unit, send a third confirmation command to the pull-stream unit to confirm the end of the stream transmission, disconnect the stream transmission from the streaming media service unit, shut down the push-stream unit, and release resources.
[0075] The following is combined with Figure 2 The timing diagram shown illustrates the working principle of the decentralized video streaming device.
[0076] Figure 2 It includes a streaming unit on one terminal device and a streaming push unit and streaming media service unit on another terminal device. The video stream retrieval signaling runs through the entire video stream transmission process, ensuring that each transmission device works in an orderly manner. The specific signaling is shown in Table 1 below:
[0077] Table 1
[0078]
[0079] Figure 2 In the process, the pull unit first initiates an information query through a query signaling, and the push unit returns the stream information it supports (ACK). After receiving the stream information, the pull unit selects the stream information it needs or the stream information it also supports, and then sends it to the push unit through a setting signaling. After receiving the setting signaling, the push unit returns OK, sets the stream information, and initializes the corresponding module. The pull unit initiates playback through a start stream transmission signaling, the push unit starts playback and returns OK, and then transmits the stream data to the streaming media service unit. The pull unit starts pulling the stream from the streaming media service unit. When the pull ends, the pull unit sends a stop stream transmission signaling, the push unit returns OK after receiving the stop stream transmission signaling, and both the push and pull units disconnect from the streaming media service unit and release resources.
[0080] In one optional embodiment of this disclosure, such as Figure 3 As shown, the jet propulsion unit includes:
[0081] The acquisition module is used to acquire video frames from the internal camera using a light sensor. The video frames include YUV data; YUV is a pixel format that represents luminance and chrominance separately.
[0082] The first frame processing module is used to perform scaling, rotation, and format conversion processing on the acquired YUV data;
[0083] The encoding module is used to compress and encode the processed YUV data using hardware.
[0084] Specifically, hardware belongs to terminal devices; terminal devices can be computers, cameras, mobile phones, cameras, etc. By leveraging the high performance of terminal devices, hardware can improve coding efficiency.
[0085] The encapsulation module is used to encapsulate multiple video or audio / video streams into a single video stream using a streaming media encapsulation protocol. The streaming media encapsulation protocol can encapsulate multiple video streams or multiple audio and video streams together for transmission on a single stream. Multiplexing is achieved through encapsulation processing, which facilitates video stream transmission.
[0086] The first transmission module is used to send the encapsulated video stream to the streaming media service unit of its own transmission device via a network transmission protocol.
[0087] In one optional embodiment of this disclosure, such as Figure 4 As shown, the streaming media service unit includes:
[0088] The role listening module is used to listen for information sent by roles waiting to establish a network connection with the streaming media service unit when no role has established a network connection with the streaming media service unit; and to listen for information from roles waiting to be connected.
[0089] The role management module is used to parse the monitored information and determine the role source of the information. The role source of the information can be a push streaming unit or a pull streaming unit. By parsing the monitored information, the role from which the information originates can be determined.
[0090] The distribution module is used to enable the streaming unit to distribute the video stream when the information comes from the streaming unit. It establishes a network link between the streaming unit and the streaming media service unit through the first network channel, and receives the video stream pushed by the streaming unit through the first network channel and caches it in the ring buffer management module. The distribution module corresponds to the streaming unit.
[0091] The subscription module is used to enable the streaming unit to subscribe to the video stream when the information originates from the streaming unit. It establishes a network link between the streaming media service unit and the streaming unit through the second network channel and pulls the video stream from the ring buffer management module. The subscription module corresponds to the streaming unit.
[0092] The ring buffer management module is used to allocate ring buffers based on the stream identifiers of video streams, associate the ring buffers with the stream identifiers, cache the video streams pushed by the push unit corresponding to the stream identifier, and pull the video streams by the pull unit corresponding to the stream identifier. Each stream identifier is associated with one push unit and at least one pull unit. One push unit can correspond to multiple pull units, so that multiple pull units can pull video streams from the same streaming media service unit. In addition, each stream identifier is associated with a ring buffer, and there is a one-to-one correspondence between stream identifiers and ring buffers.
[0093] The idle role detection and management module is used to shut down the push streaming unit and release the ring buffer resources if no pull streaming unit or second network channel is detected. If the pull streaming unit ends its stream transmission or there is an anomaly, and no pull streaming unit is detected, or the pull streaming unit has not established a network path with the streaming media service unit, and the push streaming unit that has established a network path with the streaming media service unit is in an idle state, then the push streaming unit is shut down and the ring buffer resources are reclaimed to avoid resource waste.
[0094] In one optional embodiment of this disclosure, the idle role detection and management module is further configured to shut down the push streaming unit and the pull streaming unit and release the ring buffer resources if it is detected that no video stream is being transmitted in either the first network channel or the second network channel. If both the push streaming unit and the pull streaming unit have established network paths with the streaming media service unit, and no data is being transmitted in either network path, and both network paths are in an idle state, then the push streaming unit and the pull streaming unit are shut down, and the ring buffer resources are reclaimed to avoid resource waste.
[0095] In one optional embodiment of this disclosure, such as Figure 5 As shown, the drawing unit includes:
[0096] The second transmission module is used to receive video streams transmitted by the streaming media service unit through the streaming media transmission protocol; what is received from the streaming media service unit is a mixed video stream, which may include multiple video streams, or multiple video streams and audio streams.
[0097] The decapsulation module is used to extract each stream of data from a mixed video stream.
[0098] Specifically, streaming data includes video streams and / or audio streams; streaming data can be either video or audio streams.
[0099] The decoding module is used to decode each stream of data into frames using hardware. Decoding each stream of data using hardware not only speeds up the decoding process but also reduces memory copying through direct memory access, thereby reducing the data copying process between memory and CPU, accelerating rendering, and improving data transfer efficiency.
[0100] The second frame processing module is used to perform frame scaling and rotation processing after decoding is completed;
[0101] The decentralized video streaming device provided in this disclosure is installed on various hardware terminal devices. The pushing unit of a streaming device pushes the video stream to the streaming media service unit of the streaming device it is located in. All other streaming units in the local area network can pull the video stream from the streaming media service unit, so that multiple streaming units can pull the video stream from one streaming media service unit.
[0102] The rendering module is used to display the processed YUV data on the screen.
[0103] As can be seen from the above description, this disclosure achieves the following technical effects:
[0104] This disclosure distributes the tasks of transmitting video streams, which are traditionally handled by a central server, to a decentralized video stream transmission device on each terminal device. This eliminates the need to build a separate central server or other central device on the Internet, thereby eliminating the central server and solving the problem of the central server bearing too much pressure in traditional video streaming technology.
[0105] Streaming media encapsulation protocols can encapsulate multiple video streams, or encapsulate multiple audio and video streams together and transmit them through a single stream. Multiplexing is achieved by performing encapsulation processing, which facilitates video stream transmission.
[0106] Although embodiments of the present disclosure have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations 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, Installed on each terminal device, running on the terminal device, including: The push unit is used to acquire and compress video streams. It automatically generates a Uniform Resource Locator (URI) based on the pre-configured port number and the stream identifier of the video stream. The URI is then sent to the pull unit of other transmission devices through a signaling channel. The video stream is pushed to the streaming media service unit of its own transmission device through a first network channel. Other transmission devices are transmission devices other than the transmission device it is located in. The stream identifier is used to identify different streams or sessions and associates the push unit and pull unit of the video stream to be transmitted. 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 pull video streams from streaming media service units of other transmission devices and decompress them for display on the screen, based on the stream identifier carried by the Uniform Resource Locator (URL). The streaming media service unit includes: The role listening module is used to listen for information sent by roles that are waiting to establish a network connection with the streaming media service unit when no role has established a network connection with the streaming media service unit. The role management module is used to parse the monitored information and determine the role source of the information; the role source of the information is either the push streaming unit or the pull streaming unit. The distribution module is used to enable the streaming unit to distribute the video stream when the information originates from the streaming unit. It establishes a network link between the streaming unit and the streaming media service unit through the first network channel, and receives the video stream pushed by the streaming unit through the first network channel and caches it in the ring buffer management module. The distribution module corresponds to the streaming unit. The subscription module is used to enable the streaming unit to subscribe to the video stream when the information originates from the streaming unit. It establishes a network link between the streaming media service unit and the streaming unit through the second network channel and pulls the video stream from the ring buffer management module. The subscription module corresponds to the streaming unit. The ring buffer management module is used to allocate ring buffers based on the stream identifiers of video streams, associate the ring buffers with the stream identifiers, cache the video streams pushed by the push unit corresponding to the stream identifier, and pull the video streams by the pull unit corresponding to the stream identifier; each stream identifier is associated with one push unit and at least one pull unit, and one push unit corresponds to multiple pull units, so that multiple pull units pull video streams from the same streaming media service unit, and each stream identifier is associated with one ring buffer, with a one-to-one correspondence between stream identifiers and ring buffers; The idle role detection and management module is used to shut down the push stream unit and release the ring buffer resources if no pull stream unit or second network channel is detected. The idle role detection and management module is further configured to shut down the push stream unit and pull stream unit and release the ring buffer resources if it is detected that no video stream is being transmitted in either the first network channel or the second network channel.
2. The decentralized video stream transmission device according to claim 1, characterized in that, 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 stream transmission device according to claim 2, characterized in that, 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 stream transmission device according to claim 1, characterized in that, 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 pull-stream unit, send a third confirmation command to the pull-stream unit to confirm the end of the stream transmission, disconnect the stream transmission from the streaming media service unit, shut down the push-stream unit, and release resources.
5. The decentralized video stream transmission device according to claim 1, characterized in that, The push-flow unit includes: The acquisition module is used to acquire video frames from the internal camera using a light sensor, the video frames including YUV data; The first frame processing module is used to perform scaling, rotation, and format conversion processing on the acquired YUV data; The encoding module is used to compress and encode the processed YUV data using hardware. The encapsulation module is used to encapsulate multiple video or audio / video streams into a single video stream using a streaming media encapsulation protocol. The first transmission module is used to send the encapsulated video stream to the streaming media service unit of its own transmission device via a network transmission protocol.
6. The decentralized video stream transmission device according to claim 5, characterized in that, The hardware in question is a terminal device.
7. The decentralized video stream transmission device according to claim 1, characterized in that, The drawing unit includes: The second transmission module is used to receive the video stream transmitted by the streaming media service unit via a streaming media transmission protocol; The decapsulation module is used to extract each stream of data from a mixed video stream. The decoding module is used to decode each stream of data into frames using hardware. The second frame processing module is used to perform frame scaling and rotation processing after decoding is completed; The rendering module is used to display the processed YUV data on the screen.
8. The decentralized video streaming device according to claim 7, characterized in that, The streaming data includes video streams and / or audio streams.
Citation Information
Patent Citations
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