Remote preview system, method and apparatus, and electronic device and storage medium

By combining and pushing the code stream at the screen wall control end, the problem of failed screen wall fetching is solved, and stable and efficient remote preview and cross-domain preview are achieved, and playback accidents are avoided.

WO2025139128A1PCT designated stage expired Publication Date: 2025-07-03HANGZHOU HIKVISION DIGITAL TECHNOLOGY CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/121171
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-28
Filing Date
2024-09-25
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

In the prior art, the number of streaming channels at the control end of the screen wall is limited, resulting in the possibility of playing stability impact and streaming failure when multiple remote preview ends perform remote preview of the same screen wall at the same time, and multiple streaming fetching may occur.

Method used

The target streaming service receives the code streams pushed by each control terminal, performs the code stream merging, and pushes the merged code stream to the remote preview terminal when the triggering conditions are met, realizing multiple streams for remote preview.

Benefits of technology

It realizes that in the case of multiple remote preview terminals, it avoids affecting the playback stability and failure of the screen wall, improves playback efficiency, supports cross-domain preview, and previews the screen data of the screen wall in advance, avoids playing bad videos.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024121171_03072025_PF_FP_ABST
    Figure CN2024121171_03072025_PF_FP_ABST
Patent Text Reader

Abstract

The embodiments of the present application relate to the technical field of displays. Provided are a remote preview system, method and apparatus, and an electronic device and a storage medium. The remote preview system comprises: a target streaming media service, a remote preview end and various control ends, wherein each control end may determine a target stream push moment shared by the control ends, and when the target stream push moment is reached, actively push to the target streaming media service a bitstream corresponding to the control end; the target streaming media service may receive the bitstreams pushed by the respective control ends, perform bitstream merging on the received bitstreams to obtain a target bitstream, and push the target bitstream to the remote preview end; and in response to having received the target bitstream, the remote preview end may perform preview presentation for a picture of a target screen wall on the basis of the target bitstream. It can be seen that by means of the present solution, effective multi-path stream taking can be realized to perform remote previewing.
Need to check novelty before this filing date? Find Prior Art

Description

Remote preview system, method, device, electronic device and storage medium

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on December 28, 2023, with application number 202311850124.4 and invention name “A remote preview system, method, device, electronic device and storage medium”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of display technology, and in particular to a remote preview system, method, device, electronic device, and storage medium. Background Art

[0003] With the development of the times, video walls can be applied in various scenarios. For example, video walls can be used on the exterior walls of shopping malls to play videos or pictures. Video walls are generally composed of multiple screen units, that is, multiple screen units are spliced ​​together to form a video wall. In addition, video walls can be managed by at least one control terminal. Specifically, each control terminal can manage one or more screen units of the video wall, and each screen unit is managed by a control terminal.

[0004] In related technologies, when remote preview of the content displayed on the screen wall is required, the management platform usually directly obtains the stream from each control terminal corresponding to the screen wall, and then sends the obtained data stream to the remote preview terminal for preview through the remote preview terminal.

[0005] However, each control terminal in a video wall has a limited number of streaming channels. Therefore, when multiple remote preview terminals simultaneously preview the same video wall, that is, when multiple streams are simultaneously captured from each control terminal of the same video wall, the video wall playback stability may be affected. It is also possible that the number of remote preview terminals may exceed the number of streaming channels. Consequently, remote preview may fail to capture streams, making it impossible to effectively capture multiple streams for remote preview. In other words, multiple remote preview terminals cannot effectively and concurrently preview the same video wall.

[0006] Summary of the Invention

[0007] The purpose of the embodiments of the present application is to provide a remote preview system, method, device, electronic device, and storage medium to effectively obtain multiple streams for remote preview. The specific technical solution is as follows:

[0008] In a first aspect, an embodiment of the present application provides a remote preview system, comprising a target streaming media service, a remote preview terminal, and respective control terminals, wherein the control terminal is configured to manage screen units included in a target screen wall, wherein the target screen wall includes at least two screen units;

[0009] Each control terminal is configured to, in response to a first trigger condition being satisfied, determine a target streaming time shared by all control terminals, and, when the target streaming time is reached, actively push the code stream corresponding to the control terminal to the target streaming service; wherein the first trigger condition is a trigger condition for streaming to the target streaming service, the code stream corresponding to the control terminal is a code stream generated based on target picture data, and the target picture data is picture data displayed by the screen unit controlled by the control terminal;

[0010] The target streaming service is configured to receive streams pushed by each control terminal; merge the received streams to obtain a target stream; and push the target stream to the remote preview terminal in response to a second trigger condition being satisfied; wherein the target stream includes frame data of each frame displayed by the target screen wall, and the second trigger condition is a preview trigger condition of the target screen wall by the remote preview terminal;

[0011] The remote preview end is used for previewing and displaying the images of the target screen wall based on the target code stream in response to receiving the target code stream.

[0012] In a second aspect, an embodiment of the present application provides a remote preview method, which is applied to a target streaming media service included in a remote preview system. The remote preview system also includes a remote preview terminal and respective control terminals, wherein the control terminal is configured to manage screen units included in a target screen wall, wherein the number of screen units included in the target screen wall is at least two. The method includes:

[0013] receiving a stream pushed by each control terminal; wherein the stream pushed by each control terminal is a stream that the control terminal proactively pushes to the target streaming service in response to a first trigger condition being satisfied, after determining a target streaming time shared by each control terminal and when the target streaming time is reached, wherein the first trigger condition is a trigger condition for streaming to the target streaming service;

[0014] Merging the received code streams to obtain a target code stream, wherein the target code stream includes the frame data of each picture displayed on the target screen wall;

[0015] In response to satisfying a second trigger condition, the target code stream is pushed to the remote preview end, so that the remote preview end, in response to receiving the target code stream, performs a preview display of the screen of the target screen wall based on the target code stream; wherein the second trigger condition is a preview trigger condition of the remote preview end for the target screen wall.

[0016] In a third aspect, an embodiment of the present application provides a remote preview method, which is applied to any of the control terminals included in a remote preview system; the remote preview system also includes a target streaming media service and a remote preview terminal, each control terminal is used to manage the screen units included in a target screen wall, and the number of screen units included in the target screen wall is at least two; the method includes:

[0017] In response to satisfying a first trigger condition, determining a target streaming time shared by each control terminal; wherein the first trigger condition is a trigger condition for streaming for a target streaming media service;

[0018] When the target streaming time is reached, the code stream corresponding to the control terminal is actively pushed to the target streaming media service, so that the target media service merges the received code streams to obtain a target code stream; and in response to satisfying a second trigger condition, the target code stream is pushed to the remote preview terminal, so that the remote preview terminal is configured to preview and display the images of the target screen wall based on the target code stream in response to receiving the target code stream;

[0019] Among them, the code stream corresponding to the control end is a code stream generated based on the target screen data, and the target screen data is the screen data displayed by the screen unit controlled by the control end. The second trigger condition is the preview trigger condition of the remote preview end for the target screen wall, and the target code stream contains each frame of screen data displayed by the target screen wall.

[0020] In a fourth aspect, embodiments of the present application provide a remote preview device, which is applied to a target streaming media service included in a remote preview system. The remote preview system also includes a remote preview terminal and respective control terminals, wherein the control terminal is configured to manage screen units included in a target screen wall, wherein the target screen wall includes at least two screen units. The device includes:

[0021] a receiving module configured to receive code streams pushed by each control terminal; wherein the code stream pushed by each control terminal is a code stream that the control terminal actively pushes to the target streaming service in response to satisfying a first trigger condition, after determining a target streaming time shared by each control terminal and when the target streaming time is reached, wherein the first trigger condition is a trigger condition for pushing the stream to the target streaming service;

[0022] A code stream merging module is configured to merge the received code streams to obtain a target code stream; wherein the target code stream includes the data of each frame of the picture displayed by the target screen wall;

[0023] The first push module is configured to push the target code stream to the remote preview terminal in response to satisfying a second trigger condition, so that the remote preview terminal, in response to receiving the target code stream, previews the screen of the target screen wall based on the target code stream; wherein the second trigger condition is a preview trigger condition of the remote preview terminal for the target screen wall.

[0024] In a fifth aspect, embodiments of the present application provide a remote preview device, applicable to any of the control terminals included in a remote preview system; the remote preview system further includes a target streaming media service and a remote preview terminal, each control terminal being configured to manage screen units included in a target screen wall, wherein the target screen wall includes at least two screen units; the device includes:

[0025] A first determining module is configured to determine a target streaming time shared by each control terminal in response to a first trigger condition being met; wherein the first trigger condition is a trigger condition for streaming to a target streaming service;

[0026] a second push module configured to actively push the code stream corresponding to the control terminal to the target streaming media service when the target streaming time is reached, so that the target media service merges the received code streams to obtain a target code stream, and push the target code stream to the remote preview terminal in response to satisfying a second trigger condition, so that the remote preview terminal is configured to preview the image of the target screen wall based on the target code stream in response to receiving the target code stream;

[0027] Among them, the code stream corresponding to the control end is a code stream generated based on the target screen data, and the target screen data is the screen data displayed by the screen unit controlled by the control end. The second trigger condition is the preview trigger condition of the remote preview end for the target screen wall.

[0028] In a sixth aspect, an embodiment of the present application provides an electronic device, including:

[0029] Memory for storing computer programs;

[0030] The processor is configured to implement any of the above remote preview methods when executing a program stored in the memory.

[0031] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, any of the above-mentioned remote preview methods is implemented.

[0032] In an eighth aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute any one of the aforementioned remote preview methods.

[0033] In a ninth aspect, a computer program is provided, which, when running on a computer, enables the computer to execute any one of the above-mentioned remote preview methods.

[0034] Beneficial effects of the embodiments of the present application:

[0035] A remote preview system provided in an embodiment of the present application may include a target streaming service, a remote preview terminal, and various control terminals. The control terminal is used to manage the screen units included in the target screen wall, and the number of screen units included in the target screen wall is at least two. Each control terminal can, in response to satisfying a first trigger condition, determine a target push stream time shared by each control terminal. When the target push stream time is reached, the control terminal actively pushes the code stream corresponding to the control terminal to the target streaming service. The target streaming service can merge the received code streams to obtain a target code stream, and in response to satisfying a second trigger condition, push the target code stream to the remote preview terminal. After receiving the target code stream, the remote preview terminal can preview and display based on the target code stream. It can be seen that in the embodiment of the present application, each control terminal can actively push the corresponding code stream to the target streaming service. The target streaming service can determine the target code stream based on the code streams pushed by each control terminal. When there are multiple remote preview terminals, the target streaming service can also push the target code stream to multiple remote preview terminals to achieve multi-channel remote preview. Compared to related technologies, when one or more remote preview terminals have preview requirements, there is no need to perform multiple stream acquisitions on each control terminal of the target screen wall. This can avoid situations that affect the playback stability of the target screen wall and avoid situations where stream acquisition fails due to the number of remote preview terminals exceeding the number of stream acquisition channels on the control terminal. Therefore, the embodiments of the present application can effectively achieve multiple stream acquisitions for remote preview. Moreover, the number of screen units included in the target screen wall in the present application is at least two, so that multiple screen units can be remotely previewed on the remote preview terminal.

[0036] In addition, the target streaming time for the target streaming service and the preview time of the target screen wall by the remote preview end can be set before the target screen wall displays each frame of picture data. Therefore, this solution can also realize the pre-preview of each frame of picture data displayed on the target screen wall at the remote preview end, thereby avoiding the playback of bad videos and avoiding playback accidents, thereby improving the playback efficiency of the control end.

[0037] Of course, it is not necessary to achieve all the advantages described above at the same time when implementing any product or method of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] The drawings described herein are used to provide further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute improper limitations on the present application.

[0039] FIG1 is a schematic diagram of the structure of a remote preview system provided in an embodiment of the present application;

[0040] FIG2 is a schematic diagram of the structure of another remote preview system provided in an embodiment of the present application;

[0041] FIG3 is a flow chart of a remote preview method provided in an embodiment of the present application;

