Multimedia data synchronous playing method and apparatus, and device and medium
By setting up a master playback terminal in the multimedia playback system and sending control signals to other terminals to achieve synchronized playback, the synchronization problem caused by hardware and network differences among multiple playback terminals is solved, achieving frame-level synchronization, reducing equipment costs and improving user experience.
Patent Information
- Application Number
- PCT/CN2024/117962
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-17
- Filing Date
- 2024-09-10
- Publication Date
- 2025-10-23
AI Technical Summary
When playing multimedia data synchronously on multiple playback terminals, frame-level synchronization cannot be achieved due to differences in hardware performance and network, resulting in playback discrepancies and high requirements for server performance and network bandwidth, making it unsuitable, especially in scenarios with complex cabling.
By setting up a master playback terminal, control signals are sent to other playback terminals, enabling them to pre-cache or decode multimedia data, thus synchronizing with the master playback terminal during playback. A local area network or a public network can be used to ensure fast signaling response and achieve frame-level synchronization.
It enables frame-level synchronized playback of multimedia data, reduces equipment costs, improves user experience, avoids playback time differences caused by differences in device performance and network, and supports large-scale simultaneous playback on multiple screens and synchronization of network video streams.
Smart Images

Figure CN2024117962_23102025_PF_FP_ABST
Abstract
Description
Method, device and medium for synchronously playing multimedia data
[0001] Priority application
[0002] The present application claims priority to Chinese Patent No. CN118354132A entitled "Method, device and medium for synchronously playing multimedia data" filed on April 17, 2024. TECHNICAL FIELD
[0003] The present application relates to the technical field of multimedia playing, in particular to a method, device and medium for synchronously playing multimedia data. BACKGROUND
[0004] With the decrease of display hardware cost and the trend of advertisers pursuing larger and larger playing screens, many scenarios require multiple playing terminals to synchronously play videos on display screens.
[0005] For example, in some cases, all playing terminals need to process different or the same video to be played locally and then start playing at the same time. Or, when playing network videos, each playing terminal downloads the video to the local terminal through the network and then decodes and plays the video. In some other scenarios, all playing terminals are controlled by a playing server, which uniformly decodes target multimedia data and then transmits the original audio and video data.
[0006] In the first scenario, due to the performance difference of different hardware devices and network difference, the video caching and decoding speed cannot be kept consistent, which cannot achieve frame-level synchronization effect, and the playing difference can be seen by naked eyes when the screens are close to each other. In the second scenario, the performance of the playing server and network bandwidth are required to be high, and the number of supported screens is limited, which is not suitable for complex scenarios where wiring is not convenient.
[0007] SUMMARY
[0008] The present application provides a method, device and medium for synchronously playing multimedia data.
[0009] In a first aspect, the present application provides a method for synchronously playing multimedia data, comprising:
[0010] The first playing terminal obtains order information, the order information being used to indicate target multimedia data to be played by each playing terminal in a playing terminal set, the playing terminal set including two or more playing terminals, the first playing terminal being any playing terminal in the playing terminal set; when the first playing terminal is a master playing terminal at a current time, the first playing terminal generates target playing signaling based on a playing progress of the target multimedia data at the current time, the target playing signaling indicating playing operations of the target multimedia data performed by each playing terminal in the playing terminal set at a next time; the first playing terminal as the master playing terminal sends the target playing signaling to other playing terminals in the playing terminal set except the first playing terminal, so that the other playing terminals perform playing operations on the target multimedia data at the next time synchronously with the first playing terminal, so that the first playing terminal and the other playing terminals cache the decoded target multimedia data or display the pre-decoded target multimedia data.
[0011] In a second aspect, the present application provides a multimedia data synchronous playing device, comprising:
[0012] The first playing terminal obtains order information, the order information being used to indicate target multimedia data to be played by each playing terminal in a playing terminal set, the playing terminal set including two or more playing terminals, the first playing terminal being any playing terminal in the playing terminal set; when the first playing terminal is a master playing terminal at a current time, the first playing terminal generates target playing signaling based on a playing progress of the target multimedia data at the current time, the target playing signaling indicating playing operations of the target multimedia data performed by each playing terminal in the playing terminal set at a next time; the first playing terminal as the master playing terminal sends the target playing signaling to other playing terminals in the playing terminal set except the first playing terminal, so that the other playing terminals perform playing operations on the target multimedia data at the next time synchronously with the first playing terminal, so that the first playing terminal and the other playing terminals cache the decoded target multimedia data or display the pre-decoded target multimedia data.
[0013] In a third aspect, the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, the processor executing the program to implement the multimedia data synchronous playing method according to the first aspect.
[0014] In a fourth aspect, the present application provides a computer readable storage medium, having a computer program stored thereon, the computer program being used to implement the multimedia data synchronous playing method according to the first aspect. BRIEF DESCRIPTION OF DRAWINGS
[0015] Fig. 1 is a schematic diagram of an architecture of a multimedia data synchronous playing system according to some embodiments of the present application;
[0016] Fig. 2 is a schematic diagram of a flow of a multimedia data synchronous playing method according to some embodiments of the present application;
[0017] Fig. 3 is a schematic diagram of a flow of a multimedia data synchronous playing method according to some embodiments of the present application;
[0018] Fig. 4 is a schematic diagram of a structure of a multimedia data synchronous playing apparatus according to some embodiments of the present application;
[0019] Fig. 5 is a schematic diagram of a structure of a processing device according to some embodiments of the present application. DETAILED DESCRIPTION
[0020] The present application will be further described below in conjunction with the accompanying drawings and embodiments. It can be understood that the specific embodiments described herein are only used to explain the related application, but not to limit the application. In addition, it should be noted that only the parts related to the application are shown in the drawings for the convenience of description.
[0021] It should be noted that the embodiments and features in the embodiments of the present application can be combined with each other without conflict. The present application will be described in detail below with reference to the accompanying drawings and embodiments.
[0022] It can be understood that in large conference rooms, stadiums, concerts or rail vehicles, etc., multiple playing terminals are usually configured to play different or same content multimedia such as video and pictures synchronously to meet the needs of participants.
[0023] In the scenario formed by multiple playing terminals, due to the performance difference of the playing terminals themselves, or the performance limitation of the playing server, as well as the network difference and various other factors, the multiple playing terminals cannot achieve frame-level synchronization when playing multimedia.
[0024] For example, for a 60fps video, there are 60 frames per second, and the interval between each frame is about 16ms. Due to the performance difference of the playing terminals or the network performance, the signaling delay is generated, so that the playing of the same frame data by the nearby playing terminals has a time difference of more than 16ms, resulting in a visible playing difference.
[0025] Therefore, the application is to overcome the above-mentioned defects, and the signaling control mechanism of the master player is set to send control signaling to each other as a slave player to the player device, so that each slave player responds to the control signaling sent by the master player to realize the pre-caching of the decoded target multimedia data, and then in the actual playing, the play signaling of the master player is responded to, and the play operation of the cached data frame is executed synchronously with the master player to control the time difference to the minimum, such as within 16ms, and finally realize the frame-level synchronous playing effect of the multimedia.
[0026] As shown in FIG. 1, it is a system architecture diagram of the player terminal set of the application, as shown in FIG. 1, the system can include a player terminal set, that is, a plurality of players as a player terminal.
[0027] Alternatively, in some other embodiments, the system can also include a background server, that is, in the scene of network video stream, the background server is used to provide the target multimedia data video stream. And the background server can send the created broadcast order information to each player terminal.
[0028] Then in the playing process of the multimedia in the player terminal set, the master player, that is, the master player, sends the play signaling to the other player terminals in the player terminal set as the slave player to control the other slave player to follow the playing progress of the master player, and finally realize the synchronous playing of the multimedia.
[0029] It can also be understood that in the embodiments of the application, in order to enable each slave player to quickly respond to the play signaling of the master player and realize the frame synchronization of the multimedia content playing of the plurality of player terminals, a local area network of the plurality of player terminals can be set, so that the plurality of player terminals are in the same local area network.
[0030] For example, a local area network can be constructed so that the plurality of player terminals are in the constructed local area network; or a public network can also be used to ensure that its performance is sufficient to meet the quick response of the control signaling.
[0031] It can also be understood that in the scene of synchronously playing different multimedia contents by each player terminal, the position information of each player terminal can also be configured, so that the corresponding multimedia content can be played according to the position information of each player terminal.
[0032] In order to better understand the multimedia data synchronous playing method provided by the application, the following will be described in detail with reference to the drawings.
[0033] FIG. 2 shows a flowchart of the multimedia data synchronous playing method of some embodiments of the application, as shown in FIG. 2.
[0034] The method can be specifically used for any playing terminal of the playing terminal set as shown in FIG. 1, for example, the first playing terminal, and the method specifically includes the following steps.
[0035] In S110, the first playing terminal acquires order information, which is used to indicate target multimedia data to be played by each playing terminal in a playing terminal set, the playing terminal set including two or more playing terminals, and the first playing terminal being any playing terminal in the playing terminal set.
[0036] In S120, when the first playing terminal is a master playing terminal at a current time, the first playing terminal generates target playing signaling based on a playing progress of the target multimedia data at the current time, the target playing signaling indicating a playing operation of the target multimedia data performed by each playing terminal in the playing terminal set at a next time.
[0037] In S130, the first playing terminal as the master playing terminal sends the target playing signaling to other playing terminals in the playing terminal set except the first playing terminal, so that the other playing terminals perform playing operation on the target multimedia data at the next time synchronously with the first playing terminal, and the first playing terminal and the other playing terminals cache the decoded target multimedia data or display the pre-decoded target multimedia data.
[0038] Specifically, in some embodiments of the present application, the playing terminal set as shown in FIG. 1 can first create an order, that is, configure order information of target multimedia data to each playing terminal.
[0039] The order information can be a directory to be played, that is, indicates target multimedia data to be played by each playing terminal in the playing terminal set, and specifically can include identification information and playing time information of the target multimedia data, such as the name of each target multimedia data and corresponding playing time information.
[0040] For example, the order information includes the name of the target multimedia data and the corresponding playing time, or for network video, can include the access address of the target multimedia data and the corresponding time.
[0041] The target multimedia data can include video, text and voice data.
[0042] In addition, when different playing terminals play different multimedia content, the order information further includes position information, which indicates the playing terminal identification performing the target multimedia data playing.
[0043] The play list information can be generated in advance according to the content information and the time information of the target multimedia data, and stored in each playing terminal, such as on a background server, and then distributed to all playing terminals.
[0044] Further, for any playing terminal in the set of playing terminals, when it is the main playing terminal at the current time, the first playing terminal can generate target playing signaling based on the playing progress of the target multimedia data at the current time. For example, based on the target multimedia data being in a non-playing process or in a playing process, generate target playing instructions.
[0045] Among them, the generated target playing signaling is used to control the playing terminal in the set of playing terminals other than the main playing terminal, that is, to indicate the playing operation of the playing terminal in the set of playing terminals on the target multimedia data at the next time.
[0046] For example, the target playing signaling indicates that the download and decoding operation of the target multimedia data in the play list information starts to play at the next time; or the start of playing a certain data frame in the target multimedia data at the next time.
[0047] The main anchor terminal at the current time can be a pre-configured fixed playing terminal, such as any playing terminal in the set of playing terminals, which can be pre-configured as a main playing terminal, such as the first playing terminal.
[0048] Alternatively, the main playing terminal at the current time can also be a playing terminal determined by a real-time election mechanism, such as real-time determination according to the hardware performance of each playing terminal (such as the remaining storage space or processing speed and other performance parameters at the current time). Or, it can also be determined according to a pre-set election mechanism, such as encoding each playing terminal, and then determining the earlier one as the anchor terminal according to the encoding order.
[0049] Finally, the first playing terminal can send the target playing signaling to other playing terminals in the set of playing terminals, so that the playing terminal receiving the target playing signaling follows the main playing terminal at the current time to perform the playing operation of the target content in the target multimedia data indicated by the target playing signaling at the next time, so as to keep synchronization playing with the anchor terminal.
[0050] It can be understood that in the embodiments of the present application, in the playing process of the multimedia, after each playing terminal in the playing terminal set receives the order information, the master playing terminal at the current time generates target playing signaling indicating that each playing terminal performs playing operation on the target multimedia data at the next time based on the playing progress of the target multimedia indicated in the order information according to the order information, and sends the target playing signaling to other playing terminals in the playing terminal set, so that other playing terminals in the playing terminal set perform the playing operation indicated by the target playing signaling on the target multimedia data at the next time in response to the target playing signaling based on the target playing signaling received by the playing terminal, so that each playing terminal can pre-cache the decoded target multimedia data, or directly display the pre-cached decoded target multimedia data, so that each playing terminal can realize synchronized playing of each playing terminal in the playing terminal set based on the control of the master playing terminal on the basis of pre-stored decoded multimedia data, thereby avoiding time difference caused by playing multimedia content on each playing terminal due to differences in device performance and network performance of each playing terminal, and avoiding the limitation of the number of connected playing terminals, wiring network and server when the same server uniformly decodes and transmits to each playing terminal for playing, thereby reducing device cost and improving user experience.
[0051] That is, when the master playing terminal sends playing signaling to other playing terminals as slave players to realize control of other playing terminals, the time difference is controlled to be minimum, such as within 16 ms, so that frame-level synchronized playing effect of multimedia can be realized.
[0052] Optionally, in some embodiments of the present application, in order to avoid low playing rate of multimedia or even playing failure caused by master playing terminal failure or performance limitation when the master playing terminal is fixedly set, a real-time election mechanism of the master playing terminal is set to enable other master playing terminals to be elected as the master playing terminal at the current time in time after the master playing terminal goes offline.
[0053] That is, after each playing terminal obtains the order information, the execution process of the method can further include the operation step of determining the master playing terminal at the current time. Specifically, the operation step includes:
[0054] S115, the first playing terminal obtains the quasi-playing signaling sent by other playing terminals, the quasi-playing signaling is generated based on the playing progress of the target multimedia data at the current time, and the quasi-playing signaling includes priority information.
[0055] S116, the first playing terminal determines the master playing terminal at the current time in the playing terminal set according to the configured priority information and the priority information in the quasi-playing signaling, and the quasi-playing signaling sent by the determined master playing terminal at the current time is the target playing signaling.
[0056] Specifically, in order to realize the autonomous election of the master playing terminal, priority information can be set in the playing terminal, and when the quasi-playing signaling is generated by each playing terminal, the priority information of itself is carried, so that each playing terminal device can automatically identify the master playing terminal with the highest priority according to the configured priority information and the priority information of the sending terminal included in the quasi-playing signaling sent by other playing terminals.
[0057] It can be understood that when a playing terminal is determined as the master playing terminal at the current time, the quasi-playing signaling sent by the playing terminal is used as the target playing signaling for the control of synchronous playing.
[0058] For example, for the setting of the priority information, the priority of each playing terminal can be sorted according to the device performance of each playing terminal, so as to define the playing terminal with better device performance as the highest level, that is, as the master playing terminal to send the control signaling to other slave playing terminals when performing the synchronous playing of the multimedia data.
[0059] Or, when the device performance of each playing terminal is consistent, the level of each playing terminal can be directly defined, such as configuring the identification code of each playing terminal, and defining the priority according to the identification code, such as the order from small to large of the identification code as the priority order of each playing terminal.
[0060] Then in this embodiment, when the first playing terminal receives the playing signaling including the priority information, it judges the size of the current host priority and the local set priority. If it is smaller, the local host signaling is sent and the first playing terminal is set as the host; if it is larger, the terminal receiving the sent signaling is set as the host.
[0061] After the first playing terminal receives the quasi-playing signaling of each playing terminal, the master playing terminal at the current time in the playing terminal set can be determined according to the priority information in the quasi-playing signaling and the priority information of the first playing terminal.
[0062] If the priority information in each quasi-playing signaling is lower than the priority information of the first playing terminal, such as the priority number, the first playing terminal can determine itself as the master playing terminal at the current time in the playing terminal set.
[0063] Otherwise, the playing terminal with the highest level in the priority information is determined as the master playing terminal at the current time, such as determining the second playing terminal in the playing terminal set as the master playing terminal, which means that at the next time, all the playing terminals in the playing terminal set will follow the second playing terminal to perform the playing operation of the target multimedia data.
[0064] It can be understood that in the application, in the process of synchronous playing of the multimedia data by the set of playing terminals, the automatically elected master playing terminal is set, so that the master playing terminal determined at the last moment can still be automatically recovered without affecting the synchronous playing.
[0065] Optionally, in some embodiments of the application, when the second playing terminal is determined as the master playing terminal at the current moment, the other playing terminals can follow the playing signaling of the second playing terminal to perform the playing operation on the target multimedia data.
[0066] That is, when the second quasi-playing signaling represents the playing operation of each playing terminal in the set of playing terminals on the target multimedia data at the next moment, when the master playing terminal at the current moment is determined as the second playing terminal in the set of playing terminals, the method further comprises:
[0067] S140, the first playing terminal takes the quasi-playing signaling sent by the second playing terminal as the target playing signaling, and performs the playing operation on the target multimedia data at the next moment.
[0068] Specifically, in the embodiments of the application, when the second playing terminal is determined as the master playing terminal at the current moment according to the priority information, the other playing terminals, such as the first playing terminal, can first take the received quasi-playing signaling sent by the second playing terminal as the target playing signaling when following the second playing terminal to perform the playing operation on the target multimedia data, and then respond to the quasi-playing signaling sent by the second playing terminal as the target playing signaling to perform the playing operation on the target multimedia data.
[0069] It can be understood that in the embodiments of the application, any playing terminal in the set of playing terminals can be determined as the master playing terminal through the self-election mechanism to realize the synchronous playing of the target multimedia data.
[0070] It can also be understood that in the embodiments of the application, after each playing terminal obtains the order information, if the target multimedia data indicated by the order information is a local file, each playing terminal can pre-obtain the target multimedia data. Otherwise, only the playing terminal as the master playing terminal obtains the target multimedia data which is not a local file, and then buffers after decoding. And the other playing terminals as the slave playing terminals wait for the data frames of the decoded target multimedia data distributed by the master playing terminal. That is, when the target multimedia data is a non-local file such as a network video stream, each slave playing terminal does not need to download and decode the target multimedia data, but directly distributes by the master playing terminal after decoding.
[0071] Optionally, in some embodiments of the present application, in the process of controlling the playing progress of the target multimedia data by the master playing terminal, the target playing signaling generated by the master playing terminal or the received quasi-playing signaling can be start signaling, frame data signaling or playing frame signaling.
[0072] That is, when the first playing terminal is the master playing terminal and controls the other slave playing terminals, the first playing terminal can generate various types of playing signaling according to the current playing progress of the target multimedia data and the source of the target multimedia data.
[0073] As shown in FIG. 3, the method comprises the following steps:
[0074] When the target multimedia data is not played, the first playing terminal generates start signaling according to the broadcasting information, and the start signaling is used to instruct each playing terminal to perform a preparation playing operation on the target multimedia data.
[0075] When the target multimedia data is in the playing process, the first playing terminal generates playing frame signaling according to the frame to be played at the next time in the target multimedia data, and the playing frame signaling is used to instruct each playing terminal to perform a display operation on the frame to be played at the next time.
[0076] Specifically, when each playing terminal receives the generated broadcasting information, for a target multimedia data, if synchronization playing is needed, start signaling can be generated according to the broadcasting information, such as the identifier and playing time of the target multimedia data, based on the playing progress of the target multimedia data.
[0077] For example, by timing, when the set duration approaches the playing time, the playing terminal triggers the election operation of the master playing terminal, that is, generates start signaling for the content of the target multimedia data and sends it to other playing terminals in the playing terminal set.
[0078] That is, when the target multimedia data has not entered the playing process, the quasi-playing signaling can be start signaling, which can include identifier information and priority information of the playing terminal of the target multimedia data, and the identifier information can be name or access address information, etc. Or, when the target multimedia data is played by different playing terminals for a part of it, the quasi-playing signaling further includes position information.
[0079] It can be understood that after the first playing terminal generates the start signaling, the first playing terminal can further send the start signaling to other playing terminals to instruct other playing terminals to decode and cache the target multimedia data in response to the start signaling.
[0080] Further, when the target multimedia data is in a playing process and the first playing terminal is the master playing terminal at the current time, the first playing terminal can generate the playing frame signaling according to the playing process at the current time, i.e., generate the playing frame signaling according to the frame to be played at the next time in the target multimedia data. The playing frame signaling is used to indicate the frame to be played by each playing terminal in the set of playing terminals at the next time.
[0081] That is, when the first playing terminal is the master playing terminal at the current time in the playing process of the target multimedia data, the first playing terminal can generate the playing frame signaling according to the broadcasting information and the playing progress of the target multimedia data when the first playing terminal sends the playing signaling to realize the synchronous playing of the target multimedia data by all the playing terminals in the set of playing terminals. The playing frame signaling can include the identification of the target multimedia data and the time information (PTS, Presentation Time Stamp) of the target frame to be played at the next time.
[0082] In some embodiments of the present application, when the first playing terminal is still the master playing terminal at the current time, the first playing terminal can generate the playing frame signaling or the frame data signaling according to the type of the target multimedia data after the first playing terminal sends the start signaling to the other playing terminals.
[0083] For example, when the target multimedia data is a non-local file, i.e., a network file, the first playing terminal can further obtain the playing content of the target multimedia data from the server after the first playing terminal sends the start signaling to the other playing terminals, and then generate the frame data signaling based on the decoded playing content after decoding the obtained playing content, so as to distribute the decoded playing content to each playing terminal.
[0084] For another example, when the target multimedia data is a local file, the first playing terminal can enter a waiting state after the first playing terminal sends the start signaling to the other playing terminals, and wait for the decoding operation of the target multimedia data by each playing terminal. Then, when the waiting time reaches the set time length, such as 10 ms, the first playing terminal can play the target multimedia data, i.e., send the playing frame signaling of one frame of the target multimedia data and the broadcasting information to each playing terminal.
[0085] That is, the master playing terminal judges the current target multimedia data, such as a video resource type, and if it is a local file, waits for a period of time (such as 1-200 ms set according to the size of the local file), and starts playing after all terminals are preloaded with the corresponding video resource frame, i.e., generates the playing frame signaling.
[0086] It can be understood that in the above embodiments, the first playing terminal as the master playing terminal can first generate a start signaling according to the broadcast order information for the target multimedia data to instruct each playing terminal to prepare for playing the target multimedia data, that is, when the target multimedia data is a local file, each playing terminal can respond to the start signaling to start decoding operation of the target multimedia data, and when the target multimedia data is a non-local file, each playing terminal can respond to the start signaling to enter a waiting state to wait for frame data signaling including decoding content of the target multimedia data sent by the master playing terminal. Then, the playing process of the target multimedia data can be entered, that is, the first playing terminal can send playing frame signaling for each data frame in the target multimedia data to each playing terminal after completing the set waiting time length or sending the frame data signaling to each playing terminal, so that each playing terminal performs frame playing operation synchronized with the master playing terminal according to the indication of the playing frame signaling, and finally achieves the frame-level synchronized playing purpose, avoiding the picture difference when multiple playing terminals play and the limitation of unified decoding by the server.
[0087] Optionally, in some embodiments of the application, when it is determined that the master playing terminal at the current time is the second playing terminal in the set of playing terminals, the first playing terminal can act as a slave playing terminal to follow the second playing terminal to perform the playing operation on the target multimedia data.
[0088] That is, as shown in FIG. 3, in this scenario, when the first playing terminal plays the target multimedia data in response to the quasi-playing signaling sent by the second playing terminal, the playing operation on the target multimedia data is specifically performed according to the type of the quasi-playing signaling:
[0089] If the quasi-playing signaling sent by the second playing terminal is a start signaling, when the target multimedia data is a local file, the first playing terminal decodes the target multimedia data and buffers the decoded target multimedia data in response to the start signaling sent by the second playing terminal.
[0090] If the quasi-playing signaling sent by the second playing terminal is a playing frame signaling, the first playing terminal performs display operation on the frame to be played indicated in the playing frame signaling in response to the playing frame signaling sent by the second playing terminal.
[0091] If the quasi-playing signaling sent by the second playing terminal is a frame data signaling, the first playing terminal buffers the decoded target multimedia data in the frame data signaling received in response to the frame data signaling sent by the second playing terminal.
[0092] Specifically, the first playing terminal determines the master playing terminal at the current time as the second playing terminal, i.e. when it is a slave playing terminal at the current time, upon receiving the quasi-playing signaling sent by the second playing terminal, it can first determine the type of the quasi-playing signaling, and then perform corresponding playing operation according to the determined type and the content carried in the quasi-playing signaling.
[0093] For example, as shown in FIG. 3, in some embodiments, when the quasi-playing signaling is start signaling, the first playing terminal further determines whether the target multimedia data is a local file.
[0094] If the target multimedia data is a local file, the first playing terminal acquires the target multimedia data, and after acquisition, decodes the content of the target multimedia data, and finally caches the decoded target multimedia data.
[0095] Otherwise, it enters a waiting state, i.e. if the target multimedia data is a non-local file, it waits to acquire the frame data signaling sent by the master playing terminal, i.e. the second playing terminal, including the playing content of the target multimedia data.
[0096] i.e. according to the start signaling, it acquires resource information and current playing PTS, parses the video resource and locates to the nearest key frame to start decoding, and saves the video frame to the cache queue, and waits for the playing frame signaling to play the video.
[0097] For another example, as shown in FIG. 3, if the received quasi-playing signaling is not start signaling, it further judges whether it is playing frame signaling.
[0098] If the quasi-playing signaling is playing frame signaling, upon receiving the playing frame signaling, the first playing terminal responds to the playing frame signaling sent by the second playing terminal, and performs display operation on the to-be-played frame indicated in the playing frame signaling.
[0099] i.e. the first playing terminal compares the identification information in the received playing frame signaling with the identification information of the to-be-played frame at the next time in the cache queue, and compares the time information in the received playing frame signaling with the time information of the to-be-played frame at the next time in the cache queue.
[0100] If the identification information of both is the same, and the time information in the playing frame signaling is earlier than or equal to the time information of the to-be-played frame at the next time in the cache queue, the first playing terminal performs display operation on the to-be-played frame at the next time in the target multimedia data.
[0101] Otherwise, the first playing terminal deletes the to-be-played frame at the next time in the cache queue.
[0102] For example, the first playing terminal can first compare the identification information of the next frame to be played in the received frame to be played with the identification information of the next frame to be played in the cache, and the time information of the next frame to be played in the received frame to be played with the time information of the next frame to be played in the cache.
[0103] Further, if the identification information is the same, and the time information of the next frame to be played in the received frame to be played is earlier than or equal to the time information of the next frame to be played in the cache, the next frame to be played in the target multimedia data is played; otherwise, the next frame to be played in the cache queue is deleted.
[0104] That is, the first playing terminal can determine whether the current cache resource and the signaling resource are consistent according to the data information (i.e., identification information) and time information of the frame to be played in the playing frame signaling, and compare the PTS in the signaling with the PTS of the frame in the cache queue. If the received PTS is greater than or equal to the PTS of the cache frame, the current frame is played immediately and removed from the cache queue. If the resources are inconsistent or the PTS of the cache queue does not meet the condition, the cache queue can be emptied, and the target multimedia data is reloaded according to the resource type, such as a video resource.
[0105] Further, as shown in FIG. 3, if the received quasi-playing signaling is not the start signaling and the playing frame signaling, but the frame data signaling, that is, the decoded frame to be played sent by the anchor terminal (i.e., the second playing terminal) for the non-local file is received. At this time, the first playing terminal can cache the frame to be played in the frame data signaling, so as to take out the corresponding data frame from the cache to perform the playing operation after receiving the playing frame signaling.
[0106] In addition, as shown in FIG. 3, in some embodiments of the present application, for the main playing terminal, a dynamic real-time election mechanism is performed, that is, in the scenario where the second playing terminal is the main playing terminal, if the playing signaling of the second playing terminal is still not received within a preset time length, such as the frame data signaling or the playing frame signaling sent by the second playing terminal is not received within the preset time length after the start signaling sent by the second playing terminal is received, it indicates that the main playing terminal at the current time, that is, the second playing terminal is offline.
[0107] In this case, the main playing terminal election mechanism of each playing terminal can be triggered, that is, each playing terminal can generate quasi-playing signaling such as frame data signaling or playing frame signaling according to the broadcast list information and the playing progress of the target multimedia data, and broadcast to other playing terminals, so as to determine the main playing terminal at the current time, so as to ensure the normal playing of the target multimedia data.
[0108] It can be understood that in the embodiments of the present application, in the playing process of the multimedia, after each playing terminal in the playing terminal set receives the order information, the master playing terminal at the current time generates target playing signaling indicating the playing operation at the next time according to the order information, and sends it to other playing terminals in the playing terminal set, so that other playing terminals can respond to the target playing signaling and execute the playing operation indicated by the target playing signaling on the target multimedia data at the next time, synchronously with the master playing terminal, to realize the synchronous playing of each playing terminal in the playing terminal set, avoid the time difference caused by the playing of the multimedia content on each playing terminal due to the differences in device performance and network performance of each playing terminal, and avoid the limitation of the number of connected playing terminals, wiring network and server caused by the uniform decoding of the same server and then the transmission to each playing terminal for playing. That is, the control mechanism of the master playing terminal is set to make one of the playing terminals as the master playing terminal to control other playing terminals for synchronous playing operation, to realize the frame synchronous playing of each playing terminal, reduce the device cost, and improve the user experience.
[0109] That is, the frame level synchronization effect can be realized by multiple terminals without a server; in addition, the master playing terminal is automatically elected, and the automatic recovery of the master terminal drop-out does not affect the synchronous playing; the decoding is dispersed to each terminal to support large number of screen connection synchronous playing; the synchronous playing of network video stream is supported, and the live video synchronous playing of multiple terminals is supported.
[0110] On the other hand, the embodiments of the present application also provide a multimedia data synchronous playing device, as shown in FIG. 4, which comprises:
[0111] The first acquisition module 210 is configured to acquire order information by the first playing terminal, the order information being used to indicate target multimedia data to be played by each playing terminal in a playing terminal set, the playing terminal set comprising two or more playing terminals, and the first playing terminal being any playing terminal in the playing terminal set.
[0112] The generation module 220 is configured to generate target playing signaling based on the playing progress of the target multimedia data at the current time by the first playing terminal when the first playing terminal is the master playing terminal at the current time, the target playing signaling indicating the playing operation of each playing terminal in the playing terminal set on the target multimedia data at the next time.
[0113] The sending module 230 is configured to send, by the first playing terminal as the master playing terminal, the target playing signaling to other playing terminals in the playing terminal set except the first playing terminal, so that the other playing terminals perform playing operation on the target multimedia data synchronously with the first playing terminal at the next time, so that the first playing terminal and the other playing terminals buffer the decoded target multimedia data or display the pre-decoded target multimedia data.
[0114] Optionally, the multimedia data synchronous playing device provided in the present application further comprises:
[0115] The second obtaining module 240 is configured to obtain, by the first playing terminal, the quasi-playing signaling sent by the other playing terminal, the quasi-playing signaling being generated based on the playing progress of the target multimedia data at the current time, and the quasi-playing signaling comprising priority information.
[0116] The determining module 250 is configured to determine, by the first playing terminal, the master playing terminal in the playing terminal set at the current time according to the configured priority information and the priority information in the quasi-playing signaling, and the quasi-playing signaling sent by the determined master playing terminal at the current time being the target playing signaling.
[0117] Optionally, the multimedia data synchronous playing device provided in the present application further comprises:
[0118] The playing module 260 is configured to take, by the first playing terminal, the quasi-playing signaling sent by the second playing terminal as the target playing signaling, and perform playing operation on the target multimedia data at the next time.
[0119] Optionally, the multimedia data synchronous playing device provided in the present application, when the first playing terminal is the master playing terminal at the current time, the generating module is specifically configured to:
[0120] When the target multimedia data is not played, the first playing terminal generates a start signaling according to the order information, the start signaling being used to instruct the playing terminals to perform preparation playing operation on the target multimedia data; when the target multimedia data is in the playing process, the first playing terminal generates a playing frame signaling according to the to-be-played frame at the next time in the target multimedia data, the playing frame signaling being used to instruct the playing terminals to perform display operation on the to-be-played frame at the next time.
[0121] Optionally, the multimedia data synchronous playing device provided in the application, when the first playing terminal is the main playing terminal at the current time, and the to-be-played content of the target multimedia data is a non-local file, the generating module is further configured to: if the target multimedia data is not played, the first playing terminal acquires the target multimedia data and decodes; and generate frame data signaling according to the decoded target multimedia data, wherein the frame data signaling comprises the decoded target multimedia data.
[0122] Optionally, the multimedia data synchronous playing device provided in the application, if the second playing terminal is the main playing terminal at the current time, the playing module is specifically configured to: if the quasi-playing signaling sent by the second playing terminal is a start signaling, when the target multimedia data is a local file, the first playing terminal responds to the start signaling sent by the second playing terminal, decodes the target multimedia data, and buffers the decoded target multimedia data; if the quasi-playing signaling sent by the second playing terminal is a playing frame signaling, the first playing terminal responds to the playing frame signaling sent by the second playing terminal, and performs a display operation on the to-be-played frame indicated in the playing frame signaling; if the quasi-playing signaling sent by the second playing terminal is a frame data signaling, the first playing terminal responds to the frame data signaling sent by the second playing terminal, and buffers the decoded target multimedia data in the received frame data signaling.
[0123] Optionally, the multimedia data synchronous playing device provided in the application, the playing frame signaling comprises identification information and time information of the to-be-played frame at the current time, and the playing module is specifically configured to: the first playing terminal compares the identification information in the received playing frame signaling with the identification information of the to-be-played frame at the next time in the buffer queue, and compares the time information in the received playing frame signaling with the time information of the to-be-played frame at the next time in the buffer queue; if the identification information of both is the same, and the time information in the playing frame signaling is earlier than or equal to the time information of the to-be-played frame at the next time in the buffer queue, the first playing terminal performs a display operation on the to-be-played frame at the next time in the target multimedia data; otherwise, the first playing terminal deletes the to-be-played frame at the next time in the buffer queue.
[0124] In another aspect, the processing device provided in the embodiment of the application further comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the operation and maintenance method of the energy storage power station device when executing the program.
[0125] Hereinafter, referring to FIG. 5, FIG. 5 is a structural schematic diagram of the processing device in the embodiment of the application.
[0126] As shown in FIG. 5, the processing device includes a central processing unit (CPU) 301 which can perform various appropriate actions and processes in accordance with a program stored in a read only memory (ROM) 302 or a program loaded into a random access memory (RAM) 303 from a storage section 308. In the RAM 303, various programs and data required for the operation of the electronic device 300 are also stored. The CPU 301, the ROM 302, and the RAM 303 are connected to each other through a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304. In some embodiments, the following components are connected to the I / O interface 305: an input section 306 including a keyboard, a mouse, etc.; an output section 307 including a display such as a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 308 including a hard disk, etc.; and a communication section 309 including a network interface card such as a LAN card, a modem, etc. The communication section 309 performs communication processing via a network such as the Internet. A drive 310 is also connected to the I / O interface 305 as necessary. A removable media 311 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc. is attached to the drive 310 as necessary, so that a computer program read therefrom is installed into the storage section 308 as necessary. In particular, the processes described above with reference to the flowcharts can be implemented as a computer software program in accordance with embodiments of the present application. For example, embodiments of the present application include a computer program product comprising a computer program carried on a machine-readable medium, the computer program containing program code for executing the methods illustrated by the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via the communication section 309, and / or installed from the removable media 311. When the computer program is executed by the central processing unit (CPU) 301, the above-described functions defined in the electronic device of the present application are performed.
[0127] It should be noted that the computer-readable medium shown in the application can be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. The computer-readable storage medium may, for example, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor electronic devices, devices or equipment, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to, electrical connections with one or more conductive wires, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In this application, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with a signaling execution electronic device, device or equipment. In this application, the computer-readable signal medium can include a data signal carried in a baseband or as a carrier wave part of a carrier wave, which carries computer-readable program code. Such a propagated data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium, which can send, propagate or transmit programs for use by or in conjunction with a signaling execution electronic device, device or equipment. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0128] The flowcharts and block diagrams in the drawings illustrate the possible implementation architecture, function and operation of the processing device, method and computer program product according to various embodiments of the application. In this regard, each block in the flowchart or block diagram can represent a module, program segment, or a portion of code that contains one or more executable signaling for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks can occur in different order than that shown in the figure. For example, two blocks that are shown in succession can actually be executed substantially in parallel, and sometimes they can be executed in reverse order, depending on the involved functions. It should also be noted that each block in the block diagram and / or flowchart, and the combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based electronic device that performs the specified function or operation, or can be implemented by a combination of dedicated hardware and computer signaling.
[0129] The units or modules described in the embodiments of the present application can be implemented in the form of software or in the form of hardware. The described units or modules can also be arranged in a processor, for example, can be described as: a processor comprising an acquisition module, a generation module and a sending module. In some cases, the names of these units or modules do not constitute a limitation on the units or modules themselves, for example, the sending module can also be described as: "a first playing terminal used as a master playing terminal sends target playing signaling to other playing terminals in a playing terminal set except the first playing terminal, so that the other playing terminals respond to the target playing signaling, and perform playing operations on target multimedia data synchronously with the first playing terminal at a next time, so that the first playing terminal and the other playing terminals cache decoded target multimedia data, or display pre-decoded target multimedia data".
[0130] As another aspect, the present application also provides a computer readable storage medium, which can be included in the electronic device described in the above embodiments, or can exist separately without being assembled into the electronic device. The computer readable storage medium stores one or more computer programs, when the computer programs are used by one or more processors to execute the multimedia data synchronous playing method described in the present application: a first playing terminal acquires a broadcast sheet information, the broadcast sheet information is used to indicate target multimedia data to be played by each playing terminal in a playing terminal set, the playing terminal set includes two or more playing terminals, and the first playing terminal is any playing terminal in the playing terminal set; when the first playing terminal is a master playing terminal at a current time, the first playing terminal generates target playing signaling based on a playing progress of the target multimedia data at the current time, the target playing signaling indicates playing operations performed by each playing terminal in the playing terminal set on the target multimedia data at a next time; the first playing terminal used as the master playing terminal sends the target playing signaling to other playing terminals in the playing terminal set except the first playing terminal, so that the other playing terminals respond to the target playing signaling, and perform playing operations on the target multimedia data synchronously with the first playing terminal at the next time, so that the first playing terminal and the other playing terminals cache decoded target multimedia data, or display pre-decoded target multimedia data.
[0131] The above description is merely exemplary of the application and of the application of the principles thereof and the application is not limited to the disclosed technical features or combinations thereof. It is intended to be apparent to one skilled in the art that the scope of the disclosure is not limited to the technical solutions formed by the specific combinations of the technical features disclosed above, and also includes other technical solutions formed by the combinations of the technical features disclosed above or their equivalent features without departing from the above disclosed concept. For example, technical solutions formed by the mutual replacement of the above features and technical features with similar functions disclosed in the application (but not limited to) are also included.
Claims
1. A method for synchronously playing multimedia data, characterized in that, The method comprises: The first playing terminal acquires order information, the order information is used to indicate target multimedia data to be played by each playing terminal in a playing terminal set, the playing terminal set comprises two or more playing terminals, and the first playing terminal is any playing terminal in the playing terminal set; When the first playing terminal is a master playing terminal at a current time, the first playing terminal generates target playing signaling based on a playing progress of the target multimedia data at the current time, the target playing signaling indicates playing operations of each playing terminal in the playing terminal set on the target multimedia data at a next time; The first playing terminal as the master playing terminal sends the target playing signaling to other playing terminals in the playing terminal set except the first playing terminal, so that the other playing terminals respond to the target playing signaling and perform playing operations on the target multimedia data at the next time synchronously with the first playing terminal, so that the first playing terminal and each of the other playing terminals cache the decoded target multimedia data or display the target multimedia data decoded in advance.
2. The multimedia data synchronized play method of claim 1, wherein, After the first playing terminal acquires the order information, before the target multimedia data is played, the method further comprises: The first playing terminal acquires quasi-playing signaling sent by other playing terminals, the quasi-playing signaling is generated based on a playing progress of the target multimedia data at the current time, and the quasi-playing signaling comprises priority information; The first playing terminal determines a master playing terminal at the current time in the playing terminal set according to configured priority information and the priority information in the quasi-playing signaling, and the quasi-playing signaling sent by the determined master playing terminal at the current time is the target playing signaling.
3. The multimedia data synchronized playback method of claim 2, wherein, When the determined master playing terminal at the current time is a second playing terminal, the second playing terminal is any playing terminal in the playing terminal set except the first playing terminal, and the method further comprises: The first playing terminal takes the quasi-playing signaling sent by the second playing terminal as the target playing signaling and performs playing operations on the target multimedia data at the next time. When the first playing terminal is the master playing terminal at the current time, the first playing terminal generates the target playing signaling based on the playing progress of the target multimedia data at the current time, which comprises:
4. The multimedia data synchronized playback method of claim 3, wherein, When the target multimedia data is not played, the first playing terminal generates start signaling according to the order information, the start signaling is used to instruct each playing terminal to perform a preparation playing operation on the target multimedia data; When the target multimedia data is in a playing process, the first playing terminal generates playing frame signaling according to a frame to be played at the next time in the target multimedia data, and the playing frame signaling is used to instruct each playing terminal to perform a display operation on the frame to be played at the next time. When the first playing terminal is the master playing terminal at the current time and the target multimedia data is a non-local file, the first playing terminal generates the target playing signaling based on the playing progress of the target multimedia data at the current time, which further comprises:
5. The multimedia data synchronized playback method of claim 4, wherein, If the target multimedia data is not played, the first playing terminal acquires the target multimedia data and decodes the target multimedia data; According to the decoded target multimedia data, frame data signaling is generated, and the frame data signaling includes the decoded target multimedia data.
6. The multimedia data synchronized play method of claim 5, wherein, If the second playing terminal is the main playing terminal at the current time, the first playing terminal takes the quasi-playing signaling sent by the second playing terminal as target playing signaling, and performs playing operation on the target multimedia data at the next time, including: If the quasi-playing signaling sent by the second playing terminal is start signaling, when the target multimedia data is a local file, the first playing terminal decodes the target multimedia data in response to the start signaling sent by the second playing terminal, and buffers the decoded target multimedia data; If the quasi-playing signaling sent by the second playing terminal is playing frame signaling, the first playing terminal performs display operation on the frame to be played indicated in the playing frame signaling in response to the playing frame signaling sent by the second playing terminal; If the quasi-playing signaling sent by the second playing terminal is frame data signaling, the first playing terminal buffers the decoded target multimedia data in the received frame data signaling in response to the frame data signaling sent by the second playing terminal.
7. The multimedia data synchronized playback method of claim 6, wherein, The playing frame signaling includes identification information and time information of the frame to be played at the next time, and the first playing terminal performs display operation on the frame to be played indicated in the playing frame signaling in response to the playing frame signaling sent by the second playing terminal, including: The first playing terminal compares the identification information in the received playing frame signaling with the identification information of the frame to be played at the next time in the buffer queue, and compares the time information in the received playing frame signaling with the time information of the frame to be played at the next time in the buffer queue; If the identification information is the same, and the time information in the playing frame signaling is earlier than or equal to the time information of the frame to be played at the next time in the buffer queue, the first playing terminal performs display operation on the frame to be played at the next time in the target multimedia data; Otherwise, the first playing terminal deletes the frame to be played at the next time in the buffer queue.
8. A multimedia data synchronous playing device, characterized in that, The device includes: An acquisition module is configured to acquire, by a first playing terminal, a play list information, the play list information being used to indicate target multimedia data to be played by each playing terminal in a playing terminal set, the playing terminal set including two or more playing terminals, and the first playing terminal being any playing terminal in the playing terminal set; A generation module is configured to, when the first playing terminal is a main playing terminal at a current time, generate, by the first playing terminal, target playing signaling based on a playing progress of the target multimedia data at the current time, the target playing signaling indicating playing operation performed by each playing terminal in the playing terminal set on the target multimedia data at a next time. a sending module, configured to send, by the first playing terminal, the target playing signaling to other playing terminals in the set of playing terminals except the first playing terminal, so that the other playing terminals perform playing operation on the target multimedia data synchronously with the first playing terminal at the next time instant in response to the target playing signaling, so that the first playing terminal and the other playing terminals store the decoded target multimedia data or display the stored decoded target multimedia data.
9. An electronic device, comprising: The electronic device comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the multimedia data synchronous playing method according to any one of claims 1-7 when executing the program.
10. A computer-readable storage medium, characterized in that, A computer program is stored on the electronic device, and the computer program is used to implement the multimedia data synchronous playing method according to any one of claims 1-7.
Citation Information
Patent Citations
Multimedia synchronous playing method, equipment, computer storage medium and system
CN111447481A
Cross-screen playing method, device and apparatus and storage medium
CN112399226A
Multi-screen video display method and system, playing end and storage medium
CN115297274A
Method, device and equipment for synchronously playing multimedia file in multiple screens and medium
CN115643439A
Multimedia data synchronous playing method and device, equipment and medium
CN118354132A