Localized deployment pull flow pushing method and device
By localizing the deployment on the server side within the LAN, the problems of low efficiency and insufficient stability in LAN video signal processing are solved, efficient and stable video data transmission and distribution are achieved, adapting to multi-platform requirements, and enhancing data security and system scalability.
Patent Information
- Application Number
- CN202510737293.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-04
- Publication Date
- 2025-09-19
AI Technical Summary
Existing technologies lack effective video streaming solutions in local area network environments, resulting in low efficiency and insufficient stability in video signal processing, making it difficult to achieve efficient sharing and utilization of video resources.
By localizing the deployment on the server side within the local area network, sending acquisition requests to the video source, receiving and decoding video stream data, temporarily storing and streaming it, and distributing data according to the target communication protocol, it supports video transcoding, protocol conversion and other processing to ensure the integrity and adaptability of video data.
It improves the efficiency and stability of video streaming and retweeting within the local area network, reduces dependence on external services, enhances data security and system scalability, meets the viewing needs of multiple platforms, and improves the efficiency and security of video signal usage.
Smart Images

Figure CN120676208A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of video processing technology, and more specifically, relates to a locally deployed streaming pull and push method and device. Background Art
[0002] With the rapid development of internet technology, video has become an indispensable part of our daily lives. Both push and pull streaming technologies play a crucial role in video streaming, each serving different application scenarios. Pull streaming, in which the client actively requests video data from the server, is commonly used in real-time video playback, on-demand services, and some live streaming platforms, particularly for scenarios requiring on-demand video data. Push streaming, on the other hand, involves the server actively pushing video data to the client. It is commonly used in live and real-time video transmission scenarios, such as live streaming platforms, remote conferencing, and online education.
[0003] Existing video streaming and forwarding technologies primarily rely on internet resources, pulling and pushing content through online servers. This approach is widely used in live video streaming. However, existing technologies lack effective solutions for streaming and forwarding content within local area networks (LANs). This makes efficient and stable video signal pulling and forwarding difficult in scenarios requiring local deployment, such as corporate intranets and school networks, limiting the sharing and utilization of video resources within the LAN. Summary of the Invention
[0004] In response to the defects of the existing technology, the purpose of this application is to provide a locally deployed streaming and retweeting method and device, aiming to solve the problems of low efficiency and insufficient stability of video streaming and retweeting processing within a local area network in the existing technology.
[0005] To achieve the above objectives, in a first aspect, the present application provides a locally deployed pull-stream-pushing and forwarding method, which is applied to a server side of a locally deployed local area network, wherein the local area network also includes a video source side and a target client side, and the method comprises: Sending an acquisition request to the video source, wherein the acquisition request is used to obtain video stream data; Receiving video stream data sent by the video source through the target communication protocol; Performing stream pulling and forwarding processing on the video stream data to obtain decoded original video data as data to be forwarded, and temporarily storing the original video data; Outputting the data to be forwarded through push streaming based on a push streaming protocol; The data to be retweeted is distributed to other servers or target clients based on the target communication protocol.
[0006] Optionally, the stream pulling and forwarding process includes video decoding process; The video decoding process specifically includes: Decapsulating the video stream data to extract coded video frames; The encoded video frame is decoded by a decoder to generate original video data corresponding to the encoded video frame.
[0007] Optionally, the pull-stream and push-forward processing process further includes video transcoding, video protocol conversion, resolution adjustment, audio and video synchronization, and frame rate adjustment; The process of pulling and pushing specifically includes: Receiving a first input from a target client, where the first input is a video transcoding operation; Transcoding the original video data in response to the user input to obtain transcoded videos of different formats and / or different qualities; receiving a second input from a target client, wherein the second input is a video media processing operation; In response to the second input, the original video data is subjected to resolution adjustment, video synchronization processing, and frame rate adjustment.
[0008] Optionally, the process of video protocol conversion specifically includes: Determine the communication protocol of the target platform and convert the original protocol of the original video data to be consistent with the usage protocol of the target platform.
[0009] Optionally, it also includes: Temporarily storing the original video data, and setting a storage time and storage duration for the temporarily stored original video data; Pulling and forwarding the video data in sequence according to the order of storage time to ensure the integrity of video transmission; The temporarily stored original video data is periodically overwritten and updated based on the storage duration.
[0010] Optionally, it also includes: When the streaming transmission process of the original video data is interrupted, extract the interrupted video data; The interrupted video data is re-pull-streamed and re-pushed.
[0011] In a second aspect, the present application provides a locally deployed stream pulling and forwarding device, which is applied to a server side of a locally deployed local area network, comprising: A request module is used to send an acquisition request to the video source end, wherein the acquisition request is used to obtain video stream data; A video receiving module is used to receive video stream data sent by the video source through the target communication protocol; A stream pulling and forwarding processing module is used to perform stream pulling and forwarding processing on the video stream data to obtain decoded original video data as data to be forwarded; A storage module, used for temporarily storing the original video data; A streaming module, configured to stream and output the data to be forwarded based on a streaming protocol; A distribution module is used to distribute the data to be retweeted to other servers or target clients based on the target communication protocol.
[0012] Optionally, it also includes: a control module for controlling video requests on the video source, decoding operations on the acquired video stream data, temporary storage of the decoded original video data, and stream pulling and pushing processing on the temporarily stored original video data.
[0013] In a third aspect, the present application provides an electronic device comprising: at least one memory for storing programs; and at least one processor for executing the programs stored in the memory. When the program stored in the memory is executed, the processor is used to execute the method described in the first aspect or any possible implementation of the first aspect.
[0014] In a fourth aspect, the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the method described in the first aspect or any possible implementation of the first aspect.
[0015] In a fifth aspect, the present application provides a computer program product, which, when executed on a processor, enables the processor to execute the method described in the first aspect or any possible implementation of the first aspect.
[0016] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here.
[0017] In general, the above technical solutions conceived by this application have the following beneficial effects compared with the existing technologies: (1) This application obtains video stream data by sending an acquisition request from the server to the video source. The video source sends data to the server based on the target communication protocol, ensuring the timeliness and accuracy of data acquisition. The server performs stream pulling and forwarding processing on the video stream data to obtain the decoded original video data, which optimizes the data processing flow, reduces the intermediate links, and improves the processing efficiency. The server pushes the data to be forwarded based on the push protocol and distributes the data to be forwarded to other servers or target clients. Through a flexible distribution mechanism, efficient data transmission can be carried out according to different network environments and terminal requirements, effectively avoiding data congestion and transmission delays, and improving the efficiency and stability of video stream pulling and forwarding processing in the local area network.
[0018] (2) This application integrates video stream processing, transmission, storage and other functions into local hardware and software facilities through local deployment, without relying on cloud platforms or third-party hosting services, thereby improving data security and controllability, reducing dependence on external services, and adapting well to specific business needs such as local area networks and intranets.
[0019] (3) This application realizes the demand for multiple platforms to watch a single video source in a specific environment such as a local area network by deploying a stream pulling and forwarding device locally, thereby improving the efficiency of video signal usage; at the same time, through local deployment, the security and privacy of video data are improved; through the temporary storage module in the local deployment, the transmission speed and quality of video stream data are guaranteed. At the same time, local deployment can better meet various customized needs, improving the scalability and maintainability of the entire system.
[0020] (4) This application solves the problem of video interruption caused by low video transmission bandwidth by adding a storage module to the locally deployed service to temporarily store the decoded raw video data, thereby ensuring the integrity of the video data. By obtaining the video usage requirements of the receiving target end, video processing operations such as transcoding and protocol conversion can be performed on the raw video data, thereby improving the availability of the video data. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 This is one of the flow diagrams of the localized pull-stream-forwarding method provided in the embodiment of the present application; Figure 2 This is the second flow chart of the localized pull-stream-forwarding method provided in the embodiment of the present application; Figure 3 This is a structural diagram of a locally deployed stream pulling and forwarding device provided in an embodiment of the present application; Figure 4 It is a structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0022] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0023] The term "and / or" as used herein describes an association between related objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. The symbol " / " as used herein indicates that the related objects are in an "or" relationship, for example, A / B means either A or B.
[0024] The terms "first" and "second" in this specification and claims are used to distinguish different objects rather than to describe a specific order of objects. For example, "first response message" and "second response message" are used to distinguish different response messages rather than to describe a specific order of response messages.
[0025] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be interpreted as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0026] In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more, for example, multiple processing units means two or more processing units, etc.; multiple elements means two or more elements, etc.
[0027] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application.
[0028] Reference Figure 1 The present application provides a locally deployed pull-stream and repost method, which is applied to a server side of a locally deployed local area network, wherein the local area network also includes a video source side and a target client side. The method includes: S101 sends a request to the video source, the request is used to obtain video stream data; S102 receives the video stream data sent by the video source through the target communication protocol; S103. Perform pull-stream forwarding processing on the video stream data to obtain decoded original video data as data to be forwarded, and temporarily store the original video data; S104. Outputting the data to be forwarded through push streaming based on the push streaming protocol; S105. Distribute the data to be retweeted to other servers or target clients based on the target communication protocol.
[0029] Specifically, it is first necessary to explain that the embodiment of the present application is applied to the server side of a locally deployed local area network, and the video source side and the target client side are also deployed in the local local area network.
[0030] In step S101, the server first establishes a connection with the video source within the same local area network (LAN) and sends a request. Because the server and video source reside on the same LAN, network latency between them is low, resulting in relatively fast data transmission. The request informs the video source that the server needs to obtain the video stream data it is currently transmitting or storing.
[0031] In some optional examples, the request typically includes necessary information, such as an identifier of the video stream, a start time of the request, a duration, etc., so that the video source can accurately locate and provide the required video stream data.
[0032] The source device can be a video server, cloud platform, network camera and other devices.
[0033] In step S102, after sending the acquisition request, the server enters a waiting state, ready to receive video stream data from the video source end in the same local area network. Since they are in the same local area network, the data transmission delay and packet loss rate are relatively low, which is conducive to the server receiving data quickly and stably.
[0034] After receiving the acquisition request, the video source sends the corresponding video stream data to the server via the target communication protocol based on the request content. The target communication protocol includes but is not limited to common transmission protocols such as RTP, UDP, and TCP.
[0035] Furthermore, in step S103, after receiving the video stream data, the server needs to perform stream pulling and forwarding processing. This step involves decoding and repackaging the video stream data. First, the server needs to decode the video stream data using a corresponding decoder based on its encoding format, restoring the encoded data to the original, uncompressed video data.
[0036] After receiving the decoded raw video data, the server temporarily stores it in memory or a temporary storage device as data to be retweeted. This temporary storage facilitates subsequent streaming and distribution operations and prevents video interruptions caused by low bandwidth during media transmission. Caching technology can reduce transmission latency and improve user experience. By caching some data on the server, issues such as video playback freezes caused by network fluctuations can be avoided, ensuring real-time video transmission and high quality.
[0037] Finally, in S104 and S105, after obtaining the decoded raw video data and completing temporary storage, the server needs to push the stream to the target client or other server. In this step, the server supports a variety of commonly used video streaming protocols, including RTMP, RTSP, HLS, and other protocols. The streaming protocol defines the format, sequence, and control mechanism of data transmission, ensuring that the video data can be continuously and stably transmitted to the client in the form of a stream.
[0038] In addition to directly streaming to end users, the server can also distribute the data to be retweeted to other servers or target clients to achieve wider distribution of video content. This distribution can be carried out in a variety of ways, such as sending data to multiple recipients simultaneously through multicast technology, or sending data to a specific server or terminal through point-to-point transmission. Regardless of the method used, the server must comply with the regulations of the target communication protocol to ensure that the data can be correctly received and processed. This target protocol is similar to the protocol used by the server and the video source, and also supports a variety of commonly used media transmission protocols, including but not limited to common transmission protocols such as RTP, UDP, and TCP.
[0039] Optionally, the stream pulling and forwarding process includes video decoding process; The video decoding process specifically includes: Decapsulating the video stream data to extract coded video frames; The encoded video frame is decoded by a decoder to generate original video data corresponding to the encoded video frame.
[0040] Specifically, in the embodiment of the present application, the pulled video stream data first needs to be decoded. This process specifically includes two steps: first, the video stream data is decapsulated to separate the different data streams such as audio, video, subtitles, etc. in the video stream data, and the encoded video frames are extracted; then, the extracted encoded video frames are decoded using a decoder to restore the encoded video data to uncompressed original video data, that is, the original video data of the video frame. The decoded original video data is uncompressed, maintaining the integrity and high quality of the video content, and can be used as data to be retweeted for subsequent processing and streaming.
[0041] Optionally, the pull-stream and push-forward processing process further includes video transcoding, video protocol conversion, resolution adjustment, audio and video synchronization, and frame rate adjustment; The process of pulling and pushing specifically includes: Receiving a first input from a target client, where the first input is a video transcoding operation; Transcoding the original video data in response to the user input to obtain transcoded videos of different formats and / or different qualities; receiving a second input from a target client, wherein the second input is a video media processing operation; In response to the second input, the original video data is subjected to resolution adjustment, video synchronization processing, and frame rate adjustment.
[0042] Furthermore, in embodiments of the present application, to meet the needs of different end users or adapt to different network environments and playback platforms, the stream pulling and forwarding process may also include a series of video processing operations. These operations include: receiving video transcoding operation input from the target client, transcoding the original video data according to the user's needs, and generating transcoded videos of different formats (e.g., from H.264 to H.265) and / or different qualities (e.g., from HD to SD).
[0043] Receives video media processing operation input from the target client and performs resolution adjustment (for example, from 1080p to 720p), audio and video synchronization (ensuring synchronization of audio and video playback), and frame rate adjustment (for example, from 60fps to 30fps) on the original video data.
[0044] These processing operations can improve the user experience and ensure that video content can be played smoothly on different devices and network environments.
[0045] Optionally, the process of video protocol conversion specifically includes: Determine the communication protocol of the target platform and convert the original protocol of the original video data to be consistent with the usage protocol of the target platform.
[0046] Furthermore, when pushing video streams, different target platforms may support different communication protocols. In order to ensure that the video streaming data can be played smoothly on the target platform, video protocol conversion is required. This process specifically includes: first determining the communication protocol used by the target platform, such as RTMP, HTTP-FLV, HLS, etc.; then converting the original protocol used by the original video data into a protocol consistent with the target platform. For example, if the original video data uses the RTSP protocol, and the target platform uses the RTMP protocol, then the RTSP protocol needs to be converted to the RTMP protocol. Through protocol conversion, it can be ensured that the video streaming data is compatible with the player of the target platform, achieving smooth video playback.
[0047] Optionally, it also includes: Temporarily storing the original video data, and setting a storage time and storage duration for the temporarily stored original video data; Pulling and forwarding the video data in sequence according to the order of storage time to ensure the integrity of video transmission; The temporarily stored original video data is periodically overwritten and updated based on the storage duration.
[0048] Specifically, in order to ensure the integrity and continuity of the video data and provide a certain degree of fault tolerance, the decoded original video data can be temporarily stored. During the temporary storage process, a storage timestamp and storage duration are set for each segment of original video data. The storage timestamp is used to record the time point when the video data is stored, and the storage duration defines the retention time of the video data in the temporary storage. In the subsequent pull-stream and push-forward processing process, the system will process the video data in sequence according to the order of the storage timestamps to ensure the timing and integrity of the video content. In addition, in order to manage storage space, the system will periodically overwrite the earliest temporarily stored video data based on the storage duration. That is, when new video data needs to be stored, if the storage space is insufficient, the system will delete the stored video data with the earliest storage timestamp, thereby realizing the recycling of storage space.
[0049] Optionally, it also includes: When the streaming transmission process of the original video data is interrupted, extract the interrupted video data; The interrupted video data is re-pull-streamed and re-pushed.
[0050] Specifically, during the network transmission process, the push streaming transmission of the original video data may be interrupted due to various reasons (such as network instability, server failure, etc., and low bandwidth problems are preferably selected in this embodiment). In order to ensure the continuity and stability of video transmission, corresponding measures need to be taken when the interruption occurs. Specifically, when a push streaming interruption is detected, the system will mark and extract the video data where the interruption occurred. Then, these interrupted video data will be pulled, decoded, transcoded (if necessary), and retweeted again, and pushed again. This process may involve re-acquiring data from the video source, or extracting previously decoded original video data from temporary storage. In this way, video freezes or losses caused by transmission interruptions can be minimized, thereby improving user experience.
[0051] The use of caching technology can reduce transmission delays and improve user experience. By caching some data on the server side, problems such as video playback freezes caused by network fluctuations can be avoided, ensuring the real-time and transmission quality of video transmission.
[0052] Reference Figure 2 , Figure 2 This is a detailed workflow diagram for streaming and forwarding. As shown, the streaming and forwarding process includes decoding the original data, transcoding, protocol conversion, resolution adjustment, and audio / video synchronization. Solid lines indicate required operations, while dashed lines indicate possible operations. If low bandwidth causes interruptions in video transmission, the temporarily stored original video data can be directly used to continue streaming, ensuring video data integrity and real-time transmission. Similarly, transcoding and protocol conversion operations are performed only after the target receiving end's needs are met.
[0053] Reference Figure 3 The present application provides a locally deployed pull-stream forwarding device, comprising: The control module is used to control video requests from the video source device, decode the acquired source video, temporarily store the decoded video data, and stream and push the temporarily stored original video data. The stream pulling and pushing processing module is used to pull and push the acquired source video, including video transcoding, video protocol conversion, audio and video synchronization, frame rate adjustment and other operations. It starts the operation after receiving the command from the control module; The storage module is used to temporarily store the original video data from the source end after decoding, and starts the operation after receiving the instruction from the control module.
[0054] Specifically, the device includes the following modules: A request module is used to send an acquisition request to the video source end, wherein the acquisition request is used to obtain video stream data; A video receiving module is used to receive video stream data sent by the video source through the target communication protocol; A stream pulling and forwarding processing module is used to perform stream pulling and forwarding processing on the video stream data to obtain decoded original video data as data to be forwarded; A storage module, used for temporarily storing the original video data; A streaming module, configured to output the data to be forwarded through streaming based on a streaming protocol; A distribution module is used to distribute the data to be retweeted to other servers or target clients based on the target communication protocol.
[0055] The control module is used to control video requests from the video source, decode the acquired video stream data, temporarily store the decoded original video data, and pull and push the temporarily stored original video data.
[0056] Furthermore, the control module can control the operation of the device and other modules in the device, including controlling the device to acquire video from the video source device, controlling the stream pulling and pushing module to decode the acquired source video, controlling the storage module to temporarily store the decoded original video, controlling the stream pulling and pushing module to transcode and perform protocol conversion on the temporarily stored video, and controlling the transmission of the processed video to the target end.
[0057] Furthermore, the storage module may be a flash memory, a hard disk, a solid-state drive or other memory, or a combination of the above types of memory.
[0058] Furthermore, after receiving the instruction from the control module, the stream pulling and pushing module needs to push the video from the storage module according to the time sequence of the temporary storage of the video, and transmit the processed video to the target end.
[0059] Optionally, the stream pulling and forwarding process includes video decoding process; The video decoding process specifically includes: Decapsulating the video stream data to extract coded video frames; The encoded video frame is decoded by a decoder to generate original video data corresponding to the encoded video frame.
[0060] Optionally, the pull-stream and push-forward processing process further includes video transcoding, video protocol conversion, resolution adjustment, audio and video synchronization, and frame rate adjustment; The process of pulling and pushing specifically includes: Receiving a first input from a target client, where the first input is a video transcoding operation; Transcoding the original video data in response to the user input to obtain transcoded videos of different formats and / or different qualities; receiving a second input from a target client, wherein the second input is a video media processing operation; In response to the second input, the original video data is subjected to resolution adjustment, video synchronization processing, and frame rate adjustment.
[0061] Optionally, the process of video protocol conversion specifically includes: Determine the communication protocol of the target platform and convert the original protocol of the original video data to be consistent with the usage protocol of the target platform.
[0062] Optionally, it also includes: Temporarily storing the original video data, and setting a storage time and storage duration for the temporarily stored original video data; Pulling and forwarding the video data in sequence according to the order of storage time to ensure the integrity of video transmission; The temporarily stored original video data is periodically overwritten and updated based on the storage duration.
[0063] Specifically, further, the control module controls the storage module to set a storage time and storage duration when temporarily storing the decoded video. When controlling the operation of the pull-stream push module, it will process them in sequence according to the order of storage time to ensure the integrity of the video transmission. At the same time, the stored video data will be periodically overwritten and stored.
[0064] Optionally, it also includes: When the streaming transmission process of the original video data is interrupted, extract the interrupted video data; The interrupted video data is re-pull-streamed and re-pushed.
[0065] Furthermore, when the video is interrupted due to low bandwidth or other problems during media transmission of video data, the control module will control the pull-stream-pushing module to re-process the interrupted video and transmit it again to ensure the video transmission quality and video integrity.
[0066] The device of the embodiment of the present application is deployed in a local area network environment through local deployment, which has higher flexibility, autonomy and controllability. The device can be customized and adjusted according to usage requirements. At the same time, it can better protect the data security and privacy of the user and reduce dependence on external services.
[0067] It should be understood that the above-mentioned device is used to execute the method in the above-mentioned embodiment. The implementation principle and technical effect of the corresponding program module in the device are similar to those described in the above-mentioned method. The working process of the device can refer to the corresponding process in the above-mentioned method and will not be repeated here.
[0068] Reference Figure 4 Based on the methods in the above embodiments, an embodiment of the present application provides an electronic device, which may include: a processor (Processor) 410, a communication interface (Communications Interface) 420, a memory (Memory) 430, and a communication bus 440. The processor 410, the communication interface 420, and the memory 430 communicate with each other via the communication bus 440. The processor 410 may call the logic instructions in the memory 430 to execute the methods in the above embodiments.
[0069] In addition, the logic instructions in the aforementioned memory 430 can be implemented in the form of a software functional unit and, when sold or used as an independent product, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the portion that contributes to the prior art, or the portion of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application.
[0070] Based on the method in the above embodiment, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the method in the above embodiment.
[0071] Based on the method in the above embodiment, an embodiment of the present application provides a computer program product. When the computer program product runs on a processor, the processor executes the method in the above embodiment.
[0072] It is understood that the processor in the embodiments of the present application may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0073] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, mobile hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and storage medium can be located in an ASIC.
[0074] The above embodiments can be implemented in whole or in part using software, hardware, firmware, or any combination thereof. When implemented using software, they can be implemented in whole or in part in the form of a computer program product. The computer program product comprises one or more computer instructions. When loaded and executed on a computer, the computer program instructions fully or partially produce the processes or functions described in the embodiments of this application. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted via the computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be magnetic media (e.g., floppy disk, hard disk, tape), optical media (e.g., DVD), or semiconductor media (e.g., solid-state drive (SSD)).
[0075] It will be understood that the various numerical numbers involved in the embodiments of the present application are merely distinctions for the convenience of description and are not intended to limit the scope of the embodiments of the present application.
[0076] It is easy for those skilled in the art to understand that the above is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application should be included in the scope of protection of the present application.
Claims
1. A locally deployed pull-stream forwarding method, characterized in that: The method is applied to a server side of a locally deployed local area network, wherein the local area network also includes a video source side and a target client side. Sending an acquisition request to the video source, wherein the acquisition request is used to obtain video stream data; Receiving video stream data sent by the video source through the target communication protocol; Performing stream pulling and forwarding processing on the video stream data to obtain decoded original video data as data to be forwarded, and temporarily storing the original video data; Outputting the data to be forwarded through push streaming based on a push streaming protocol; The data to be retweeted is distributed to other servers or target clients based on the target communication protocol.
2. The localized pull-stream-pushing method according to claim 1 is characterized in that: The pull-stream forwarding process includes video decoding process; The video decoding process specifically includes: Decapsulating the video stream data to extract coded video frames; The encoded video frame is decoded by a decoder to generate original video data corresponding to the encoded video frame.
3. The localized pull-stream-pushing method according to claim 2 is characterized in that: The pull-stream-forwarding process also includes video transcoding, video protocol conversion, resolution adjustment, audio and video synchronization, and frame rate adjustment. The process of pulling and pushing specifically includes: Receiving a first input from a target client, where the first input is a video transcoding operation; Transcoding the original video data in response to the first input to obtain transcoded videos of different formats and / or different qualities; receiving a second input from a target client, wherein the second input is a video media processing operation; In response to the second input, the original video data is subjected to resolution adjustment, video synchronization processing, and frame rate adjustment.
4. The localized pull-stream-pushing method according to claim 3 is characterized in that: The process of video protocol conversion specifically includes: Determine the communication protocol of the target platform and convert the original protocol of the original video data to be consistent with the usage protocol of the target platform.
5. The localized pull-stream-pushing method according to claim 1 is characterized in that: Also includes: Temporarily storing the original video data, and setting a storage time and storage duration for the temporarily stored original video data; Pulling and forwarding the video data in sequence according to the order of storage time to ensure the integrity of video transmission; The temporarily stored original video data is periodically overwritten and updated based on the storage duration.
6. The localized pull-stream-pushing method according to claim 1, characterized in that: Also includes: When the streaming transmission process of the original video data is interrupted, extract the interrupted video data; The interrupted video data is re-pull-streamed and re-pushed.
7. A locally deployed pull-stream forwarding device, characterized in that: Applicable to the server side of the local area network, including: A request module is used to send an acquisition request to the video source end, wherein the acquisition request is used to obtain video stream data; A video receiving module is used to receive video stream data sent by the video source through the target communication protocol; A stream pulling and forwarding processing module is used to perform stream pulling and forwarding processing on the video stream data to obtain decoded original video data as data to be forwarded; A storage module, used for temporarily storing the original video data; A streaming module, configured to stream and output the data to be forwarded based on a streaming protocol; A distribution module is used to distribute the data to be retweeted to other servers or target clients based on the target communication protocol.
8. The locally deployed pull-stream-pushing device according to claim 7, characterized in that: Also includes: The control module is used to control video requests from the video source, decode the acquired video stream data, temporarily store the decoded original video data, and pull and push the temporarily stored original video data.
9. An electronic device, characterized in that: include: at least one memory for storing a computer program; At least one processor is used to execute the program stored in the memory. When the program stored in the memory is executed, the processor is used to execute the method according to any one of claims 1 to 6.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed on a processor, the processor is caused to execute the method according to any one of claims 1 to 6.