[0042] FIG4 is a schematic diagram of a process for establishing a binding relationship between each control terminal and a target streaming media service according to an embodiment of the present application;

[0043] FIG5 is a schematic diagram of a same-screen preview effect provided by an embodiment of the present application;

[0044] FIG6 is a schematic diagram of a same-screen preview process provided by an embodiment of the present application;

[0045] FIG7 is a flow chart of a remote preview method provided in an embodiment of the present application;

[0046] FIG8 is a flow chart of another remote preview method provided in an embodiment of the present application;

[0047] FIG9 is a schematic structural diagram of a remote preview device provided in an embodiment of the present application;

[0048] FIG10 is a schematic diagram of the structure of another remote preview device provided in an embodiment of the present application;

[0049] FIG11 is a schematic structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0050] To make the objectives, technical solutions, and advantages of this application more clearly understood, the present application is further described below with reference to the accompanying drawings and examples. It is apparent that the described examples are only a portion of the embodiments of this application, and not all of them. All other embodiments derived by persons of ordinary skill in the art based on the examples in this application are intended to fall within the scope of protection of this application.

[0051] To better understand the embodiments of the present application, the following briefly introduces the remote preview system in the related art and its shortcomings:

[0052] In the related art, the remote preview system may include a management platform, a remote preview terminal and various control terminals, and each control terminal is used to manage the screen units included in the target screen wall. The device on which the management platform runs can be directly connected to each control terminal. The device on which the management platform runs can be a central server or other device. The embodiment of the present application does not specifically limit this. Then, for remote preview, in one implementation method, the control terminal can take a screenshot of the corresponding screen unit and send the screen data obtained by the screenshot to the management platform, which is then sent to the remote preview terminal via the network for display. However, there may be network delays in the process of the management platform sending the screenshot to the remote preview terminal, resulting in poor real-time performance of the remote preview process. In addition, when previewing the target screen wall, the screen unit corresponding to a single control terminal can be previewed, so that the effect of split-screen preview can be achieved. When previewing the target screen wall, the remote preview terminal needs to spend time to splice the screen, so there will be screen delays when previewing the target screen wall.

[0053] In addition, the device on which the management platform runs is directly connected to each control terminal, resulting in the physical distance between the two being too far, making it impossible to achieve cross-domain preview. For example: the target screen wall is set on the outer wall of the shopping mall, the control terminal is also set near the target screen wall, and the management platform is set 10 kilometers away from the control terminal. This situation is not suitable for the device on which the management platform runs to be directly connected to each control terminal, so cross-domain preview cannot be achieved.

[0054] In other related technologies, when remote preview of the content displayed on a screen wall is required, a management platform usually directly obtains streams from each control terminal corresponding to the screen wall, and then sends the data streams to the remote preview terminal to achieve remote preview. However, the number of stream acquisition channels of each control terminal in the screen wall is limited. When multiple remote preview terminals simultaneously remotely preview the same screen wall, that is, when multiple streams are simultaneously acquired from each control terminal of the same screen wall, the stability of the screen wall playback may be affected. It is also possible that the number of remote preview terminals exceeds the number of stream acquisition channels, resulting in stream acquisition failure. Therefore, it is impossible to effectively acquire multiple streams for remote preview. In other words, multiple remote preview terminals cannot effectively perform parallel previews on the same screen wall.

[0055] Based on the problems existing in the related art, in order to achieve effective multi-channel streaming for remote preview, the embodiments of the present application provide a remote preview system, method, device, electronic device and storage medium.

[0056] The following first introduces a remote preview system provided by an embodiment of the present application.

[0057] The remote preview system provided in the embodiment of the present application may include a target streaming media service, a remote preview terminal, and various control terminals, wherein the control terminal is used to manage the screens included in the target screen wall, and the number of screen units included in the target screen wall is at least two;

[0058] Each control terminal is configured to, in response to a first trigger condition being satisfied, determine a target streaming time shared by all control terminals, and, when the target streaming time is reached, actively push the code stream corresponding to the control terminal to the target streaming service; wherein the first trigger condition is a trigger condition for streaming to the target streaming service, the code stream corresponding to the control terminal is a code stream generated based on target picture data, and the target picture data is picture data displayed by the screen unit controlled by the control terminal;

[0059] The target streaming service is configured to receive streams pushed by each control terminal; merge the received streams to obtain a target stream; and push the target stream to the remote preview terminal in response to a second trigger condition being satisfied; wherein the target stream includes frame data of each frame displayed by the target screen wall, and the second trigger condition is a preview trigger condition of the target screen wall by the remote preview terminal;

[0060] The remote preview end is used for previewing and displaying the images of the target screen wall based on the target code stream in response to receiving the target code stream.

[0061] It is understood that the target streaming service in the remote preview system can be a software process that can run on a server or terminal. The target streaming service can be one of multiple streaming services. The embodiments of the present application do not specifically limit the target streaming service. For example, the target streaming service can be a plug-in program, a client program, a server program, etc. The above-mentioned remote preview terminal can be a preview terminal running on the remote preview device. For example, in one implementation, the preview terminal can be in the form of a web. In this case, based on the browser in the remote preview device, you can log in to the preview terminal, that is, log in to the web terminal. In this way, plug-in-free remote preview can be achieved based on the web terminal. For example, in another implementation, the remote preview terminal can also be a client running on the remote preview device. Remote preview can be achieved based on the client. The embodiments of the present application do not specifically limit the specific form of the remote preview terminal. In addition, the remote preview device can be a personal computer PC or a mobile device such as a mobile phone. The embodiments of the present application do not specifically limit this. In addition, each control terminal in the remote preview system can manage the screen units contained in the target screen wall, each control terminal can manage one or more screen units of the screen wall, and each screen unit can also be managed by a control terminal; it can be understood that the control terminal can manage only one screen unit or multiple screen units, and the embodiment of the present application does not make specific limitations on this. For example, the target screen wall is a 2*2 screen wall containing a total of 4 screen units, then the 4 screen units can correspond to 1 control terminal, or 2, 3 or 4 control terminals, which are all reasonable. It should be emphasized that a camera can be installed in the target screen wall to capture the real-life scene near the target screen wall in real time, and this application does not make specific limitations on this. In addition, the management platform can be the background service terminal of the remote preview terminal, control terminal, etc.

[0062] Furthermore, the remote preview system of the embodiment of the present application can be applicable to a variety of scenarios, such as: scenarios with high requirements for the real-time performance of remote preview, scenarios where multiple remote preview terminals perform remote preview, etc., and the embodiment of the present application does not specifically limit this. For example, a screen wall can be used on the outer wall of a shopping mall to play videos or pictures. In order to avoid the appearance of bad information on the screen wall, the screen wall can be previewed in real time / in advance. When bad information may appear, the screen wall can be controlled to stop playing in time. In addition, when the target screen wall is used for advertising playback, any control terminal and the screen unit managed by the control terminal can be called an advertising machine, that is, any advertising machine can include a control terminal and the screen unit managed by the control terminal.

[0063] It can be seen that each control terminal in the embodiment of the present application can actively push the corresponding code stream to the target streaming service, and the target streaming service can determine the target code stream based on the code stream pushed by each control terminal. When there are multiple remote preview terminals, the target streaming service can also push the target code stream to multiple remote preview terminals to achieve multi-channel remote preview. Compared with the relevant technology, when there is a preview demand at one or more remote preview terminals, there is no need to perform multi-channel stream acquisition on each control terminal of the target screen wall, thereby avoiding the situation that affects the playback stability of the target screen wall, and also avoiding the situation that the number of remote preview terminals is greater than the number of stream acquisition channels of the control terminal, resulting in a failure in stream acquisition. Therefore, the embodiment of the present application can achieve effective multi-channel stream acquisition for remote preview. Moreover, the number of screen units included in the target screen wall in the present application is at least two, so that multiple screen units can be remotely previewed at the remote preview terminal.

[0064] Furthermore, the target streaming time for the target streaming service and the preview time of the target screen wall by the remote preview terminal can be set before the target screen wall displays each frame of picture data. Therefore, this solution can also realize the pre-preview of each frame of picture data displayed on the target screen wall at the remote preview terminal, thereby avoiding the playback of bad videos and avoiding playback accidents, thereby improving the playback efficiency of the control terminal.

[0065] In addition, in the embodiment of the present application, the target streaming service pushes the target code stream to the remote preview end, so cross-domain preview can be achieved; and the target streaming service can also merge the received code streams to obtain a target code stream containing the frame data of each frame for display on the target screen wall, so the remote preview end can preview and display the picture of the target screen wall; and in the embodiment of the present application, the picture of the target screen wall previewed by the remote preview end is not obtained by screenshot, but is pushed by the target streaming service, and the real-time performance of the remote preview is also better.

[0066] The following will describe in detail the remote preview system provided by the embodiment of the present application in conjunction with the accompanying drawings.

[0067] As shown in FIG1 , an embodiment of the present application provides a remote preview system, which may include a target streaming service 120, a remote preview terminal 130, and various control terminals 110. The control terminal 110 is configured to manage the screen units included in the target screen wall, where the target screen wall includes at least two screen units.

[0068] Each control terminal 110 is configured to, in response to a first trigger condition being satisfied, determine a target streaming time shared by all control terminals 110, and actively push the code stream corresponding to the control terminal 110 to the target streaming service 120 when the target streaming time is reached; wherein the first trigger condition is a trigger condition for streaming to the target streaming service 120, and the code stream corresponding to the control terminal 110 is a code stream generated based on target image data, and the target image data is image data displayed by the screen unit controlled by the control terminal 110;

[0069] The target streaming service 120 is configured to receive the streams pushed by the control terminals 110, merge the received streams to obtain a target stream, and push the target stream to the remote preview terminal 130 in response to a second trigger condition being satisfied. The target stream includes the frame data of each image displayed on the target screen wall, and the second trigger condition is a preview trigger condition of the remote preview terminal 130 for the target screen wall.

[0070] The remote preview terminal 130 is configured to, in response to receiving the target code stream, preview and display the images of the target screen wall based on the target code stream.

[0071] It should be emphasized that the target streaming service 120, the remote preview terminal 130 and the control terminal 110 in this application can all be software. The specific forms have been introduced above and will not be repeated here.

[0072] It is understood that, in response to satisfying the first trigger condition, each control terminal 110 can determine a target streaming time shared by all control terminals 110. Thus, all control terminals 110 have the same target streaming time. Furthermore, when the target streaming time is reached, each control terminal 110 can simultaneously actively push the corresponding code stream to the target streaming service 120. Therefore, the determination of the target streaming time allows each control terminal 110 to simultaneously push the stream to the target streaming service 120. Furthermore, the specific conditions of the first trigger condition can be various. For example, the first trigger condition can include: obtaining a request or instruction to push the stream to the target streaming service 120, which can be manually issued or issued by another sender, etc.; or, the first trigger condition can include detecting that a designated time for pushing the stream to the target streaming service 120 has been reached, etc. This application does not specifically limit the specific conditions of the first trigger condition.

[0073] Furthermore, for each control terminal 110, the code stream corresponding to the control terminal 110 is a code stream generated based on the target screen data, where the target screen data is the screen data displayed by the screen unit controlled by the control terminal 110. For example, the target screen wall includes multiple screen units, wherein the control terminal 1 can control the screen units in the upper half of the target screen wall, and the control terminal 2 can control the screen units in the lower half of the target screen wall. Then, the code stream corresponding to the control terminal 1 is: the code stream obtained after encoding the screen data displayed by the screen units in the upper half controlled by the control terminal 1, and the code stream corresponding to the control terminal 2 is: the code stream obtained after encoding the screen data displayed by the screen units in the lower half controlled by the control terminal 2. Alternatively, the target screen wall includes multiple screen units, and the number of control terminals is the same as the number of the multiple screen units. In this case, each control terminal controls one screen unit. Then, the code stream corresponding to each control terminal is: the code stream obtained after encoding the screen data displayed by the screen unit controlled by the control terminal.

