System for playing video file on spliced screen and performing remote playing control
The system addresses scalability and storage waste issues in splicing screens by enabling advanced playback functions through simultaneous decoding and synchronization across multiple displays, reducing hardware costs and improving user experience.
Patent Information
- Application Number
- CN202411468640.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-21
- Publication Date
- 2024-12-27
AI Technical Summary
Existing splicing screen video playback technologies face challenges in scalability and storage resource waste due to centralized video file storage, and streaming-based solutions fail to meet advanced playback requirements such as fast forward, fast rewind, and frame-by-frame playback.
A system for playing video files on a spliced screen with remote playback control, utilizing a user operation terminal, playback control node, time synchronization server, decoding nodes, and display screens, enabling simultaneous decoding and synchronization across multiple displays without local storage on decoding nodes.
Enables advanced playback functions like pause, fast forward, fast rewind, and frame-by-frame playback on spliced screens, reducing storage needs and avoiding screen tearing, while maintaining system flexibility and reducing hardware costs.
Smart Images

Figure CN119211620A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of splicing screens, and in particular relates to a system for playing video files on a splicing screen and performing remote playback control. Background Art
[0002] With the rapid development of information technology, multimedia display systems have gradually become one of the important means of information dissemination, especially in the fields of public information display, advertising, education and training. Among them, the splicing screen system has become the preferred solution in large-scale display scenes with its advantages of large size and high definition. However, with the diversification of application scenarios and the improvement of technical requirements, the existing splicing screen video playback technology faces many challenges.
[0003] On the one hand, the video playback method of the traditional splicing screen system usually relies on a centralized control mechanism, that is, the video file is pre-loaded into the playback control terminal and each splicing screen processor. As described in patent CN104918137A, this method uses the playback control terminal as a synchronization node to broadcast the display timestamp of each frame to control each splicing screen processor to display the same frame of image at each moment (for details, please refer to the patent document: [1] Pan Pan. A method for playing video in a splicing screen system: CN201510298728.1[P].CN104918137A[2024-10-17].). Although this method can ensure the synchronization of video playback to a certain extent, it has obvious shortcomings: first, since a copy of the video file needs to be stored in each splicing screen processor, a large amount of storage resources is wasted; second, as the number of splicing screens increases, the system complexity and maintenance cost will also increase accordingly, affecting the scalability and economy of the system.
[0004] On the other hand, with the advancement of network technology, streaming-based video transmission solutions have begun to be applied to splicing screen systems. For example, patent CN118264840A introduces a video playback method for the charging pile screen end. This method uses the method of pushing video to the streaming server, and each screen terminal actively pulls the data stream from the streaming server. By using the real-time streaming protocol characteristics, each screen can achieve synchronization within the error range of 1s, and can simply realize the play and stop functions (for details, please refer to the patent document: [2] Wang Haoming, Wang Haoyue, Li Jia. A method for remotely controlling the synchronous playback of videos on the charging pile screen end: 202410369088[P][2024-10-17].). This method solves the problem of storage resource waste and improves the flexibility and maintainability of the system. However, it cannot meet the higher playback requirements of users in the display control field, such as fast forward, fast rewind, double speed, frame-by-frame playback, etc., which limits the improvement of user experience.
[0005] Based on this, the present invention proposes a system for playing video files on a spliced screen and performing remote playback control. Through streaming, multiple decoding nodes can decode simultaneously to avoid screen tearing between multiple displays, realize the needs of spliced screen playback, pause, fast forward, fast rewind, double speed, frame by frame playback, etc., and reduce the storage configuration of the decoding nodes. Summary of the invention
[0006] In order to solve the above problems in the prior art, that is, in order to solve the problems that the prior art cannot meet the user's requirements for fast forward, fast rewind, double speed, frame-by-frame playback, etc. when playing videos on a spliced large screen, and that a large storage device needs to be configured and screen tearing between multiple displays is prone to occur, the present invention provides a system for playing video files on a spliced screen and performing remote playback control, including: a user operation terminal, a playback control node, a time synchronization server, a switch, multiple decoding nodes, and multiple display screens;
[0007] The user operation terminal, the time synchronization server, the playback control node, and each decoding node are connected to the switch via a network cable; each decoding node is connected to each display one-to-one via a video cable; multiple displays form a spliced screen;
[0008] The user operation terminal is used to access the system page and perform operations through the system page; the operations include opening and closing windows on the spliced screen, uploading video files, controlling the spliced screen to play video files, and monitoring and controlling the played video files;
[0009] The time synchronization server is used to synchronize the clocks of various devices in the system;
[0010] The decoding node is used to decode the video stream and display it in a designated area of the corresponding display;
[0011] The playback control node is used to control each decoding node to parse the specified video stream and render the image in the specified area of the display screen; it is also used to stream and play the video file.
[0012] In some preferred embodiments, the process of the system playing the video file on the spliced screen is as follows:
[0013] Video files uploaded by users on the system page;
[0014] The playback control node preprocesses the uploaded video file; after the preprocessing, the video file is sliced to obtain a slice file, and a slice index file is generated to record the start and end time of each slice file relative to the entire video file;
[0015] The playback control node parses the slice index file;
[0016] After parsing, locate the first slice file of the stream according to the playback starting point selected by the user, and calculate the offset t of the playback starting point relative to the video starting point of the slice file;
[0017] Parse the slice file and parse the raw video stream from t;
[0018] Encapsulate the video raw stream into an RTP message, and map the file timestamp to the system timestamp as the timestamp of the RTP message;
[0019] The RTP message is transmitted using the real-time streaming protocol, and the real-time stream is pushed to the streaming media service on the playback control node; each time a video frame is sent, the current video playback progress is updated;
[0020] The playback control node notifies one or more decoding nodes corresponding to the display that needs to display the video screen to pull the stream;
[0021] Each decoding node pulls the stream and parses the RTP message. After all the decoding nodes pulling the stream succeed, all the decoding nodes synchronously render the first frame; the subsequent video frames are synchronously rendered on the display after the time interval between the timestamp of the current RTP message and the timestamp of the previous frame RTP message;
[0022] The system page pulls the stream and renders the current video playback screen.
[0023] In some preferred embodiments, the pre-processing includes removing B frames.
[0024] In some preferred implementations, the current video playback progress is equal to the start time of the currently streamed slice file plus the difference between the display time of all frames that have been sent and the previous frame in the currently streamed slice file.
[0025] In some preferred implementations, the method for determining the video frames that need to be streamed during the video file playback process is:
[0026] A10, if the playback has just started, it is inferred that the slice file to be streamed is the first slice file; if the playback is in progress, it is inferred that the slice file to be streamed is the slice file being played; the playback process includes fast forward, fast rewind, and seek during the playback process;
[0027] A20, obtaining the start and end time of the current slice file from the slice index file;
[0028] A30, if the positioning time is less than the start time of the current slice file, search for the slice file forward and jump to A20, otherwise, jump to A40;
[0029] A40, if the positioning time is greater than the end time of the current slice file, search for the slice file backwards and jump to A20, otherwise, determine that the current slice file is a slice file to be streamed, and jump to A50;
[0030] A50, calculating an offset t3 of the playback start time t1 relative to the start time t2 of the slice file to be streamed;
[0031] A60, traverse the video frames starting from the first frame of the slice file to be streamed, parse the video frames to calculate the display time t4 and the frame interval time t5; if t4>=t3-t5 and t4<=t3+t5, then the frame is the video frame to be streamed;
[0032] A70, determining whether the video frame to be streamed obtained in A60 is a key frame, if not, traversing forward and backward respectively to find the nearest previous key frame and next key frame, and finding the frame closer in time from the two key frames as the final video frame to be streamed.
[0033] In some preferred implementations, the method in which the system controls the video file to play at multiple speeds is:
[0034] After receiving the request to play the system page at a speed s, the playback control node obtains the display time t6 of the last frame that has been sent;
[0035] Get the time difference t7 between the previous frame and the current frame from the original video;
[0036] Based on the t6, the t7 and the s, calculate and modify the display time in the current frame of the RTP message and the sending frequency t7 / s of the RTP message;
[0037] The video playback progress under double-speed playback is still equal to the start time of the currently streamed slice file plus the difference between the display time of all frames that have been sent and the previous frame in the currently streamed slice file.
[0038] In some preferred implementations, the display time in the current frame of the RTP message = t6 + t7 / s.
[0039] In some preferred implementations, the method in which the system controls the video file to pause playback is:
[0040] B10, after receiving the pause request of the system page, the playback control node obtains the last frame that has been sent and the display time t8 of the last frame;
[0041] B20, an image constructed based on the last frame that has been sent, the key frame closest to the last frame, and all P frames between the two frames as the current key frame;
[0042] B30, constructing a P frame that is unchanged from the current key frame obtained in B20 as an empty P frame;
[0043] B40, obtain the playback speed s, frame interval time t9, and define the number of custom frames that have been sent n=1;
[0044] B50, constructs an RTP message based on an empty P frame, the frame display time is t8+t9 / s*n, and the RTP message is sent after time t9 / s;
[0045] B60, confirm whether a cancel pause or other request operation is received, if not, set n=n+1, and repeat B50; the video playback progress does not change when the video is paused, and the progress of the last frame that has been sent is the current progress;
[0046] B70, when canceling the pause playback, exit this process and continue playing the next frame of the original video.
[0047] In some preferred implementations, the method in which the system controls the video file to be played frame by frame is:
[0048] When playing frame by frame, each time a request to play the next frame or the previous frame is received, one frame is played forward or backward and then B10-B60 is repeated.
[0049] Beneficial effects of the present invention:
[0050] (1) The present invention streams video files, and decoding nodes do not need to store files, nor does it need to configure large-space storage devices for each decoding node. It can play video files on a spliced large screen and all control functions related to video playback, such as pause, fast forward, fast rewind, double speed, frame-by-frame playback, etc.; and multiple decoding nodes can decode at the same time to avoid screen tearing between multiple displays;
[0051] (2) In the scenario where large files need to be played, the present invention does not need to change the decoding node, and only needs to configure a hard disk that meets the file size for the playback control node. In a splicing system that does not support playback files, it is only necessary to plug in the playback control node in this system to play video files on the splicing large screen. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] Other features, objects and advantages of the present application will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings:
[0053] Figure 1 It is a schematic diagram of a framework of a system for playing video files on a spliced screen and performing remote playback control according to an embodiment of the present invention;
[0054] Figure 2is a schematic diagram of a calling process of playing a video file on a spliced screen by a system according to an embodiment of the present invention;
[0055] Figure 3 is a schematic diagram of a process of determining a video frame to be streamed during playback of a video file according to an embodiment of the present invention;
[0056] Figure 4 It is a schematic diagram of a process of controlling a video file to play at a multiple speed by a system according to an embodiment of the present invention;
[0057] Figure 5 The present invention is a schematic diagram of a process of pausing the playback of a video file controlled by a system according to an embodiment of the present invention. DETAILED DESCRIPTION
[0058] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0059] The present application will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the relevant invention, rather than to limit the invention. It is also necessary to explain that, for ease of description, only the parts related to the relevant invention are shown in the accompanying drawings.
[0060] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0061] The present invention provides a system for playing video files on a spliced screen and performing remote playback control, such as Figure 1 As shown, it includes: a user operation terminal, a playback control node, a time synchronization server, a switch, multiple decoding nodes and multiple display screens;
[0062] The user operation terminal, the time synchronization server, the playback control node, and each decoding node are connected to the switch via a network cable; each decoding node is connected to each display one-to-one via a video cable; multiple displays form a spliced screen;
[0063] The user operation terminal is used to access the system page and perform operations through the system page; the operations include opening and closing windows on the spliced screen, uploading video files, controlling the spliced screen to play video files, and monitoring and controlling the played video files;
[0064] The time synchronization server is used to synchronize the clocks of various devices in the system;
[0065] The decoding node is used to decode the video stream and display it in a designated area of the corresponding display;
[0066] The playback control node is used to control each decoding node to parse the specified video stream and render the image in the specified area of the display screen; it is also used to stream and play the video file.
[0067] In order to more clearly illustrate the system of the present invention for playing video files on a spliced screen and performing remote playback control, each module in the system embodiment of the present invention is described in detail below with reference to the accompanying drawings.
[0068] The present invention allows multiple decoding nodes to decode simultaneously through streaming, avoiding screen tearing between multiple displays and realizing playback-related control functions. The details are as follows:
[0069] The present invention discloses a system for playing video files on a spliced screen and performing remote play control, comprising: a user operation terminal, a play control node, a time synchronization server, a switch, a plurality of decoding nodes and a plurality of display screens;
[0070] The user operation terminal, the time synchronization server, the playback control node, and each decoding node are connected to the switch (i.e. Figure 1 The decoding node is connected to the display through a video line, and the decoding node is connected to the display one-to-one. Multiple displays form a spliced large screen (i.e., a spliced screen refers to combining multiple display screens to form a larger and wider display screen);
[0071] The user operation terminal can be any device, and can use a browser to access the system page; the user operation terminal is also used to control through the system page; the control includes opening and closing windows of the spliced screen, uploading video files, controlling the spliced screen to play video files, and monitoring and controlling the played video files;
[0072] The time synchronization server is used to synchronize the clocks of various devices in the system;
[0073] The decoding node is used to decode the video stream and display it in a designated area of the corresponding display;
[0074] The playback control node is used to control each decoding node to parse the specified video stream and render the image in the specified area of the display screen; it is also used to stream the video file (streaming is the process of streaming the video file according to the real-time streaming protocol); it can also be used to store video files uploaded through the system page.
[0075] The following is a detailed description of the system's process of playing, pausing, fast forwarding, rewinding, doubling speed, and frame-by-frame playback of video files.
[0076] like Figure 2 As shown in the figure, the process of the system playing video files on the spliced screen is as follows:
[0077] Video files uploaded by users on the system page;
[0078] The playback control node preprocesses the uploaded video file; the preprocessing includes removing B frames, counting the frame rate and GOP (the number of frames between two key frames) after removal and saving them; after preprocessing, the video file is sliced to obtain slice files, and a slice index file is generated (i.e., an index is built for the slice files to facilitate quick search of slice files), and the start and end time of each slice file relative to the entire video file is recorded, effectively speeding up the processing speed of seeking (i.e., positioning the progress bar of the video player to a certain position), fast forwarding, and fast rewinding to find the key frame of the specified time;
[0079] The playback control node parses the slice index file; the end time of the last slice file is the total duration of the video;
[0080] After parsing, locate the first slice file of the stream according to the playback starting point selected by the user, and calculate the offset t of the playback starting point relative to the video starting point of the slice file;
[0081] Parse the slice file and parse the raw video stream from t;
[0082] Encapsulate the video raw stream into an RTP message, and map the file timestamp to the system timestamp as the timestamp of the RTP message;
[0083] The RTP message is transmitted using the real-time streaming protocol, and the real-time stream is pushed to the streaming media service on the playback control node; each time a video frame is sent, the current video playback progress is updated once; the current video playback progress is equal to the start time of the currently streamed slice file plus the difference between the display time of all frames that have been sent in this file (i.e., the currently streamed slice file) and the previous frame;
[0084] The playback control node notifies one or more decoding nodes corresponding to the display that needs to display the video screen to pull the stream;
[0085] Each decoding node pulls the stream and parses the RTP message. After all the decoding nodes pulling the stream succeed, all the decoding nodes synchronously render the first frame; the subsequent video frames are synchronously rendered on the display after the time interval between the timestamp of the current RTP message and the timestamp of the previous frame RTP message;
[0086] The system page pulls the stream and renders the current video playback screen. It queries the control node for information such as video duration and playback rate, and queries the playback progress once a second. It renders the video playback progress bar to implement more control functions later.
[0087] like Figure 3 As shown in FIG. 1 , the method for determining the video frame to be streamed during the video file playback process (i.e., the calling process of locating the playback start point during playback or locating the playback start point frame during fast forward, fast rewind, and seek during playback) is:
[0088] A10, if the playback has just started, it is inferred that the slice file to be streamed is the first slice file; if the playback is in progress, it is inferred that the slice file to be streamed is the slice file being played; the playback process includes fast forward, fast rewind, and seek during the playback process;
[0089] A20, obtaining the start and end time of the current slice file from the slice index file;
[0090] A30, if the positioning time is less than the start time of the current slice file, search for the slice file forward and jump to A20, and repeat A20 until the first slice file that satisfies the positioning time greater than the slice start time is found, otherwise, jump to A40;
[0091] A40, if the positioning time is greater than the end time of the current slice file, search for the slice file backwards and jump to A20 until the first slice file that satisfies the positioning time greater than the slice start time is found; otherwise, determine that the current slice file is the slice file to be streamed, and jump to A50; that is, A30 and A40 complete the positioning of the slice file to be streamed;
[0092] A50, calculating the offset t3 of the playback start time t1 relative to the start time t2 of the slice file to be streamed; t3 = t1 - t2;
[0093] A60, traverse the video frames starting from the first frame of the slice file to be streamed, parse the video frames to calculate the display time t4, the frame interval time t5; if t4>=t3-t5 and t4<=t3+t5 (equivalent to Figure 3 If the display time in is approximately equal to the offset, that is, within the positive and negative error range of t5, t3 is approximately equal to t4), then the frame is the video frame that needs to be streamed;
[0094] A70 determines whether the video frame to be streamed obtained by A60 is a key frame. If not, it traverses forward and backward respectively to find the nearest previous key frame and next key frame, and finds the frame closer in time from the two key frames as the final video frame to be streamed. Among them, the key frame is an I frame, which is a frame type in video encoding and can be regarded as a product of an image after compression. The picture information is completely retained, and only the frame data is needed for decoding.
[0095] like Figure 4 As shown, the method for the system to control the video file to play at multiple speeds is:
[0096] After receiving the request to play the system page at a speed s, the playback control node obtains the display time t6 of the last frame that has been sent;
[0097] Get the time difference t7 between the previous frame and the current frame from the original video;
[0098] Based on the t6, the t7 and the s, the display time in the current frame of the RTP message (the display time in the current frame of the RTP message is equal to t6+t7 / s) and the sending frequency of the RTP message (the sending frequency of the RTP message is equal to t7 / s) are calculated and modified;
[0099] The video playback progress under double-speed playback is still equal to the start time of the currently streamed slice file plus the difference between the display time of all frames that have been sent and the previous frame in the currently streamed slice file.
[0100] like Figure 5 As shown, the method for the system to control the video file to pause playback is:
[0101] B10, after receiving the pause request of the system page, the playback control node obtains the last frame that has been sent and the display time t8 of the last frame;
[0102] B20, an image constructed based on the last frame that has been sent, the key frame closest to the last frame, and all P frames between the two frames as the current key frame;
[0103] B30, constructing a P frame that is unchanged from the current key frame obtained in B20 as an empty P frame;
[0104] B40, obtain the playback speed s, frame interval time t9, and define the number of custom frames that have been sent n=1;
[0105] B50, constructs an RTP message based on a key frame or an empty P frame, the frame display time is t8+t9 / s*n, and the RTP message is sent after time t9 / s;
[0106] B60, after sending, set n=n+1, and repeat B50 until the pause is canceled or other request operations are processed (i.e., confirm whether the pause cancellation or other request operations are received, if not, set n=n+1, and repeat B50); the video playback progress does not change when the video is paused, and the progress of the last frame that has been sent is the current progress;
[0107] B70, when canceling the pause playback, exit this process and continue playing the next frame of the original video.
[0108] The method by which the system controls the video file to be played frame by frame is:
[0109] When playing frame by frame, each time a request to play the next frame or the previous frame is received, one frame is played forward or backward and then B10-B60 is repeated.
[0110] In summary, it is possible to play video files on the spliced large screen and realize all control functions related to video playback without configuring large-space storage devices for each decoding node. This effectively reduces hardware costs. In scenarios where large files need to be played, there is no need to change the decoding nodes, and only a hard disk that meets the file size needs to be configured for the playback control node. In a splicing system that does not support playback files, you only need to plug in the playback control node in this system to play video files on the spliced large screen, empowering the existing splicing system with less storage.
[0111] It should be noted that the above embodiment provides a system for playing video files on a spliced screen and performing remote playback control, which is only illustrated by the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the modules or steps in the embodiments of the present invention can be decomposed or combined. For example, the modules in the above embodiments can be combined into one module, or further divided into multiple sub-modules to complete all or part of the functions described above. The names of the modules and steps involved in the embodiments of the present invention are only for distinguishing the modules or steps, and are not regarded as improper limitations of the present invention.
[0112] Those skilled in the art should be able to appreciate that the modules and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, computer software or a combination of the two, and the programs corresponding to the software modules and method steps can be placed in random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or any other form of storage medium known in the technical field. In order to clearly illustrate the interchangeability of electronic hardware and software, the composition and steps of each example have been generally described in the above description according to the function. Whether these functions are performed in electronic hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present invention.
[0113] The terms "first", "second", "third", etc. are used to distinguish similar objects rather than to describe or indicate a particular order or sequence.
[0114] So far, the technical solutions of the present invention have been described in conjunction with the preferred embodiments shown in the accompanying drawings. However, it is easy for those skilled in the art to understand that the protection scope of the present invention is obviously not limited to these specific embodiments. Without departing from the principle of the present invention, those skilled in the art can make equivalent changes or substitutions to the relevant technical features, and the technical solutions after these changes or substitutions will fall within the protection scope of the present invention.
Claims
1. A system for playing video files on a spliced screen and performing remote playback control, characterized in that: The system includes: a user operation terminal, a playback control node, a time synchronization server, a switch, multiple decoding nodes and multiple display screens; The user operation terminal, the time synchronization server, the playback control node, and each decoding node are connected to the switch via a network cable; each decoding node is connected to each display one-to-one via a video cable; multiple displays form a spliced screen; The user operation terminal is used to access the system page and perform operations through the system page; the operations include opening and closing windows on the spliced screen, uploading video files, controlling the spliced screen to play video files, and monitoring and controlling the played video files; The time synchronization server is used to synchronize the clocks of various devices in the system; The decoding node is used to decode the video stream and display it in a designated area of the corresponding display; The playback control node is used to control each decoding node to parse the specified video stream and render the image in the specified area of the display screen; it is also used to stream and play the video file.
2. A system for playing video files on a spliced screen and performing remote playback control according to claim 1, characterized in that: The process of the system playing the video file on the spliced screen is as follows: Video files uploaded by users on the system page; The playback control node pre-processes the uploaded video file; After preprocessing, the video file is sliced to obtain slice files, and a slice index file is generated to record the start and end time of each slice file relative to the entire video file; The playback control node parses the slice index file; After parsing, locate the first slice file of the stream according to the playback starting point selected by the user, and calculate the offset t of the playback starting point relative to the video starting point of the slice file; Parse the slice file and parse the raw video stream from t; Encapsulate the video raw stream into an RTP message, and map the file timestamp to the system timestamp as the timestamp of the RTP message; Use the real-time streaming protocol to transmit the RTP message and push the real-time stream to the streaming media service on the playback control node; Every time a video frame is sent, the current video playback progress is updated; The playback control node notifies one or more decoding nodes corresponding to the display that needs to display the video screen to pull the stream; Each decoding node pulls the stream and parses the RTP message. After all the decoding nodes pulling the stream succeed, all the decoding nodes synchronously render the first frame; the subsequent video frames are synchronously rendered on the display after the time interval between the timestamp of the current RTP message and the timestamp of the previous frame RTP message; The system page pulls the stream and renders the current video playback screen.
3. A system for playing video files on a spliced screen and performing remote playback control according to claim 2, characterized in that: The pre-processing includes removing B frames.
4. The system for playing video files on a spliced screen and performing remote playback control according to claim 2, characterized in that: The current video playback progress is equal to the start time of the currently streamed slice file plus the difference between the display time of all frames that have been sent and the previous frame in the currently streamed slice file.
5. A system for playing video files on a spliced screen and performing remote playback control according to claim 2, characterized in that: The method for determining the video frames that need to be streamed during the video file playback process is: A10: If the playback has just started, it is inferred that the slice file to be streamed is the first slice file; If it is in the playback process, it is inferred that the slice file to be streamed is the slice file being played; the playback process includes fast forward, fast rewind, and seek during the playback process; A20, obtaining the start and end time of the current slice file from the slice index file; A30, if the positioning time is less than the start time of the current slice file, search for the slice file forward and jump to A20, otherwise, jump to A40; A40, if the positioning time is greater than the end time of the current slice file, search for the slice file backwards and jump to A20, otherwise, determine that the current slice file is a slice file to be streamed, and jump to A50; A50, calculating an offset t3 of the playback start time t1 relative to the start time t2 of the slice file to be streamed; A60, traverse the video frames starting from the first frame of the slice file to be streamed, parse the video frames to calculate the display time t4 and the frame interval time t5; if t4>=t3-t5 and t4<=t3+t5, then the frame is the video frame to be streamed; A70, determining whether the video frame to be streamed obtained in A60 is a key frame, if not, traversing forward and backward respectively to find the nearest previous key frame and next key frame, and finding the frame closer in time from the two key frames as the final video frame to be streamed.
6. A system for playing video files on a spliced screen and performing remote playback control according to claim 2, characterized in that: The method for the system to control the video file to play at multiple speeds is: After receiving the request to play the system page at a speed s, the playback control node obtains the display time t6 of the last frame that has been sent; Get the time difference t7 between the previous frame and the current frame from the original video; Based on the t6, the t7 and the s, calculate and modify the display time in the current frame of the RTP message and the sending frequency t7 / s of the RTP message; The video playback progress under double-speed playback is still equal to the start time of the currently streamed slice file plus the difference between the display time of all frames that have been sent and the previous frame in the currently streamed slice file.
7. A system for playing video files on a spliced screen and performing remote playback control according to claim 6, characterized in that: The display time of the RTP message in the current frame=t6+t7 / s.
8. The system for playing video files on a spliced screen and performing remote playback control according to claim 2, characterized in that: The method for the system to control the video file to pause playing is: B10, after receiving the pause request of the system page, the playback control node obtains the last frame that has been sent and the display time t8 of the last frame; B20, an image constructed based on the last frame that has been sent, the key frame closest to the last frame, and all P frames between the two frames as the current key frame; B30, constructing a P frame that is unchanged from the current key frame obtained in B20 as an empty P frame; B40, obtain the playback speed s, frame interval time t9, and define the number of custom frames that have been sent n=1; B50, constructs an RTP message based on an empty P frame, the frame display time is t8+t9 / s*n, and the RTP message is sent after time t9 / s; B60, confirm whether a cancel pause or other request operation is received, if not, set n=n+1, and repeat B50; when a cancel pause is received, the video playback progress will not change under pause playback, and the progress of the last frame that has been sent will be the current progress; B70, when canceling the pause playback, exit this process and continue playing the next frame of the original video.
9. A system for playing video files on a spliced screen and performing remote playback control according to claim 8, characterized in that: The method by which the system controls the video file to be played frame by frame is: When playing frame by frame, each time a request to play the next frame or the previous frame is received, one frame is played forward or backward and then B10-B60 is repeated.
Citation Information
Patent Citations
Method enabling spliced screen system to play videos
CN104918137A
Method for remotely controlling screen end of charging pile to synchronously play video
CN118264840A