[0074] It is understood that the target streaming service 120 receives the code streams pushed by each control terminal 110 and can merge the received code streams. The code stream merging process can be considered as first decoding the code streams pushed by each control terminal 110 to obtain the image data displayed by the screen unit corresponding to each control terminal 110, then selecting the image data belonging to the same video frame from the displayed image data, and then splicing the image data belonging to the same video frame according to the layout of the target screen wall. The spliced ​​frames of image data are re-encoded, so that a target code stream containing the frame data of each frame for display on the target screen wall can be finally obtained. Of course, the code stream merging process described above is only for example and is not specifically limited to this application. It should be emphasized that the above-mentioned code stream merging process is a process for previewing multiple consecutive frames of image data. When the target screen wall continuously displays a single image data, it is not necessary to determine the image data belonging to the same video frame. It is only necessary to splice the single image data according to the layout of the target screen wall. It should be noted that the target streaming service 120 can also receive the code streams pushed by each control terminal 110 through a caching mechanism. It can be considered that the target streaming service 120 can cache the code streams pushed by each control terminal 110 and then perform subsequent steps; in addition, the timestamps of each control terminal 110 are pre-set to be in a synchronized state, that is, the clocks of each control terminal 110 are synchronized. When splicing the picture data, the picture data with the same timestamp in different code streams can be spliced ​​according to the pre-known layout relationship between the screen units controlled by each control terminal 110, thereby obtaining the target code stream, wherein the layout relationship can characterize the positional relationship of each screen unit in the target screen wall. This application does not specifically limit the specific method of splicing the pictures.

[0075] For example, the target screen wall continuously displays an image of a puppy. The target streaming service can receive the code streams about the puppy image pushed by each control terminal, decode each received code stream, and obtain the partial puppy image displayed by the screen unit corresponding to each control terminal. Then, according to the layout of the target screen wall, the partial puppy image displayed by each screen unit controlled by each control terminal is spliced ​​together to obtain the complete puppy image displayed for the target screen wall. Similarly, the target screen wall displays an advertising video. The target streaming service can receive the code streams about the advertising video pushed by each control terminal, decode each received code stream, and obtain each frame of advertising screen data of the advertising video displayed by the screen unit corresponding to each control terminal. From each frame of advertising screen data, the advertising screen data belonging to the same video frame is selected, and according to the layout of the target screen wall, the advertising screen data displayed by each screen unit controlled by each control terminal is spliced ​​together to obtain each frame of advertising screen data displayed for the target screen wall.

[0076] Furthermore, in response to satisfying a second trigger condition, the target streaming service 120 may push the target stream to the remote preview terminal 130. The second trigger condition is a preview trigger condition for the target screen wall by the remote preview terminal 130. That is, when the preview trigger condition for the target screen wall by the remote preview terminal 130 is satisfied, the target stream may be pushed to the remote preview terminal 130. Furthermore, the specific conditions of the second trigger condition may be various. For example, the second trigger condition may include: obtaining a request or instruction from the remote preview terminal 130 to preview the target screen wall. The request or instruction may be manually issued or issued by another sender, and the sender may be the remote preview terminal 130, etc. Alternatively, the second trigger condition may include detecting that a predetermined time has been reached for the remote preview terminal 130 to preview the target screen wall, etc. The present application does not specifically limit the specific conditions of the second trigger condition.

[0077] It is understandable that the number of remote preview terminals 130 can be one or more; and, in response to receiving the target code stream, the remote preview terminal 130 can decode the target code stream to obtain the image data displayed on the target screen wall, and perform preview display based on the image data displayed on the target screen wall. As mentioned above, the remote preview terminal 130 can be a web-based preview terminal in the remote preview device. Then, the image data displayed on the target screen wall can be previewed and displayed on the web interface of the preview terminal. Of course, the remote preview terminal 130 can also be a client, and the preview display can be performed on the client.

[0078] It should be emphasized that, in an optional implementation, the binding relationship between each control terminal 110 and the target streaming service 120 can be manually configured. For example, the URL of the target streaming service is manually configured in the control terminal; the URL or service identifier of the target streaming service is pre-written in the code sent to each control terminal, thereby achieving the binding between the control terminal and the target streaming service. In addition, the embodiment of the present application does not specifically limit the binding relationship between each control terminal 110 and the target streaming service 120. It should be emphasized that in this embodiment, the remote preview system does not rely on the management platform during the remote preview process. Other embodiments will introduce the situation where the remote preview process relies on the management platform.

[0079] As can be seen, each control terminal in the embodiment of the present application can actively push the corresponding code stream to the target streaming service. The target streaming service can determine the target code stream based on the code streams pushed by each control terminal. When there are multiple remote preview terminals, the target streaming service can also push the target code stream to multiple remote preview terminals to achieve multi-channel remote preview. Compared with the related art, there is no need for multiple remote preview terminals to multi-channel stream acquisition from each control terminal of the target screen wall, thereby avoiding the situation that affects the playback stability of the target screen wall and the situation that the number of remote preview terminals exceeds the number of stream acquisition channels of the control terminal, so the embodiment of the present application can effectively achieve multi-channel stream acquisition for remote preview. In addition, the embodiment of the present application can also pre-preview the frame data displayed by the target screen wall on the remote preview terminal, thereby avoiding the playback of poor video and playback accidents, thereby improving the playback efficiency of the control terminal. Moreover, the number of screen units included in the target screen wall in the present application is at least two, so that multiple screen units can be remotely previewed on the remote preview terminal.

[0080] In addition, in the embodiment of the present application, the target streaming service pushes the target code stream to the remote preview end, so cross-domain preview can be achieved; and the target streaming service can also merge the received code streams to obtain a target code stream containing the frame data of each frame for display on the target screen wall, so the remote preview end can preview and display the picture of the target screen wall; and in the embodiment of the present application, the picture of the target screen wall previewed by the remote preview end is not obtained by screenshot, but is pushed by the target streaming service, and the real-time performance of the remote preview is also better.

[0081] Optionally, in another embodiment of the present application, as shown in FIG2 , the remote preview system further includes a management platform 140 ;

[0082] The management platform 140 is configured to establish a binding relationship between each control terminal 110 and a target streaming media service 120 in response to the registration of each control terminal 110, and to send an access address of the target streaming media service 120 to each control terminal 110 in response to the establishment of the binding relationship;

[0083] Each control terminal 110 is further configured to receive the access address issued by the management platform 140;

[0084] Each control terminal 110 pushes the code stream corresponding to the control terminal 110 to the target streaming media service 120, including:

[0085] Based on the access address, the code stream corresponding to the control terminal 110 is pushed to the target streaming media service 120 .

[0086] It should be emphasized that the management platform 140 can communicate with the target streaming service 120, the remote preview terminal 130, and each control terminal 110. The management platform 140 can manage the target streaming service 120, the remote preview terminal 130, and each control terminal 110 at a macro level. The specific form of the management platform 140 can be a software platform in a central server, which is not specifically limited in this application. Furthermore, each control terminal 110 can be pre-registered with the management platform 140. Since each control terminal 110 belonging to the same target video wall must correspond to the target streaming service 120, the management platform 140 can pre-establish a binding relationship between each control terminal 110 and the target streaming service 120 and send the access address of the target streaming service 120 to each control terminal 110. Each control terminal 110 receives the access address sent by the management platform 140 and, based on the access address, pushes the corresponding code stream of the control terminal 110 to the target streaming service 120. For the sake of clarity, the specific process of establishing the binding relationship between each control terminal 110 and the target streaming media service 120 will be introduced in subsequent embodiments and will not be described in detail here.

[0087] Of course, the management platform 140 can also manage some streaming media services that are not target streaming media services, such as streaming media service 1 and streaming media service 2, etc., which is not specifically limited in this application.

[0088] It can be seen that the remote preview system in the embodiment of the present application can also include a management platform, which can pre-establish the binding relationship between each control terminal and the target streaming media service, thereby facilitating the subsequent steps to effectively obtain multiple streams for remote preview.

[0089] Optionally, in another embodiment of the present application, the type of any control terminal 110 is a master type or a slave type;

[0090] In response to the first trigger condition being met, each control terminal 110 determines a target streaming time shared by all control terminals 110 , which may include steps A1-A2:

[0091] Step A1: In response to obtaining a designated streaming push request, if the control terminal 110 is a host type, determining a streaming push time for the control terminal 110 to push the stream based on the designated streaming push request as a target streaming push time; wherein the designated streaming push request is a request for instructing to push the stream to a target streaming media service 120;

[0092] Step A2, when the control terminal 110 is of a slave type, in response to receiving a streaming instruction and a target delay duration sent by the control terminal 110 of the master type, determining a streaming time based on the current time and the target delay duration to obtain a target streaming time; wherein the target delay duration is: a time difference between a first time and a second time, the first time being the time when the streaming instruction is sent, and the second time being the streaming time determined by the control terminal 110 of the master type;

[0093] Correspondingly, each control end 110 is also used to, when the type of the control end 110 is a host type, determine the push streaming time for the control end 110 to push the stream based on the specified push streaming request, and send the push streaming instruction and target delay time to the slave type control end 110 as the target push streaming time.

[0094] It should be emphasized that there can be multiple target screen walls, so they can correspond to multiple master terminals 110. Multiple master terminals 110 can also be divided into master-type control terminals 110 and slave-type control terminals 110. The master-type control terminal 110 can determine the target push stream time and send the push stream instruction and target delay time to the slave-type control terminal 110. The slave-type control 110 then determines the target push stream time, thereby enabling preview of multiple target screen walls. For the master-type control terminal 110, obtaining a specified push stream request is considered to satisfy the first trigger condition, while for the slave-type control terminal 110, receiving the push stream instruction and target delay time sent by the master-type control terminal 110 is considered to satisfy the first trigger condition.

[0095] It is understood that, in an optional implementation, the type of each control terminal 110 can be manually selected, and any control terminal 110 can be set to a master type; it should be emphasized that, among the control terminals 110, only one control terminal 110 is of the master type, and the other control terminals 110 are of the slave type. The master-type control terminal 110 can send a streaming instruction to the slave-type control terminal 110. It is understood that, for any control terminal 110, if the control terminal 110 is of the master type, the control terminal 110 can also be referred to as a master, and if the control terminal 110 is of the slave type, the control terminal 110 can also be referred to as a slave. For the sake of convenience, the following description will be based on the terms master and slave, which does not limit the present application. It should be emphasized that dividing each control terminal 110 into a master and a slave to achieve remote preview is a preferred implementation method and does not limit this application; of course, in another implementation method, a master may not be set, and the management platform 140 may directly send a specified streaming request to each control terminal 110 to achieve remote preview.

[0096] It is understandable that, in an optional implementation, the designated push stream request can be issued by the remote preview terminal 130, or manually issued through the operation interface, which is not specifically limited in the embodiment of the present application. Then, when the host responds to the designated push stream request, it can be considered that the host responds to the first trigger condition, that is, the host responds to the trigger condition for pushing the stream for the target streaming media service 120; further, based on the designated push stream request, the host determines the push stream time for the control terminal 110 to push the stream, and uses it as the target push stream time. Then, the second trigger condition, that is, the preview trigger condition of the remote preview terminal 130 for the target screen wall is: the arrival of the target push stream time.

[0097] It is understandable that after the host determines the target push time, the host can send a push instruction and a target delay time to the slave-type control terminal 110, that is, send a push instruction and a target delay time to the slave, and the target delay time is the time difference between the first moment and the second moment, the first moment is the time when the push instruction is sent, and the second moment is the push time determined by the host-type control terminal 110; it is understandable that the target delay time can be pre-calculated by the host and then sent to the slave.

[0098] Of course, the above introduction is only one implementation method. The host can also directly send the determined target streaming time and streaming instructions to the slave, so that both the host and the slave can push the stream to the target streaming media service 120 when the target streaming time arrives. The embodiment of the present application does not make specific limitations on this.

[0099] It should be emphasized that the clocks of the host and slave are synchronized, and it can be assumed that there is no delay between the two. However, there may be network delay when the host sends a push instruction to the slave, so the target delay time can be set to ensure that each control terminal 110 has the same target push time.

[0100] It is understandable that after receiving the push stream instruction and the target delay time sent by the host, the slave can calculate the current time plus the target delay time, determine the push stream time, and obtain the target push stream time. For example, if the current time is 10:20 minutes, 9 seconds, and 500 milliseconds and the target delay time is 600 milliseconds, the target push stream time can be determined to be 10:20 minutes, 10 seconds, and 100 milliseconds. It should be emphasized that the target push stream time determined by the host and the slave is consistent, so that each control terminal 110 can push the stream to the target streaming service 120 at the same time.

[0101] It can be seen that in the embodiment of the present application, a control end of the host type can respond to obtaining a specified streaming request to determine the target streaming time, and then the control end of the host type calculates the target delay time, and sends the target delay time and streaming instruction to the control end of the slave type, so that each control end can arrive at the target streaming time and push to the target streaming media service, thereby ensuring that remote preview of the target screen wall can be achieved in subsequent steps.

[0102] Optionally, in another embodiment of the present application, the remote preview system further includes a management platform 140, and the designated streaming request is a request sent by the management platform 140 to the host-type control terminal 110;

[0103] The specified push stream request carries a first timestamp and a second timestamp; wherein the first timestamp is used to represent: the preview time to be previewed by the remote preview terminal 130, and the second timestamp is used to represent: the sending time of the specified push stream request;

[0104] Accordingly, step A1, based on the specified streaming request, determines the streaming time for the control terminal 110 to perform streaming as the target streaming time, which may include steps A11-A12:

[0105] Step A11: Based on the second timestamp carried by the designated streaming push request and the time information when the control terminal 110 receives the designated streaming push request, determine the network delay duration when the management platform 140 and the control terminal 110 transmit data as a reference network delay;

[0106] It is understood that in this embodiment, the type of each control terminal 110 can be pre-selected by the management platform 140, and the designated streaming request can be a request sent by the management platform 140 to the host-type control terminal 110. It should be emphasized that the scenario in this embodiment can be a preview scenario.

[0107] It can be understood that this step is for any control terminal 110 of the host type, that is, for the host. Then, the host responds to the specified streaming request issued by the management platform 140 for streaming the target streaming media service 120, and determines the network delay duration when the management platform 140 and the control terminal 110 transmit data; wherein, the specified streaming request includes a first timestamp and a second timestamp. In this case, the specified streaming request can also be called playback information.

[0108] It is understandable that based on the second timestamp and the time information when the host receives the specified push stream request, the network delay duration for data transmission from the management platform 140 to the host can be determined, that is, the difference between the sending time when the management platform 140 sends the specified push stream request and the receiving time information when the host receives the specified push stream request is calculated, thereby obtaining the network delay duration for data transmission between the two, which is used as a reference network delay. The purpose of calculating the reference network delay is to synchronize the time between the host and the management platform 140. For example, the second timestamp carried by the specified push stream request represents a time of 10:20 minutes 10 seconds 500 milliseconds, and the time information representing the time when the host receives the specified push stream request is 10:20 minutes 10 seconds 800 milliseconds. Then, it can be determined that the network delay duration for data transmission between the management platform 140 and the host is 300ms, which is used as the reference network delay.

[0109] Step A12: Subtract the reference network delay from the time represented by the first timestamp to determine the streaming time for the control terminal 110 to push the stream, which is used as the target streaming time.

[0110] It is understandable that the first timestamp can also represent the future moment when the remote preview terminal 130 performs a preview. The host can calculate the moment represented by the first timestamp minus the reference network delay to determine the push-stream moment when the host performs the push-stream as the target push-stream moment. Then, after the host sends the target delay duration and the push-stream instruction to each slave, the slave can also determine the push-stream moment and obtain the target push-stream moment. This allows each control terminal 110 to push the stream to the target streaming service 120 when the target push-stream moment is reached, thereby ensuring that the remote preview terminal 130 can perform a preview display when the moment represented by the first timestamp arrives. Of course, the above is only one implementation method for determining the target push-stream moment. There are other implementation methods that can determine the target push-stream moment, and this application does not specifically limit this. For example, the network delay duration when the management platform and the host perform data transmission is 300ms, and the first timestamp is 10:20 minutes 12 seconds 400 milliseconds. At this time, the push-stream moment when the host performs the push-stream can be calculated as 10:20 minutes 12 seconds 100 milliseconds, which is used as the target push-stream moment.

[0111] It can be seen that this application also takes into account the reference network delay when calculating the target streaming time, thereby ensuring that the remote preview end can preview and display when the time represented by the first timestamp arrives, ensuring the real-time nature of the remote preview.

[0112] Optionally, in another embodiment of the present application, the remote preview system further includes a management platform 140, which specifies the streaming request as a request for instructing periodic preview;

[0113] Accordingly, based on the specified streaming request, determining the streaming time for the control terminal 110 to perform streaming as the target streaming time may include step B1:

[0114] Step B1: In response to entering each cycle, based on a predetermined local streaming delay and the current time, the control terminal 110 determines a streaming time as a target streaming time.

[0115] It can be understood that this step is that when the host registers on the management platform 140, the management platform 140 can send the local push delay time to the host. After entering each cycle, the host can actively add the current time to the predetermined local push delay time, so as to determine the push time of the control terminal 110 for pushing the stream, as the target push time. When the cycle is every 5 minutes or shorter, the host can continuously push the stream to the target streaming media service 120, thereby realizing continuous remote preview; in this case, the designated push request issued by the management platform 140 for pushing the stream to the target streaming media service 120 can be the local push delay time sent in advance by the management platform 140.

[0116] It should be emphasized that each cycle can be a specified time of the day or a certain day of the week. For example, each cycle can be 10 o'clock every day or Monday of each week. This application does not make specific restrictions on this. Similarly, the local streaming delay time is also pre-set by the management platform 140. It can be 1 second or 100 milliseconds. This application does not make specific restrictions on this.

[0117] For example, each cycle is 10 o'clock every day. Then, in response to entering each cycle, based on the predetermined local push delay of 1 second, the push time of the host can be determined to be 10:01 second, which is used as the target push time.

[0118] It can be seen that after the host enters each cycle, it can determine the target push time based on the predetermined local push delay and the current time. This process can be considered as the host actively initiating remote preview at a fixed time, which can ensure the continuity of remote preview.

[0119] Optionally, in another embodiment of the present application, the remote preview terminal 130 is further configured to:

[0120] In response to a target control operation on a preview screen displayed for preview, determining coordinates of a desired control position in the preview screen indicated by the target control operation as desired control coordinates;

[0121] Converting the desired control coordinates into screen coordinates according to a predetermined coordinate conversion formula; wherein the coordinate conversion formula is used to convert the coordinates in the preview image into the coordinates on the target screen wall;

[0122] Based on the screen coordinates, the target control end desired to be controlled is determined, and based on the determined target control end, reverse control processing is performed, wherein the reverse control processing is used to instruct the target control end to perform a specified control operation, wherein the specified control operation is a control operation for the controlled screen unit that matches the target control operation.

[0123] It should be emphasized that the target control operation is used to manipulate the control terminal 110 corresponding to the screen unit of the desired control position. Then, when the desired control position is the entire preview screen, it is necessary to control each control terminal 110 corresponding to the target screen wall. When the desired control position is a portion of the preview screen, it is necessary to control the control terminal 110 corresponding to the screen unit corresponding to the portion of the preview screen. When the desired control position is the entire preview screen, there is no need to perform coordinate conversion, and each control terminal 110 can be directly controlled. When the desired control position is a portion of the preview screen, coordinate conversion is required. Coordinate conversion will be introduced later. Of course, it is also possible to batch select the desired control positions in the preview screen, which is achievable in the embodiments of the present application. For example, you can use the mouse to select a partial area and control the control terminal corresponding to the selected area.

[0124] In addition, for the target control operation of the preview screen displayed in the preview, the coordinates of the expected control position in the preview screen indicated by the target control operation can be determined. Since the expected control position can be targeted at an area or a position point, the expected control coordinates can represent an area or a position point, and the expected control coordinates are the coordinates in the screen coordinate system set for the preview screen. Exemplarily, the desired control coordinates can be represented by a four-dimensional coordinate, which can be (x, y, w, h), where when the desired control position is a position point, the values ​​of w and h can be 0, and (x, y) are the coordinates of the position point, and when the desired control position is an area, (x, y) are the coordinates of a reference point of the area, w and h are the offset distances in the width and height directions relative to the reference point, for example: x can be the horizontal coordinate of the point in the upper left corner of the area, y is the vertical coordinate of the point in the upper left corner of the area, w is the width of the area, and h is the height of the area. Of course, x and y are not limited to the point in the upper left corner of the area, but can also be the point in the upper right corner or the center point of the area. The embodiments of the present application do not make specific limitations on this.

[0125] It can be understood that according to a predetermined coordinate conversion formula, the desired control coordinates can be converted into screen coordinates. The screen coordinates can represent the coordinates corresponding to the desired control position on the target screen wall. The coordinates are also a four-dimensional coordinate, which can be expressed as (x', y', w', h'). Moreover, similar to the aforementioned desired control coordinates, (x', y', w', h') can represent an area or a position point. Specifically, when the desired control position is a position point, the values ​​of w' and h' can be 0, and (x', y') are the coordinates of the position point corresponding to the position point on the target screen wall. When the desired control position is an area, (x', y') are the coordinates of the position point corresponding to a reference point of the area on the target screen wall, and w' and h' are the offset distances of the target screen wall in the width direction and height direction.

[0126] For example, in one implementation, the coordinate transformation formula may be as follows:

[0127] x'=x*Sx; y'=y*Sy; w'=(x+w)*Sx–x*Sx=w*Sx; y'=(y+h)*Sy–y*Sy=h*Sy;

[0128] Sx=W / bw;

[0129] Sy=H / bh.

[0130] In the above formula, bw and bh can represent the width and height of the preview screen, (bw, bh) can be called the specified base coordinate information or reference coordinate information of the preview screen, and the unit can be um, mm or cm, which is not specifically limited in the embodiment of the present application; W and H can represent the resolution of the target screen wall in the width direction and height direction, (W, H) can be called the specified base coordinate information or reference information of the target screen wall; Sx and Sy respectively represent the scaling ratios of the target screen wall and the preview screen in the width direction and height direction.

[0131] It is understandable that the coordinate transformation relationship in the width direction can be calculated based on bw and W, and the coordinate transformation relationship in the vertical direction can be calculated based on bh and H. It should be emphasized that when determining bw and bh, they can be multiplied by a magnification factor, such as 100, to improve the degree of refinement. For example: bw and bh of the preview screen are both 960mm, and they can be multiplied by 100 to obtain (bw, bh) = (96000, 96000); of course, the multiplication by 100 is not required, and this application does not make specific restrictions on this.

[0132] For example, the specified reference coordinate information of the preview screen is (96000, 96000), the expected control coordinates (x, y, w, h) = (48000, 48000, 48000, 48000), and the resolution of the entire target video wall is (W, H) = (3840, 2160). Then, Sx = 0.04, Sy = 0.0225 can be calculated. Then, based on the above calculation formula, the screen coordinates (x', y', w', h') = (1920, 1080, 1920, 1080) can be calculated.

[0133] Of course, the above implementation method is only one implementation method for calculating screen coordinates. Screen coordinates can also be calculated based on other methods to achieve coordinate conversion. The embodiments of the present application do not make specific limitations on this.

[0134] In addition, if the preview screen displayed is a preview screen displayed by the remote preview terminal 130, the target control operation can be to adjust the brightness, contrast, and resolution of the preview screen, etc., which is not specifically limited in this embodiment of the present application. Moreover, after the screen coordinates are determined, since the positional relationship between the various screen units of the target screen wall is known in advance, the coordinate area of ​​each screen unit in the target screen wall can be known in advance. Therefore, the screen area to which the determined screen coordinates belong can be identified, and the control terminal 110 corresponding to the screen unit to which the identified screen area belongs can be used as the target control terminal.

[0135] It is understandable that after determining the target control terminal to be controlled, reverse control processing can be performed on the target control terminal. The reverse control processing is a processing for instructing the target control terminal to perform a specified control operation, wherein the specified control operation matches the target control operation. For example, when the target control operation is to adjust the brightness of the preview screen, the specified control operation is to control the target control terminal to adjust the brightness of the corresponding screen unit. It is understandable that the reverse control processing can also be an operation such as adjusting the contrast. The embodiment of the present application does not specifically limit the reverse control processing. In addition, optionally, in one implementation, the remote preview terminal 130 can pre-record the access address of each control terminal 110. Then, the remote preview terminal 130, based on the determined target control terminal, performs the reverse control processing. The implementation process may include: sending a specified control instruction to the target control terminal so that the target control terminal responds to the specified control instruction to perform the specified control operation.

[0136] It can be seen that in this embodiment, the remote preview end can perform reverse control processing on the determined target control end, thereby adjusting the display effect of the target screen wall, improving the diversity of remote preview, and also improving the display effect of the target screen wall.

[0137] Optionally, in another embodiment of the present application, the remote preview system further includes a management platform 140;

[0138] The remote preview terminal 130 performs reverse control processing based on the determined target control terminal, including:

[0139] Sending a reverse control instruction for the target control terminal to the management platform 140, so that the management platform 140 instructs the target control terminal to perform the specified control operation based on the reverse control instruction;

[0140] The control operation indicated by the reverse control instruction matches the target control operation.

[0141] It will be appreciated that after determining the target control terminal to be controlled, the remote preview terminal 130 can send a reverse control instruction for the target control terminal to the management platform 140, so that the management platform 140, based on the reverse control instruction, instructs the target control terminal to perform the specified control operation. In this embodiment, the management platform 140 can perform reverse control on the target control terminal and perform the specified control operation. It will be appreciated that the specific operation process has been described in the above embodiment and will not be repeated here.

[0142] It can be seen that in this embodiment, the management platform can perform reverse control processing on the target control terminal, thereby adjusting the display effect of the target screen wall, improving the diversity of remote preview, and also improving the display effect of the target screen wall.

[0143] In order to better understand the content about reverse control, you can combine the above content with the accompanying figure for introduction, as shown in Figure 3:

[0144] S301, each control terminal actively pushes the stream to the target streaming service;

[0145] It is understandable that this step is performed by each control terminal, and each control terminal can actively push the stream to the target streaming service. The specific process has been introduced above and will not be repeated here.

[0146] S302, the target streaming service receives the stream data using a storage mechanism;

[0147] It is understandable that steps S302-S304 are all executed by the target streaming service. The target streaming service can use the storage mechanism of the server on which it runs to receive the stream data, and the stream data can be stored in the memory of the server on which the target streaming service runs.

[0148] S303, the target streaming media service combines the received streams to obtain a target stream containing the frame data of each frame for display on the target screen wall;

[0149] It is understandable that this process has been introduced in the above embodiment, so it will not be repeated here.

[0150] S304: In response to the second trigger condition being met, the target streaming service pushes the target stream to the web terminal for preview display;

[0151] It is understandable that this process has been introduced in the above embodiment, so it will not be repeated here.

[0152] S305: The web terminal previews and displays the target screen wall and performs reverse control.

[0153] It is understandable that this step is performed by the web end, that is, the remote preview end, and the web end may perform reverse control on the control end after previewing and displaying the image of the target screen wall.

[0154] It can be seen that the embodiment of the present application can reversely control the control end through the remote preview end, thereby adjusting the display effect of the target screen wall, improving the diversity of remote preview, and also improving the display effect of the target screen wall.

[0155] Optionally, in another embodiment of the present application, the target streaming service 120 is one of a plurality of streaming services; the remote preview system further includes a management platform 140;

[0156] The management platform 140 is configured to determine reference indicator information before each control terminal 110 actively pushes the stream corresponding to the control terminal 110 to the target streaming service 120. The reference indicator information includes one or more of the performance weight of each streaming service, the number of each control terminal 110, and the number of remaining connections of each streaming service.

[0157] Based on the reference indicator information, a streaming media service to be allocated to each control terminal 110 is selected from a plurality of streaming media services to obtain a target streaming media service 120 .

[0158] It is understandable that this section introduces that before each control terminal 110 actively pushes the code stream corresponding to the control terminal 110 to the target streaming service 120, the management platform 140 can determine the reference indicator information. The reference indicator information is for each streaming service and each control terminal 110, and can include the performance weight value of each streaming service, the number of each control terminal 110, and the number of remaining connections for each streaming service. The number of remaining connections for a streaming service can be the number of connections for TCP (Transmission Control Protocol) or the number of connections for UDP (User Datagram Protocol). This application does not make specific restrictions on this. For example, the performance weight value of each streaming service can be calculated based on the number of CPUs and memory of the server on which each streaming service runs. The more available CPUs and memory the server on which the streaming service runs has, the greater the performance weight value of the streaming service.

[0159] It is understandable that based on the reference indicator information, a streaming media service to be allocated to each control terminal 110 can be selected from multiple streaming media services, thereby obtaining a target streaming media service 120 .

[0160] In one implementation, the management platform 140 selects a streaming service to be assigned to each control terminal 110 from a plurality of streaming services based on the reference indicator information to obtain the target streaming service 120, which may include steps C1-C4:

[0161] Step C1, sorting the streaming media services in ascending order of their performance weight values ​​to obtain a target sequence;

[0162] It is understood that, based on the performance weight values ​​of each streaming service in the reference indicator information, the performance weight values ​​of each streaming service are sorted in ascending order to obtain a target sequence. For example, if the performance weight value of streaming service 1 is 100, the performance weight value of streaming service 2 is 120, and the performance weight value of streaming service 3 is 150, then, by sorting the performance weight values ​​in ascending order, a target sequence of streaming service 1 → streaming service 2 → streaming service 3 can be obtained. Of course, in another implementation, the performance weight values ​​of each streaming service can also be sorted from large to small, and this application does not specifically limit this.

[0163] Step C2, determining the current reference weight value corresponding to the target screen wall;

[0164] It is understandable that when each control terminal 110 corresponding to the target screen wall registers with the management platform 140, the index identifier index corresponding to the target screen wall can be determined, and the target screen wall can be determined based on the index identifier.

[0165] It can be understood that based on the index identifier, the screen wall corresponding to the control terminal 110 for which a binding relationship needs to be established can be determined, and the target screen wall can be obtained, thereby determining the current reference weight value corresponding to the target screen wall. The current reference weight value can be determined based on each control terminal 110 corresponding to the target screen wall, and the performance weight value of the selected target streaming media service 120 must be greater than the current reference weight value corresponding to the target screen wall.

[0166] Step C3, traversing and analyzing each streaming service in the target sequence. When traversing each streaming service, it is detected whether the performance weight value of the streaming service is greater than the current reference weight value, and whether the number of remaining connections of the streaming service is greater than the number of each control terminal 110. If both conditions are met, the currently traversed streaming service is determined as the streaming service to be allocated to each control terminal 110, thereby obtaining the target streaming service 120;

[0167] It is understandable that when traversing and analyzing each streaming service in the target sequence, the analysis can be performed in order starting from the streaming service with the smallest performance weight value. When traversing each streaming service, it is detected whether the performance weight value of the streaming service is greater than the current reference weight value, and whether the remaining number of connections of the streaming service is greater than the number of each control terminal 110. When all of the above conditions are met, the currently traversed streaming service can be determined as the target streaming service 120; it should be emphasized that the above conditions must be met at the same time. When any condition is not met, the currently traversed streaming service cannot be determined as the target streaming service. Only when the performance weight value of the streaming service is greater than the current reference weight value and the remaining number of connections of the streaming service is greater than the number of each control terminal 110, can the currently traversed streaming service be determined as the target streaming service 120. For example, the current reference weight value is 80, the number of control terminals 110 is 20, and the order of the target sequence is streaming service 1 → streaming service 2 → streaming service 3. When traversing to streaming service 1, the number of remaining connections of streaming service 1 is 30, and the performance weight value is 100. This satisfies the requirement that the performance weight value of streaming service 1 is greater than the current reference weight value, and the number of remaining connections of streaming service 1 is greater than the number of control terminals 110. At this time, streaming service 1 can be determined as the target streaming service 120.

[0168] Step C4, otherwise, when the currently traversed streaming media service is not the last service in the target sequence, continue to traverse the next streaming media service in the target sequence, and when the currently traversed streaming media service is the last service in the target sequence, reduce the current reference weight value according to a predetermined adjustment range, and return to the step of traversing and analyzing each streaming media service in the target sequence.

[0169] It can be understood that when the performance weight value of the streaming media service is greater than the current reference weight value, but the number of remaining connections of the streaming media service is less than the number of each control terminal 110, the above conditions cannot be met. At this time, step C4 can be executed. Similarly, when the performance weight value of the streaming media service is less than the current reference weight value, but the number of remaining connections of the streaming media service is greater than the number of each control terminal 110, the above conditions cannot be met. At this time, step C4 can be executed.

[0170] It can be understood that if the currently traversed streaming media service does not meet the above conditions, and the currently traversed streaming media service is not the last streaming media service in the target sequence, the traversal can continue to the next streaming media service. For example, the target sequence is streaming media service 1 → streaming media service 2 → streaming media service 3. The currently traversed and analyzed streaming media service 1 does not meet the conditions that the performance weight value of streaming media service 1 is greater than the current reference weight value, and the number of remaining connections of streaming media service 1 is greater than the number of each control terminal 110. At this time, the traversal can continue to streaming media service 2.

[0171] It is understood that if the currently traversed streaming service does not meet the above conditions, and the currently traversed streaming service is the last streaming service in the target sequence, the current reference weight can be reduced according to a predetermined adjustment range. The predetermined adjustment range can be the greatest common divisor of the performance weight values ​​of each streaming service, or it can be an empirical value. Then, the traversal analysis of each streaming service in the target sequence is continued with the reduced current reference value. For example, the current reference weight is 80, the number of each control terminal 110 is 20, and the target sequence is streaming service 1 → streaming service 2 → streaming service 3. When traversing to streaming service 3, the number of remaining connections of streaming service 3 is 10 and the performance weight is 120. This satisfies the conditions that the performance weight of streaming service 3 is greater than the current reference weight, and the number of remaining connections of streaming service 3 is less than the number of each control terminal 110. At this time, streaming service 3 is the last service in the target sequence. At this time, the current reference weight can be subtracted from the greatest common divisor of the performance weight values ​​of each streaming service. The greatest common divisor is 10, so the current reference weight is 70, and the traversal analysis of each streaming service in the target sequence is repeated.

[0172] It should be emphasized that when the current reference weight value is 0, the current reference weight value is reset to the maximum performance weight value among all streaming services.

[0173] Of course, the above-described process of establishing the binding relationship between each control terminal 110 and the target streaming media service 120 is only one implementation method of establishing the binding relationship and does not limit the present application.

[0174] In order to better understand this part of the content, the following will be briefly introduced with reference to the accompanying drawings, as shown in Figure 4:

[0175] S401, adding each streaming media service to the management platform for unified management;

[0176] It is understandable that the management platform can manage various streaming media services in a unified manner, thereby establishing a binding relationship between the streaming media services and various control terminals.

[0177] S402, determining the performance weight value of each streaming media service;

[0178] It is understandable that the performance weight value of each streaming service can be determined based on the number of CPUs and memory of the server on which each streaming service runs, and this part will not be described in detail.

[0179] S403, control end registration management platform;

[0180] It is understandable that the control terminal can be registered to the management platform in the remote preview system.

[0181] S404, detecting whether the control terminal belongs to a video wall;

[0182] If not, execute step S405; if so, execute step S406.

[0183] S405, allocating streaming media services according to a single screen unit rule to obtain a target streaming media service;

[0184] It is understandable that in this case, there is only one screen unit, so the screen unit also corresponds to only one control terminal. In this case, the streaming media service with the largest performance weight value can be directly assigned to the corresponding control terminal as the target streaming media service, and step S407 is continued;

[0185] S406, obtaining the number of control terminals corresponding to the screen wall, selecting a streaming service to be assigned to each control terminal from the plurality of streaming services, and obtaining a target streaming service;

[0186] It is understandable that this part of the content has been introduced above, so I will not elaborate on it here.

[0187] S407, obtaining the access address of the target streaming media service and sending it to the corresponding control terminal;

[0188] It is understandable that not only the access address of the target streaming service is sent, but also authentication information AK (Access KEY ID, user identification) and SK (Secret Access KEY, key) may be sent.

[0189] S408: Each control terminal pushes the code stream corresponding to the control terminal to the target streaming media service based on the access address.

[0190] It can be seen that the embodiment of the present application can adopt a traversal analysis method to compare the performance weight value of each streaming media service with the reference weight value, thereby determining the target streaming media service and establishing a binding relationship between each control terminal and the target streaming media service, so that each control terminal can push the corresponding code stream to the target streaming media service, thereby realizing effective multi-channel streaming for remote preview.

[0191] Optionally, in one implementation, the management platform 140 is further configured to:

[0192] In response to a target remote preview request for each pre-edited data to be displayed, the pre-edited data to be displayed are sent to the target streaming media service 120; wherein each data to be displayed is data to be displayed on the target screen wall;

[0193] The target streaming service 120 is further configured to:

[0194] In response to receiving the data to be displayed sent by the management platform 140, the management platform 140 combines the data to be displayed according to the display position relationship between the data to be displayed to obtain combined screen data, and pushes the combined screen data to the remote preview terminal 130 in response to the preview trigger timing of the data to be displayed.

[0195] The remote preview terminal 130 is further configured to preview and display the combined screen data in response to receiving the combined screen data.

[0196] It is understandable that the management platform 140 can send the pre-edited data to be displayed on the same screen to the target streaming media service 120. The target streaming media service 120 can splice the data to be displayed on the same screen according to the display position relationship between the data to be displayed, that is, combine the data to be displayed on the same screen to obtain combined screen data. The display position relationship between the data to be displayed on the same screen can be pre-set on the management platform 140. The combined screen data can have multiple data to be displayed on the same screen. The target streaming media service 120 can push the combined screen data to the remote preview terminal 130. The remote preview terminal 130 can preview and display the combined screen data. Through this method, multiple data to be displayed can be previewed at one time.

[0197] In addition, the pre-editing process can also be executed by the management platform 140. The pre-editing can be editing window coordinates, content file type, file storage path, component resource file information, etc., where the window coordinates can be the window position of the data to be displayed in the combined screen data, and the file type can be pictures, videos, documents, etc. This application does not make specific restrictions on this.

[0198] In order to better understand this part of the content, the following is a brief introduction with reference to the accompanying drawings, as shown in Figures 5 and 6:

[0199] FIG5 is an effect diagram of combined screen data, wherein image data 1 is placed in the upper left corner, image data 2 is placed in the upper right corner, and image data 3 is placed at the bottom, thereby achieving a combined display effect.

[0200] FIG6 is a schematic diagram of a process for displaying pre-edited data to be displayed, which may include:

[0201] S601, the management platform pre-edits each data to be displayed;

[0202] It is understandable that the management platform can edit the window coordinates, content file type, file storage path, component resource file information, etc. of each data to be displayed.

[0203] S602, the management platform records the pre-edited content;

[0204] It is understandable that the management platform can record and save the pre-edited content.

[0205] S603, sending the pre-edited data to be displayed to the target streaming media service;

[0206] S604, the target streaming media service may splice the various data to be displayed to obtain combined picture data and send it to the web end;

[0207] S605: The web terminal previews and displays the combined screen data.

[0208] It is understandable that steps S603 to S605 have been introduced above and will not be repeated here.

[0209] It can be seen that the embodiment of the present application can realize the function of pre-editing preview based on the target streaming media service, so that the effect of pre-editing can be viewed in advance, and multiple pre-edited data to be displayed can be previewed on the same screen, thereby improving work efficiency.

[0210] The following describes a remote preview method provided by an embodiment of the present application with reference to the accompanying drawings.

[0211] As shown in FIG7 , an embodiment of the present application provides a remote preview method, which is applied to a target streaming media service included in a remote preview system. The remote preview system also includes a remote preview terminal and various control terminals. The control terminal is used to manage the screen units included in a target screen wall. The number of screen units included in the target screen wall is at least two. The method may include the following steps:

[0212] S701, receiving the code stream pushed by each control terminal;

[0213] The code stream pushed by each control terminal is: in response to satisfying a first trigger condition, after determining the target streaming time shared by each control terminal and reaching the target streaming time, the control terminal actively pushes the code stream to the target streaming service, wherein the first trigger condition is a trigger condition for pushing the stream to the target streaming service;

[0214] S702, combining the received code streams to obtain a target code stream;

[0215] The target code stream includes the frame data of each frame displayed by the target screen wall;

[0216] S703: In response to a second trigger condition being met, push the target stream to the remote preview terminal, so that the remote preview terminal, in response to receiving the target stream, previews the images of the target screen wall based on the target stream.

[0217] The second trigger condition is a preview trigger condition of the target screen wall by the remote preview terminal.

[0218] It is understandable that the above steps are executed by the target streaming media service. The specific implementation of each step can refer to the corresponding description of the above system embodiment, and will not be described in detail here.

[0219] It can be seen that the target streaming service in this application can merge the received streams to obtain the target stream. When there are multiple remote preview terminals, the target streaming service can also push the target stream to multiple remote preview terminals to achieve multi-channel remote preview. Compared with the existing technology, when there is a preview demand at one or more remote preview terminals, there is no need to perform multi-channel stream acquisition on each control terminal of the target screen wall, thereby avoiding the situation that affects the playback stability of the target screen wall, and also avoids the situation where the number of remote preview terminals exceeds the number of stream acquisition channels of the control terminal, resulting in stream acquisition failure. Therefore, the embodiment of the present application can achieve effective multi-channel stream acquisition for remote preview.

[0220] Optionally, in another embodiment of the present application, the present application also provides another remote preview method.

[0221] As shown in FIG8 , another remote preview method provided in an embodiment of the present application is applied to any of the control terminals included in a remote preview system; the remote preview system also includes a target streaming media service and a remote preview terminal, each control terminal is configured to manage screen units included in a target screen wall, and the number of screen units included in the target screen wall is at least two; the method includes:

[0222] S801, in response to a first trigger condition being met, determining a target streaming time shared by each control terminal;

[0223] The first trigger condition is a trigger condition for pushing a stream to a target streaming service;

[0224] S802: When the target streaming time is reached, actively push the code stream corresponding to the control terminal to the target streaming media service, so that the target media service merges the received code streams to obtain a target code stream; and in response to satisfying a second trigger condition, push the target code stream to the remote preview terminal, so that the remote preview terminal is configured to preview the screen of the target screen wall based on the target code stream in response to receiving the target code stream;

[0225] Among them, the code stream corresponding to the control end is a code stream generated based on the target screen data, and the target screen data is the screen data displayed by the screen unit controlled by the control end. The second trigger condition is the preview trigger condition of the remote preview end for the target screen wall, and the target code stream contains each frame of screen data displayed by the target screen wall.

[0226] Optionally, the control terminal is a host type or a slave type;

[0227] In response to the first trigger condition being met, determining a target streaming time shared by each control terminal includes:

[0228] When the control terminal is a host type, in response to obtaining a designated streaming push request, determining a streaming push time for the control terminal to push the stream based on the designated streaming push request as a target streaming push time; wherein the designated streaming push request is a request for instructing to push the stream for a target streaming media service;

[0229] When the control end is of a slave type, in response to receiving a streaming instruction and a target delay duration sent by a master type control end, determining a streaming time based on a current time and the target delay duration to obtain a target streaming time; wherein the target delay duration is a time difference between a first time and a second time, the first time being the time when the streaming instruction is sent, and the second time being the streaming time determined by the master type control end;

[0230] In the case where the type of the control terminal is a host type, the method further includes:

[0231] Based on the designated streaming request, the control end determines a streaming time for streaming, takes the target streaming time as the target streaming time, and then sends the streaming instruction and the target delay time to the slave type control end.

[0232] Optionally, the remote preview system further includes a management platform, and the designated streaming request is a request sent by the management platform to the host-type control terminal;

[0233] The designated streaming request carries a first timestamp and a second timestamp; wherein the first timestamp is used to indicate the preview moment at which the remote preview terminal is to perform the preview, and the second timestamp is used to indicate the sending time of the designated streaming request;

[0234] The step of determining, based on the specified streaming request, a streaming time for the control end to perform streaming as a target streaming time, includes:

[0235] Based on the second timestamp carried by the designated streaming push request and the time information when the control terminal receives the designated streaming push request, determining the network delay duration when the management platform and the control terminal transmit data as a reference network delay;

[0236] The reference network delay is subtracted from the time represented by the first timestamp to determine the streaming time at which the control end performs streaming, which is used as the target streaming time.

[0237] Optionally, the remote preview terminal is further configured to:

[0238] In response to a target control operation on a preview screen displayed for preview, determining coordinates of a desired control position in the preview screen indicated by the target control operation as desired control coordinates;

[0239] Converting the desired control coordinates into screen coordinates according to a predetermined coordinate conversion formula; wherein the coordinate conversion formula is used to convert the coordinates in the preview image into the coordinates on the target screen wall;

[0240] Based on the screen coordinates, the target control end desired to be controlled is determined, and based on the determined target control end, reverse control processing is performed, wherein the reverse control processing is used to instruct the target control end to perform a specified control operation, wherein the specified control operation is a control operation for the controlled screen unit that matches the target control operation.

[0241] Optionally, the remote preview system further includes a management platform;

[0242] The remote preview end performs reverse control processing based on the determined target control end, including:

[0243] Sending a reverse control instruction for the target control terminal to the management platform, so that the management platform instructs the target control terminal to perform the specified control operation based on the reverse control instruction;

[0244] The control operation indicated by the reverse control instruction matches the target control operation.

[0245] Optionally, the target streaming media service is one of a plurality of streaming media services; the remote preview system further includes a management platform;

[0246] The management platform is configured to determine reference indicator information before each control terminal actively pushes the code stream corresponding to the control terminal to the target streaming media service, wherein the reference indicator information includes one or more of: a performance weight value of each streaming media service, the number of each control terminal, and the number of remaining connections of each streaming media service;

[0247] Based on the reference indicator information, a streaming media service to be allocated to each control terminal is selected from a plurality of streaming media services to obtain a target streaming media service.

[0248] Optionally, the management platform selects a streaming media service to be allocated to each control terminal from a plurality of streaming media services based on the reference indicator information to obtain a target streaming media service, including:

[0249] Sort the streaming services in ascending order according to their performance weight values ​​to obtain a target sequence;

[0250] Determining a current reference weight value corresponding to the target screen wall;

[0251] Performing a traversal analysis on each streaming service in the target sequence, and when traversing to each streaming service, detecting whether the performance weight value of the streaming service is greater than the current reference weight value and whether the number of remaining connections of the streaming service is greater than the number of each control terminal, if both conditions are met, determining the currently traversed streaming service as the streaming service to be allocated to each control terminal, thereby obtaining the target streaming service;

[0252] Otherwise, when the currently traversed streaming media service is not the last service in the target sequence, continue to traverse the next streaming media service in the target sequence. When the currently traversed streaming media service is the last service in the target sequence, reduce the current reference weight value according to a predetermined adjustment range, and return to the step of traversing and analyzing each streaming media service in the target sequence.

[0253] Optionally, the management platform is further used to:

[0254] In response to a target remote preview request for each pre-edited data to be displayed, sending each pre-edited data to be displayed to the target streaming media service; wherein each data to be displayed is data to be displayed on the target screen wall;

[0255] The target streaming service is also used to:

[0256] In response to receiving the data to be displayed sent by the management platform, splicing the data to be displayed according to the display position relationship between the data to be displayed to obtain combined screen data, and pushing the combined screen data to the remote preview terminal in response to the preview trigger timing of the data to be displayed;

[0257] The remote preview end is further configured to preview and display the combined screen data in response to receiving the combined screen data.

[0258] It is understandable that the specific implementation of each of the above steps can refer to the corresponding description of the aforementioned system embodiment, and will not be elaborated here.

[0259] It can be seen that the control end can determine the target streaming time shared by each control end in response to meeting the first trigger condition. When the target streaming time is reached, the code stream corresponding to the control end can be pushed to the target streaming service. The target streaming service can merge the received code streams to obtain a target code stream containing the frame data of each frame for display on the target screen wall. When there are multiple remote preview ends, the target streaming service can also push the target code stream to multiple remote preview ends to achieve multi-channel remote preview. Compared with the prior art, when there is a preview demand at one or more remote preview ends, there is no need to perform multi-channel streaming on each control end of the target screen wall, thereby avoiding the situation that affects the playback stability of the target screen wall, and also avoiding the situation where the number of remote preview ends is greater than the number of streaming channels of the control end, resulting in a failure in streaming. Therefore, the embodiment of the present application can achieve effective multi-channel streaming for remote preview.

[0260] Based on the above method embodiment, as shown in FIG9 , an embodiment of the present application provides a remote preview device, which is applied to a target streaming media service included in a remote preview system. The remote preview system also includes a remote preview terminal and various control terminals. The control terminal is used to manage the screen units included in the target screen wall. The number of screen units included in the target screen wall is at least two. The device includes:

[0261] Receiving module 910 is configured to receive code streams pushed by each control terminal; wherein the code stream pushed by each control terminal is a code stream that the control terminal actively pushes to the target streaming service in response to satisfying a first trigger condition, after determining a target streaming time shared by each control terminal and when the target streaming time is reached, wherein the first trigger condition is a trigger condition for pushing the stream to the target streaming service;

[0262] The code stream merging module 920 is configured to merge the received code streams to obtain a target code stream; wherein the target code stream includes the frame data of each frame displayed on the target screen wall;

[0263] The first push module 930 is configured to push the target code stream to the remote preview terminal in response to satisfying a second trigger condition, so that the remote preview terminal, in response to receiving the target code stream, previews the screen of the target screen wall based on the target code stream; wherein the second trigger condition is a preview trigger condition of the remote preview terminal for the target screen wall.

[0264] Based on the above method embodiment, as shown in FIG10 , an embodiment of the present application provides another remote preview device, which is applied to any of the control terminals included in the remote preview system; the remote preview system also includes a target streaming media service and a remote preview terminal, each control terminal is used to manage the screen units included in the target screen wall, and the number of screen units included in the target screen wall is at least two; the device includes:

[0265] A first determining module 1010 is configured to determine a target streaming time shared by each control terminal in response to a first trigger condition being met; wherein the first trigger condition is a trigger condition for streaming to a target streaming service;

[0266] The second push module 1020 is configured to actively push the code stream corresponding to the control terminal to the target streaming media service when the target streaming time is reached, so that the target media service merges the received code streams to obtain a target code stream, and push the target code stream to the remote preview terminal in response to satisfying a second trigger condition, so that the remote preview terminal is configured to preview the screen of the target screen wall based on the target code stream in response to receiving the target code stream;

[0267] Among them, the code stream corresponding to the control end is a code stream generated based on the target screen data, and the target screen data is the screen data displayed by the screen unit controlled by the control end. The second trigger condition is the preview trigger condition of the remote preview end for the target screen wall, and the target code stream contains each frame of screen data displayed by the target screen wall.

[0268] Optionally, the control terminal is a host type or a slave type;

[0269] The first determination module is specifically configured as follows:

[0270] When the control terminal is a host type, in response to obtaining a designated streaming push request, determining a streaming push time for the control terminal to push the stream based on the designated streaming push request as a target streaming push time; wherein the designated streaming push request is a request for instructing to push the stream for a target streaming media service;

[0271] When the control end is of a slave type, in response to receiving a streaming instruction and a target delay duration sent by a master type control end, determining a streaming time based on a current time and the target delay duration to obtain a target streaming time; wherein the target delay duration is a time difference between a first time and a second time, the first time being the time when the streaming instruction is sent, and the second time being the streaming time determined by the master type control end;

[0272] In the case where the type of the control terminal is a host type, the device further includes:

[0273] The second determining module is configured to determine the streaming time for the control end to push the stream based on the specified streaming request, and after using the target streaming time as the target streaming time, send the streaming instruction and the target delay time to the slave type control end.

[0274] Optionally, the remote preview system further includes a management platform, and the designated streaming request is a request sent by the management platform to the host-type control terminal;

[0275] The designated streaming request carries a first timestamp and a second timestamp; wherein the first timestamp is used to indicate the preview moment at which the remote preview terminal is to perform the preview, and the second timestamp is used to indicate the sending time of the designated streaming request;

[0276] The second determining module includes:

[0277] A first determining submodule is configured to determine, based on a second timestamp carried by the designated streaming push request and time information of when the control terminal receives the designated streaming push request, a network delay duration during data transmission between the management platform and the control terminal, as a reference network delay;

[0278] The second determining submodule is configured to subtract the reference network delay from the time represented by the first timestamp to determine the streaming time at which the control end performs streaming as the target streaming time.

[0279] Optionally, the remote preview terminal is further configured to:

[0280] In response to a target control operation on a preview screen displayed for preview, determining coordinates of a desired control position in the preview screen indicated by the target control operation as desired control coordinates;

[0281] Converting the desired control coordinates into screen coordinates according to a predetermined coordinate conversion formula; wherein the coordinate conversion formula is used to convert the coordinates in the preview image into the coordinates on the target screen wall;

[0282] Based on the screen coordinates, the target control end desired to be controlled is determined, and based on the determined target control end, reverse control processing is performed, wherein the reverse control processing is used to instruct the target control end to perform a specified control operation, wherein the specified control operation is a control operation for the controlled screen unit that matches the target control operation.

[0283] Optionally, the remote preview system further includes a management platform;

[0284] The remote preview end performs reverse control processing based on the determined target control end, including:

[0285] Sending a reverse control instruction for the target control terminal to the management platform, so that the management platform instructs the target control terminal to perform the specified control operation based on the reverse control instruction;

[0286] The control operation indicated by the reverse control instruction matches the target control operation.

[0287] Optionally, the target streaming media service is one of a plurality of streaming media services; the remote preview system further includes a management platform;

[0288] The management platform is configured to determine reference indicator information before each control terminal actively pushes the code stream corresponding to the control terminal to the target streaming service, the reference indicator information including one or more of: a performance weight value of each streaming service, a number of each control terminal, and a number of remaining connections of each streaming service;

[0289] Based on the reference indicator information, a streaming media service to be allocated to each control terminal is selected from a plurality of streaming media services to obtain a target streaming media service.

[0290] Optionally, the management platform selects a streaming media service to be allocated to each control terminal from a plurality of streaming media services based on the reference indicator information to obtain a target streaming media service, including:

[0291] Sort the streaming services in ascending order according to their performance weight values ​​to obtain a target sequence;

[0292] Determining a current reference weight value corresponding to the target screen wall;

[0293] Performing a traversal analysis on each streaming service in the target sequence, and when traversing to each streaming service, detecting whether the performance weight value of the streaming service is greater than the current reference weight value and whether the number of remaining connections of the streaming service is greater than the number of each control terminal, if both conditions are met, determining the currently traversed streaming service as the streaming service to be allocated to each control terminal, thereby obtaining the target streaming service;

[0294] Otherwise, when the currently traversed streaming media service is not the last service in the target sequence, continue to traverse the next streaming media service in the target sequence. When the currently traversed streaming media service is the last service in the target sequence, reduce the current reference weight value according to a predetermined adjustment range, and return to the step of traversing and analyzing each streaming media service in the target sequence.

[0295] Optionally, the management platform is further configured to:

[0296] In response to a target remote preview request for each pre-edited data to be displayed, sending each pre-edited data to be displayed to the target streaming media service; wherein each data to be displayed is data to be displayed on the target screen wall;

[0297] The target streaming service is also set to:

[0298] In response to receiving the data to be displayed sent by the management platform, splicing the data to be displayed according to the display position relationship between the data to be displayed to obtain combined screen data, and pushing the combined screen data to the remote preview terminal in response to the preview trigger timing of the data to be displayed;

[0299] The remote preview end is further configured to preview and display the combined screen data in response to receiving the combined screen data.

[0300] In the technical solution of this application, the operations involved in obtaining, storing, using, processing, transmitting, providing and disclosing user personal information are all carried out with the user's authorization.

[0301] The present application also provides an electronic device, as shown in FIG11 , including:

[0302] Memory 1101, used for storing computer programs;

[0303] The processor 1102 is configured to implement the above-mentioned remote preview method when executing the program stored in the memory 1101 .

[0304] Furthermore, the electronic device may further include a communication bus and / or a communication interface, and the processor 1102 , the communication interface, and the memory 1101 communicate with each other via the communication bus.

[0305] The communication bus mentioned in the electronic device mentioned above may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used in the figure, but this does not mean that there is only one bus or only one type of bus.

[0306] The communication interface is used for communication between the above electronic device and other devices.

[0307] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.

[0308] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.

[0309] In another embodiment provided by the present application, a computer-readable storage medium is further provided, wherein a computer program is stored in the computer-readable storage medium. When the computer program is executed by a processor, any of the above remote preview methods is implemented.

[0310] In another embodiment provided by the present application, a computer program product including instructions is further provided, which, when executed on a computer, enables the computer to execute any of the remote preview methods in the above embodiments.

[0311] In another embodiment provided by the present application, a computer program is further provided. When the computer program is run on a computer, the computer is enabled to execute any of the remote preview methods in the above embodiments.

[0312] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. 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 from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a solid-state drive (SSD).

[0313] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.

[0314] Each embodiment in this specification is described in a related manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiment is generally similar to the method embodiment, so the description is relatively simple. For related parts, refer to the description of the method embodiment.

[0315] The above description is only a preferred embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application are included in the scope of protection of the present application.

Claims

1. A remote preview system, including a target streaming media service, a remote preview terminal, and each control terminal. The control terminal is used to manage the screen units included in the target screen wall, and the number of screen units included in the target screen wall is at least two; Each control terminal is configured to determine a target streaming moment shared by all control terminals in response to satisfying a first trigger condition, and actively push the code stream corresponding to this control terminal to the target streaming media service when the target streaming moment is reached; wherein, The first trigger condition is the trigger condition for pushing a stream to the target streaming media service. The stream corresponding to this control terminal is a stream generated based on the target picture data, and the target picture data is the picture data displayed on the screen unit controlled by this control terminal; The target streaming media service is used to receive the streams pushed by each control terminal; Merge the received streams to obtain a target stream; And in response to meeting the second trigger condition, push the target stream to the remote preview terminal; wherein, the target stream contains each frame of picture data displayed on the target screen wall, and the second trigger condition is the preview trigger condition of the remote preview terminal for the target screen wall; The remote preview terminal is used to, in response to receiving the target stream, perform preview display of the picture of the target screen wall based on the target stream.

2. The system according to claim 1, wherein The type of any control terminal is a host type or a slave type; Each control terminal, in response to meeting the first trigger condition, determines the target stream push time shared by each control terminal, including: When the type of this control terminal is a host type, in response to obtaining a specified stream push request, based on the specified stream push request, determine the stream push time for this control terminal to push a stream as the target stream push time; wherein, the specified stream push request is a request used to indicate pushing a stream to the target streaming media service; When the type of this control terminal is a slave type, in response to receiving the stream push instruction and the target delay duration sent by the control terminal of the host type, based on the current time and the target delay duration, determine the stream push time to obtain the target stream push time; wherein, the target delay duration is the time difference between the first time and the second time, the first time is the sending time of the stream push instruction, and the second time is the stream push time determined by the control terminal of the host type; Each control terminal is further used to, when the type of this control terminal is a host type, after determining the stream push time for this control terminal to push a stream as the target stream push time based on the specified stream push request, send the stream push instruction and the target delay duration to the control terminal of the slave type.

3. The system according to claim 2, wherein The remote preview system further includes a management platform, and the specified stream push request is a request sent by the management platform to the control terminal of the host type; The specified stream push request carries a first timestamp and a second timestamp; wherein, the first timestamp is used to represent: the preview time for the remote preview terminal to perform preview, and the second timestamp is used to represent: the sending time of the specified stream push request; Determining the stream push time for this control terminal to push a stream as the target stream push time based on the specified stream push request includes: Based on the second timestamp carried in the specified streaming request and the time information when the control terminal receives the specified streaming request, determine the network delay duration when the management platform transmits data with the control terminal as the reference network delay; Subtract the reference network delay from the moment represented by the first timestamp to determine the streaming moment when the control terminal performs streaming as the target streaming moment.

4. The system according to any one of claims 1-3, wherein, The remote preview terminal is further configured to: In response to a target control operation on the preview screen for preview display, determine the coordinates of the desired control position in the preview screen indicated by the target control operation as the desired control coordinates; Convert the desired control coordinates into screen coordinates according to a predetermined coordinate conversion formula; wherein, the coordinate conversion formula is used to convert the coordinates in the preview screen into the coordinates on the target screen wall; Based on the screen coordinates, determine the target control terminal to be controlled, and perform reverse control processing based on the determined target control terminal. The reverse control processing is: processing for instructing the target control terminal to perform a specified control operation, where the specified control operation is a control operation matching the target control operation for the controlled screen unit.

5. The system according to claim 4, wherein The remote preview system further includes a management platform; The remote preview terminal performs reverse control processing based on the determined target control terminal, including: Sending a reverse control instruction for the target control terminal to the management platform, so that the management platform instructs the target control terminal to perform the specified control operation based on the reverse control instruction; Wherein, the control operation indicated by the reverse control instruction matches the target control operation.

6. The system according to claim 1 or 2, wherein The target streaming service is one of multiple streaming services; the remote preview system further includes a management platform; The management platform is configured to determine reference metric information before each control terminal actively pushes the stream corresponding to the control terminal to the target streaming service. The reference metric information includes one or more of: the performance weight values of each streaming service, the number of each control terminal, and the remaining connection number of each streaming service; Based on the reference metric information, select the streaming service to be assigned to each control terminal from multiple streaming services to obtain the target streaming service.

7. The system according to claim 6, wherein, The management platform selects the streaming service to be assigned to each control terminal from multiple streaming services based on the reference metric information to obtain the target streaming service, including: Sort each streaming service in ascending order of the performance weight value of each streaming service to obtain a target sequence; Determine the current reference weight value corresponding to the target screen wall; Traverse and analyze each streaming service in the target sequence. When traversing each streaming service, detect whether the performance weight value of the streaming service is greater than the current reference weight value and whether the remaining connection number of the streaming service is greater than the number of each control terminal. If both are satisfied, determine the currently traversed streaming service as the streaming service to be assigned to each control terminal to obtain the target streaming service; Otherwise, when the currently traversed streaming service is not the last service in the target sequence, continue to traverse the next streaming service in the target sequence. When the currently traversed streaming service is the last service in the target sequence, reduce the current reference weight value by a predetermined adjustment range, and return to the step of traversing and analyzing each streaming service in the target sequence.

8. The system according to claim 6, wherein The management platform is further configured to: In response to a target remote preview request for each pre-edited data to be displayed, send each pre-edited data to be displayed to the target streaming service; where each data to be displayed is data to be displayed on the same screen by the target screen wall; The target streaming service is further configured to: In response to receiving each data to be displayed sent by the management platform, splice each data to be displayed according to the display position relationship between each data to be displayed to obtain combined picture data, and in response to the preview trigger timing of the remote preview end for each data to be displayed, push the combined picture data to the remote preview end; The remote preview end is further configured to, in response to receiving the combined picture data, perform preview display on the combined picture data.

9. A remote preview method applied to a target streaming service included in a remote preview system. The remote preview system further includes a remote preview end and each control end. The control end is used to manage the screen units included in the target screen wall, and the number of screen units included in the target screen wall is at least two. The method includes: Receiving the code streams pushed by each control end; where the code stream pushed by each control end is: the code stream that the control end actively pushes to the target streaming service after determining the target push time shared by each control end and reaching the target push time in response to satisfying the first trigger condition, and the first trigger condition is the trigger condition for pushing the code stream to the target streaming service; Performing code stream merging on the received code streams to obtain a target code stream; where the target code stream includes the frame picture data displayed on the target screen wall; In response to satisfying the second trigger condition, pushing the target code stream to the remote preview end, so that the remote preview end, in response to receiving the target code stream, performs preview display on the picture of the target screen wall based on the target code stream; where the second trigger condition is the preview trigger condition of the remote preview end for the target screen wall.

10. A remote preview method applied to any one of the control ends included in the remote preview system. The remote preview system further includes a target streaming service and a remote preview end. Each control end is used to manage the screen units included in the target screen wall, and the number of screen units included in the target screen wall is at least two. The method includes: In response to satisfying the first trigger condition, determining the target push time shared by each control end; where the first trigger condition is the trigger condition for pushing the code stream to the target streaming service; When reaching the target streaming moment, actively push the stream corresponding to the control end to the target streaming media service, so that the target media service merges the received streams to obtain a target stream, and in response to meeting the second trigger condition, push the target stream to the remote preview end, so that the remote preview end is used to, in response to receiving the target stream, preview and display the picture of the target screen wall based on the target stream; Among them, the stream corresponding to the control end is a stream generated based on target picture data, the target picture data is the picture data displayed by the screen unit controlled by the control end, the second trigger condition is the preview trigger condition of the remote preview end for the target screen wall, and the target stream contains the picture data of each frame displayed by the target screen wall.

11. The method according to claim 10, wherein, The type of the control end is the host type or the slave type; In response to meeting the first trigger condition, determining the target streaming moment shared by each control end includes: When the type of the control end is the host type, in response to obtaining a specified streaming request, based on the specified streaming request, determine the streaming moment when the control end performs streaming as the target streaming moment; among them, the specified streaming request is a request for indicating streaming to the target streaming media service; When the type of the control end is the slave type, in response to receiving the streaming instruction and the target delay duration sent by the control end of the host type, based on the current moment and the target delay duration, determine the streaming moment to obtain the target streaming moment; among them, the target delay duration is: the time difference between the first moment and the second moment, the first moment is the sending moment of the streaming instruction, and the second moment is the streaming moment determined by the control end of the host type; When the type of the control end is the host type, the method further includes: After determining the streaming moment when the control end performs streaming as the target streaming moment based on the specified streaming request, send the streaming instruction and the target delay duration to the control end of the slave type. The remote preview system further includes a management platform, and the specified streaming request is a request sent by the management platform to the control end of the host type; 12. The method according to claim 11, wherein The specified streaming request carries a first timestamp and a second timestamp; among them, the first timestamp is used to represent: the preview moment when the remote preview end is to perform preview, and the second timestamp is used to represent: the sending time of the specified streaming request; The determining the streaming moment when the control end performs streaming as the target streaming moment based on the specified streaming request includes: Based on the second timestamp carried in the specified streaming request and the time information when the control end receives the specified streaming request, determine the network delay duration when the management platform and the control end perform data transmission as the reference network delay; Subtract the reference network delay from the moment represented by the first timestamp to determine the streaming moment when the control end performs streaming as the target streaming moment. The target streaming media service is one of multiple streaming media services; the remote preview system further includes a management platform; 13. The method according to claim 10 or 11, wherein ​ The management platform is used to determine reference metric information before each control terminal actively pushes the bitstream corresponding to the control terminal to the target streaming media service. The reference metric information includes one or more of the performance weight values of each streaming media service, the number of each control terminal, and the remaining connection number of each streaming media service. Based on the reference metric information, select the streaming media service to be allocated to each control terminal from multiple streaming media services to obtain the target streaming media service.

14. The method according to claim 13, wherein, The management platform selects the streaming media service to be allocated to each control terminal from multiple streaming media services based on the reference metric information to obtain the target streaming media service, including: Sort each streaming media service in ascending order of the performance weight value of each streaming media service to obtain a target sequence. Determine the current reference weight value corresponding to the target video wall. Traverse and analyze each streaming media service in the target sequence. When each streaming media service is traversed, detect whether the performance weight value of the streaming media service is greater than the current reference weight value and whether the remaining connection number of the streaming media service is greater than the number of each control terminal. If both are satisfied, determine the currently traversed streaming media service as the streaming media service to be allocated to each control terminal to obtain the target streaming media service. Otherwise, when the currently traversed streaming media service is not the last service in the target sequence, continue to traverse the next streaming media service in the target sequence. When the currently traversed streaming media service is the last service in the target sequence, reduce the current reference weight value according to a predetermined adjustment range, and return to the step of traversing and analyzing each streaming media service in the target sequence.

15. A remote preview device is applied to the target streaming media service included in a remote preview system. The remote preview system further includes a remote preview terminal and each control terminal. The control terminal is used to manage the screen units included in the target video wall, and the number of screen units included in the target video wall is at least two. The device includes: A receiving module is configured to receive the bitstreams pushed by each control terminal. Among them, the bitstream pushed by each control terminal is: the bitstream that the control terminal actively pushes to the target streaming media service after determining the target streaming moment shared by each control terminal and reaching the target streaming moment in response to satisfying the first trigger condition. The first trigger condition is the trigger condition for pushing the stream to the target streaming media service. A bitstream merging module is configured to merge the received bitstreams to obtain a target bitstream. Among them, the target bitstream contains the frame picture data displayed on the target video wall. A first pushing module is configured to push the target bitstream to the remote preview terminal in response to satisfying the second trigger condition, so that the remote preview terminal previews and displays the picture of the target video wall based on the target bitstream in response to receiving the target bitstream. Among them, the second trigger condition is the preview trigger condition of the remote preview terminal for the target video wall.

16. A remote preview device is applied to any one of the control terminals included in a remote preview system. The remote preview system further includes a target streaming media service and a remote preview terminal. Each control terminal is used to manage the screen units included in the target screen wall, and the number of screen units included in the target screen wall is at least two. The device includes: A first determination module, configured to determine a target streaming moment shared by each control terminal in response to satisfying a first trigger condition. Wherein, the first trigger condition is a trigger condition for streaming the target streaming media service. A second push module, configured to actively push the code stream corresponding to this control terminal to the target streaming media service when the target streaming moment is reached, so that the target media service merges the received code streams to obtain a target code stream, and in response to satisfying a second trigger condition, push the target code stream to the remote preview terminal, so that the remote preview terminal is used to, in response to receiving the target code stream, perform preview display of the screen of the target screen wall based on the target code stream. Wherein, the code stream corresponding to this control terminal is a code stream generated based on target picture data, the target picture data is the picture data displayed by the screen unit controlled by this control terminal, and the second trigger condition is a preview trigger condition of the remote preview terminal for the target screen wall.

17. An electronic device includes: A memory for storing a computer program. A processor, configured to implement the method according to any one of claims 9-14 when executing the program stored on the memory.

18. A computer-readable storage medium stores a computer program therein, and the computer program, when executed by a processor, implements the method according to any one of claims 9-14.

19. A computer program product containing instructions, when the computer program product containing instructions runs on a computer, causes the computer to execute the method according to any one of claims 9-14.

20. A computer program, when the computer program runs on a computer, causes the computer to execute the method according to any one of claims 9-14.

Citation Information

Patent Citations

  • Television wall image echoing method, service board and distributed television wall system

    CN110581962A

  • Spliced screen echo method, terminal, system and storage medium

    CN110990109A

  • Large-screen information display method and device, equipment and storage medium

    CN111262909A

  • Generation method, device and system for echo code stream of spliced wall and readable storage medium

    CN113014964A

  • Remote preview system, method and device, electronic equipment and storage medium

    CN117834954A