CN114500476A - Multimedia playing method and device and computer readable storage medium - Google Patents
Multimedia playing method and device and computer readable storage medium Download PDFInfo
- Publication number
- CN114500476A CN114500476A CN202210102601.8A CN202210102601A CN114500476A CN 114500476 A CN114500476 A CN 114500476A CN 202210102601 A CN202210102601 A CN 202210102601A CN 114500476 A CN114500476 A CN 114500476A
- Authority
- CN
- China
- Prior art keywords
- playing
- time
- played
- content
- play
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000001360 synchronised effect Effects 0.000 claims abstract description 30
- 230000001915 proofreading effect Effects 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012937 correction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 230000036647 reaction Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/44—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/489—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using time information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The embodiment of the disclosure provides a multimedia playing method, a multimedia playing device and a computer readable storage medium. The method comprises the following steps: the method comprises the steps that time proofreading is carried out on a plurality of terminals participating in collaborative playing, and system time of the terminals is kept consistent; each terminal participating in the collaborative playing acquires configuration information and contents to be played, wherein the configuration information comprises playing start time information, content information to be played and playing duration information of each content to be played; each terminal participating in the collaborative playing generates a play list according to the configuration information, the play list at least comprises information of contents to be played and time slice information corresponding to each item of contents to be played, and each item of contents to be played corresponds to one or more time slices; and when the system time reaches the play starting time in the play list, each terminal participating in the collaborative play plays the content to be played according to the play list. Synchronous playing can be realized without depending on a network, and the complexity of the system is reduced.
Description
Technical Field
The disclosed embodiments relate to the technical field of computers, and in particular, to a multimedia playing method and apparatus, and a computer-readable storage medium.
Background
In the related art, when a plurality of terminals cooperatively play the same audio file, one terminal is usually used as a server, other terminals are used as clients, the server sends the content played by the local computer and the played position data to the client, and the terminal serving as the client controls the playing of the local computer by using the information as a synchronization signal.
Disclosure of Invention
The embodiment of the disclosure provides a multimedia playing method, a multimedia playing device and a computer readable storage medium, which solve the problems of complex operation and over dependence on a network during synchronous playing.
In one aspect, an embodiment of the present disclosure provides a multimedia playing method, including:
performing time proofreading on a plurality of terminals participating in the collaborative playing to keep the system time of the plurality of terminals consistent;
each terminal participating in the collaborative playing acquires configuration information and contents to be played, wherein the configuration information comprises playing start time information, content information to be played and playing duration information of each content to be played;
each terminal participating in the cooperative play generates a play list according to the configuration information, wherein the play list at least comprises information of contents to be played and time slice information corresponding to each item of contents to be played, and each item of contents to be played corresponds to one or more time slices;
and when the system time reaches the play starting time in the play list, each terminal participating in the collaborative play plays the content to be played according to the play list.
On the other hand, the embodiment of the present disclosure further provides a multimedia playing device, configured to participate in cooperative playing with other multimedia playing devices, where the multimedia playing device includes:
the time correction module is used for correcting time to keep the system time of the multimedia playing device consistent with that of other multimedia playing devices participating in cooperative playing;
the information acquisition module is used for acquiring configuration information and contents to be played, wherein the configuration information comprises playing start time information, content information to be played and playing duration information of each content to be played; and
a list generating module, configured to generate a playlist according to the configuration information, where the playlist at least includes information of content to be played and time slice information corresponding to each item of content to be played, and each item of content to be played corresponds to one or more time slices;
and the playing module is used for playing the content to be played according to the play list when the system time reaches the play starting time in the play list.
On the other hand, the embodiment of the present disclosure further provides a multimedia playing system, which includes a plurality of multimedia playing apparatuses as described above, and a multimedia information distribution server for sending configuration information and content to be played to the multimedia playing apparatuses.
On the other hand, the embodiment of the present disclosure further provides a multimedia playing apparatus, which includes a processor and a memory storing a computer program that can be executed on the processor, wherein the processor implements the steps of the multimedia playing method when executing the program.
In still another aspect, an embodiment of the present disclosure further provides a computer-readable storage medium, which stores a computer program that can be executed on a processor, and when the computer program is executed by the processor, the computer program is used to implement the above multimedia playing method.
In the method provided by the embodiment of the present disclosure, a plurality of terminals participating in cooperative play implement system time synchronization of the plurality of terminals through time calibration, generate the same playlist by downloading the same content to be played and configuration information and in the same manner, and after time synchronization and generation of the playlist, the plurality of terminals participating in cooperative play can implement synchronous play without depending on a network, which is simple to implement, reduces configuration and deployment costs, and reduces complexity of the system.
Of course, not all advantages described above need to be achieved at the same time to practice any one product or method of the present disclosure. Additional features and advantages of the disclosure will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the disclosure. The objectives and other advantages of the disclosed embodiments may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
The accompanying drawings are included to provide a further understanding of the disclosed embodiments and are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the example serve to explain the principles of the disclosure and not to limit the disclosure. The shapes and sizes of the various elements in the drawings are not to be considered as true proportions, but are merely intended to illustrate the present disclosure.
Fig. 1 is a flowchart of a multimedia playing method according to an embodiment of the disclosure;
FIG. 2 is a schematic diagram of a collaborative playback system including a plurality of multimedia playback devices according to an embodiment of the present disclosure;
FIG. 3 is a schematic structural diagram of a multimedia playback device according to an embodiment of the disclosure;
fig. 4 is a schematic structural diagram of a multimedia playing device according to an embodiment of the disclosure.
Detailed Description
The present disclosure describes embodiments, but the description is illustrative rather than limiting and it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the embodiments described in the present disclosure. Although many possible combinations of features are shown in the drawings and discussed in the embodiments, many other combinations of the disclosed features are possible. Any feature or element of any embodiment may be used in combination with or instead of any other feature or element in any other embodiment, unless expressly limited otherwise.
The present disclosure includes and contemplates combinations of features and elements known to those of ordinary skill in the art. The embodiments, features and elements of the present disclosure that have been disclosed may also be combined with any conventional features or elements to form unique inventive aspects as defined by the claims. Any feature or element of any embodiment may also be combined with features or elements from other inventive aspects to form yet another unique inventive aspect, as defined by the claims. Thus, it should be understood that any features shown and/or discussed in this disclosure may be implemented alone or in any suitable combination. Accordingly, the embodiments are not limited except as by the appended claims and their equivalents. Furthermore, various modifications and changes may be made within the scope of the appended claims.
Further, in describing representative embodiments, the specification may have presented the method and/or process as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. Other orders of steps are possible as will be understood by those of ordinary skill in the art. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. Further, the claims directed to the method and/or process should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the embodiments of the present disclosure.
Unless defined otherwise, technical or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. The use of "first," "second," and similar terms in this disclosure is not intended to indicate any order, quantity, or importance, but rather is used to distinguish one element from another. In the present disclosure, "a plurality" may mean two or more numbers. The word "comprising" or "comprises", and the like, means that the element or item listed before the word covers the element or item listed after the word and its equivalents, but does not exclude other elements or items.
To maintain the following description of the embodiments of the present disclosure clear and concise, a detailed description of some known functions and components have been omitted from the present disclosure. The drawings of the embodiments of the disclosure only relate to the structures related to the embodiments of the disclosure, and other structures can refer to the common design.
As described above, in the related art, no matter the terminal serving as the server or a special streaming server sends the playing content to other clients, the terminal is too dependent on the network, needs a large network bandwidth for support, has a high requirement on the server, and is complex to implement.
Therefore, the embodiment of the disclosure provides a multimedia playing method, which is suitable for a scene cooperatively played by multiple terminals. As shown in fig. 1, the method comprises the following steps:
110, performing time proofreading on a plurality of terminals participating in collaborative playing to keep system time of the plurality of terminals consistent;
for example, Time synchronization of multiple terminals can be realized through Network Time Protocol (NTP) timing. NTP protocol is a protocol for time synchronization of computers, which can synchronize their servers or clock sources (e.g. quartz clock, GPS, etc.), provide highly accurate time correction (less than 1 ms difference from standard on LAN and tens of ms difference on WAN), and prevent malicious protocol attacks via cryptographic confirmation. The synchronization is completed through the NTP protocol, the realization is simple, and the precision is high.
After time synchronization is carried out on each terminal participating in synchronous playing, the same time is used as a synchronization reference, synchronization can be carried out based on local time, and dependence on a network is reduced.
Step 120, each terminal participating in the collaborative play acquires configuration information and content to be played, wherein the configuration information includes play start time information (including start time of synchronous play), content information to be played, and play duration information of each content to be played;
the configuration information may be received from a multimedia information distribution server (hereinafter referred to as a "distribution server"), or may be copied from another computer or a removable hard disk.
There are various ways to obtain the content to be played, for example, the file resource may be downloaded through a messaging server, or may be copied from other computers or a mobile hard disk.
In other embodiments, the manner of obtaining the configuration information and the content to be played may be the same or different, for example, obtaining the configuration information from different servers, or obtaining the configuration information from a server and obtaining the content to be played by copying.
The configuration information acquired by each terminal participating in the collaborative playing is the same as the content to be played.
Step 130, each terminal participating in the collaborative play generates a play list according to the configuration information, wherein the play list at least comprises information of contents to be played and time slice information corresponding to each item of contents to be played;
and each terminal participating in the collaborative play generates the same play list according to the same configuration information.
In an exemplary embodiment, the time slice information of each item of content to be played includes a start time and an end time of the corresponding content to be played. The information of the content to be played corresponds to the information of the time slice, or the time slice bound to each content to be played can be understood. In this embodiment, each playing content corresponds to one or more time slices, and the media content is synchronized by performing time-slice management on the media content, thereby reducing the complexity of the system.
Besides the first content to be played, the time slice information of each other content to be played is obtained by calculation according to the time length and the starting time of the content to be played which is played before the content to be played. For the first content to be played, the start time in the time slice information is the play start time, and the end time is the play start time + the play duration of the content to be played. For the content to be played except the first content to be played, the start time in the time slice information of each other content to be played is the end time in the time slice information of the last content to be played, optionally, the start time in the time slice information of each other content to be played may also be the end time in the time slice information of the last content to be played + a preset loading time length n (the unit may be n seconds, n is a positive integer greater than or equal to 0, for example, n is 1), and the end time is the start time + the playing time length of the current content to be played.
And step 140, when the system time of each terminal participating in the collaborative play reaches the play start time in the play list, playing the content to be played according to the play list.
By adopting the method of the embodiment, the plurality of terminals participating in the collaborative play realize the system time synchronization of the plurality of terminals through time calibration, the same content to be played and the same configuration information are downloaded, the same play list is generated through the same mode, and after the time synchronization and the play list generation, the plurality of terminals participating in the collaborative play can realize the synchronous play without depending on a network, so that the realization is simple, the configuration and deployment cost is reduced, and the complexity of the system is reduced.
In an exemplary embodiment, in step 130, the generating, by each terminal participating in the collaborative play according to the configuration information, a playlist includes:
and each terminal participating in the collaborative playing generates a first play list which is less than or equal to the play time threshold according to the configuration information and a preset play time threshold, and generates a second play list if the configuration information contains contents to be played which are not listed in the play list, wherein the second play list is continued to the first play list in time. In other embodiments, the second playlist may also be generated while the first playlist is playing.
In an exemplary embodiment, after generating the first playlist and the second playlist, when the system time of each terminal participating in the collaborative play reaches the play start time in the playlist, playing the content to be played according to the playlist, including:
and when the system time reaches the play starting time in the first play list, each terminal participating in the collaborative play plays the content to be played according to the first play list, when the play of the first play list is finished, the terminal is switched to the second play list to continue playing, the first play list is released, if the configuration information contains the content to be played which is not played, a third play list is generated, the third play list is continued to the second play list in terms of time, and so on until the configuration information contains no content to be played which is not played.
In an exemplary embodiment, in step 140, in the process of playing the content to be played according to the playlist, the method specifically includes:
and executing a synchronous checking process at regular time, checking whether the time slice corresponding to the current playing content contains the current system time, if so, continuing to play, if not, stopping playing the current playing content, searching the time slice containing the current system time, and synchronously playing the playing content corresponding to the current system time in the time slice (namely the time slice containing the current system time) (namely a real-time synchronous process).
In an exemplary embodiment, in step 140, in the process of playing the content to be played according to the playlist, the method specifically includes:
when one item of playing content in the playlist is played each time, a synchronization check is performed to check whether a time slice corresponding to the next item of playing content in the playlist contains the current system time, if so, the next item of content is played, if not, the time slice containing the current system time is searched, and the playing content corresponding to the current system time in the time slice (i.e., the time slice containing the current system time) is played synchronously in real time (i.e., the real-time synchronization process).
The timing check and the synchronization check after each play do not conflict with each other, and may be executed alternatively or both.
In an exemplary embodiment, the method further comprises: and regularly judging whether new configuration information and/or content to be played exist or not, if so, updating the playlist according to the new configuration information and/or the content to be played, after updating the playlist, judging which time slice the current system time is contained in, and synchronously playing the playing content corresponding to the current system time in the time slice (namely the time slice containing the current system time) (namely a real-time synchronization process).
In an exemplary embodiment, when the playing content is a non-video or non-audio playing content, the real-time synchronously playing the playing content corresponding to the current system time in the time slice (i.e. a real-time synchronization process), includes:
for non-video playing content without switching requirement, playing media content corresponding to the time slice;
for non-video playing contents with switching requirements, dividing the time slice into a plurality of sub-time slices according to the playing time length of each page, judging which sub-time slice corresponds to the current system time, and playing the media contents corresponding to the sub-time slice.
In an exemplary embodiment, when the playing content is a video or an audio, the real-time synchronous playing of the playing content corresponding to the current system time in the time slice includes:
calculating a first difference value between the current system time and the starting time of the time slice, performing modular operation on the first difference value and the total time length of the playing content to obtain synchronous playing time, acquiring current playing position time, calculating a second difference value between the current playing position time and the synchronous playing time, judging whether the second difference value is smaller than a preset error range, if so, not adjusting, and if so, adjusting the current playing position time to the synchronous playing time. The module operation is to calculate the remainder of the division of two numbers, perform the module operation on the first difference and the total duration of the playing content to calculate the remainder of the division of the first difference and the total duration of the playing content, and calculate the position time to which the current video should be played, i.e. the synchronous playing time, through the module operation.
According to the method, the program to be played is analyzed into the same play list among different terminals, each terminal maintains the same dynamic play list, an additional synchronous server and an additional client do not need to be maintained, the synchronization of the materials is realized by carrying out time-sharing scheduling management on the media content, the complexity of the system is reduced, the deployment is simple, a large amount of configuration and deployment cost is reduced, and the problem of single-point failure of the server is avoided. In addition, because only downloading media content and performing network calibration need a network and depends on the network to a limited extent, even if the network is disconnected, the error change of each terminal within a plurality of days is not too large, and the use requirement can be met for users with not high synchronization requirement.
The above embodiment method is explained below by way of an application example. The specific method comprises the following steps:
step 210, performing time proofreading on a plurality of terminals participating in collaborative playing to synchronize system times of the plurality of terminals;
for example, an NTP service address may be preconfigured, a service is started to implement NTP time synchronization, an NTP client is created on a terminal to be cooperatively played to connect with the service acquisition time, and the local system time is changed. In other embodiments, the NTP service of the end system may be used instead, and the operating system may typically do this automatically. The NTP service of the terminal is used for realizing system time synchronization, management is more flexible, and for example, service addresses can be changed conveniently, and synchronous frequency can be changed conveniently.
Step 220, obtaining the configuration information and the program content to be played from the signaling server, downloading the configuration information and the corresponding file resource to be played to the local terminal, or copying the configuration information and the file resource from other computers or mobile hard disks to the local terminal;
the configuration information is used to record when and what content is played so that each terminal can generate a playlist.
And step 230, generating a play list according to the configuration information, and playing according to the generated play list.
Analyzing the file resource, obtaining the playing content (hereinafter referred to as an element) which needs to be played currently according to the program information in the configuration information, obtaining the playing time slice of each element according to the program playing time set in the configuration information, forming a playing list, and binding the time slice for each playing element. The elements include, but are not limited to, one or more of the following: pictures, PDF, WORD, video, audio, etc.
Optionally, the configuration information may further include special configuration requirements, for example, a file resource playing mode, and the element to be played is determined according to the file resource playing mode. For example, the file resource is a PDF file, and only some pages of the PDF file need to be played when playing, or the file resource is a video file, and only some segments of the PDF file need to be played when playing.
All terminals generate the same play list according to the same rule, and the system time after NTP time correction is used for managing whether the current play content is in the corresponding time slice so as to ensure the synchronization of the play content.
For example, the configuration information includes: 6 pictures, 1 PDF and 2 videos are played in sequence from 12:00 to 14: 00. Each picture is displayed for 10 seconds, the PDF is displayed for 60 seconds, video 1 (total duration 30 seconds) is played for 5 minutes, and video 2 (total duration 30 minutes) is played for 5 minutes.
The playlist duration is set to 2 hours from 12:00:00 to 14:00: 00. The above configuration information generates a playlist for one time period as shown in table 1 (only the first two loops are shown in the table).
TABLE 1
In this example, the total duration of video 1 is 30 seconds, and within the time slice for playing video 1, video 1 is played circularly. The total time of the video 2 is 30 minutes, and within the time slice for playing the video 2, the playing can be set to start from the beginning each time, or the playing can also be set to start from the last playing ending position.
In an exemplary embodiment, the total playing time of the playlist is not too long, which may result in a large playlist and waste of resources, and the longer the playlist is, i.e., the more time slices in the playlist, the larger the playlist is, and the longer and longer the traversal time (traversal while playing) is required. If the playlist is too short, the program is frequently parsed (the playlist is generated and parsed), a threshold configuration item (for example, a playing time threshold or a time slice threshold) may be set for the playing time of the playlist, and the user may set the threshold according to the actual situation. For example, if the user plays the content briefly and switches frequently, the threshold may be configured to be smaller (shorter), and if the user plays the content longer, the threshold may be configured to be longer. Therefore, step 230 in the above flow may be implemented as follows:
in step 230, the terminal generates a plurality of playlists according to the configuration information and the playing duration threshold (or the time slice threshold), and plays the playlists according to the generated playlists.
One mode is that the terminal judges that the number of time slices in the playlist is greater than or equal to a preset time slice threshold value, and divides the playlist into a plurality of time slices; or another way is that the terminal generates the current playlist in real time according to the configuration information and the threshold of the duration of the playlist, for example, in the process of generating the current playlist, the terminal generates a first playlist with a length less than or equal to the length of the time slice threshold according to a preset time slice threshold and the configuration information, if the configuration information contains contents to be played which are not listed in the playlist, a new second playlist is generated, and the second playlist temporally continues the first playlist.
In an exemplary embodiment, a new temporally continuous playlist may be generated when the current playlist is played, the current playlist is switched to the new playlist immediately after the current playlist is played, the current playlist is released, a new continuous playlist is generated when the new playlist is played, and so on until the configured play end time. In this way at most only two playlists need to be maintained on the terminal, which are consecutive in time.
Taking the foregoing configuration information as an example, if the configured play start time is 12:00:00, the terminal may generate two playlists according to a preset time slice threshold or a preset play time length (for example, 2 hours), where the time length of each playlist is 2 hours, a first playlist is from 12:00:00 to 14:00:00, a second playlist is from 14:00:00 to 16:00:00, when the first playlist is played completely, switch to the second playlist, release the first playlist, determine that there is content to be played that is not played in the configuration information, and generate a third playlist from 16:00:00 to 18:00:00, and so on, until the program is terminated or played completely.
In an exemplary embodiment, in step 230, during the playing according to the playlist, a synchronization check process may be periodically performed, and whether the time slice corresponding to the currently played content includes the current system time is checked, if so, the playing is continued, and if not, the player is notified to stop the playing of the currently played content, search for the time slice including the current system time, and synchronously play the content corresponding to the time slice in real time (i.e., a real-time synchronization process). Alternatively, the played elements may also be deleted from the current playlist.
For example, the time slice corresponding to the currently played content is 12:00:00 to 12:59:59, if the current system time is 12:30:00 or 12:59:59, the time slice in the playlist is considered to include the current time, and the playing is continued, and if the current system time is 13:00:00, the time slice in the playlist is considered not to include the current time, the playing of the currently played content is stopped, the time slice including the current system time is searched, and the played content corresponding to the current system time in the time slice is played in real time (i.e. a real-time synchronization process).
In addition to the above-mentioned checking process can be executed at regular time, in an exemplary embodiment, the synchronization check can be automatically performed each time one item of play content in the playlist is played. For example, in step 230, in the process of playing according to the playlist, each time one content in the playlist is played, the next content in the playlist is checked, whether the time slice corresponding to the next content contains the current system time is determined, if yes, the next content is played, and if not, the time slice containing the current system time is searched, and the playing content corresponding to the time slice is played synchronously in real time (i.e., a real-time synchronization process). In other embodiments, the synchronization check may also be performed automatically each time playback of an item of content is started.
The above described timing synchronization check mechanism may exist simultaneously with the synchronization check mechanism after each item is played, or may alternatively be performed. By the synchronous checking mechanism, error can be corrected in time, and synchronous playing of multiple terminals is guaranteed.
In an exemplary embodiment, each time an item of content in the playlist is played, the item of content in the playlist may be deleted. I.e., playlists, are getting smaller and smaller to reduce traversal time.
In an exemplary embodiment, the above process may further include the following steps:
and regularly judging whether new configuration information and/or content to be played exist or not, if so, judging whether the playlist needs to be updated according to the new configuration information (the step is optional, in other embodiments, the playlist can be directly updated after the new configuration information and/or the content to be played are judged), if so, updating the playlist according to the new configuration information and/or the content to be played, and if not, continuing to play the current playlist. After the playlist is updated, it is determined in which time slice of the playlist the current system time is included, and the playing content corresponding to the current system time in the time slice is synchronously played in real time (i.e. a real-time synchronization process).
Situations where an update to the playlist is required include, but are not limited to, one or more of the following: new play content is added, play content is deleted, play time is modified, and the like.
The following takes non-video elements as an example to specifically describe the real-time synchronization process.
For non-video elements, such as pictures, PDFs, etc., and for non-video elements in which there is no switching requirement, such as a single-frame picture (e.g., a picture in a format of jpg or png, etc.) or a single-page PDF, if the current system time is within a time slice range, the element may be directly played. For non-video elements with switching requirements, such as multi-page PDFs, time slices can be subdivided according to the playing time length of each page, which sub-time slice corresponds to the current system time is judged, and then the logical processing is carried out according to the elements without switching requirements.
Taking the playlist of table 1 as an example, if the current system time is 12:12:15, the time slice containing the current system time is searched in the playlist, which should be time slice "12: 12:10 to 12:12: 19", and the corresponding playing content is picture 2, so picture 2 should be played for 5 seconds (12:12:15 to 12:12:19), and then the next element is switched according to the playlist.
If the current system time is 12:01:22, the time slice containing the current system time is searched in the play list and is required to be the time slice from "12: 01:00 to 12:01: 59", the corresponding play content is PDF, the time slice corresponding to the PDF is subdivided by taking 5 pages of PDF and 5 seconds of play of each page as an example, the time slice 12:01:00 to 12:01:59 is subdivided into a plurality of sub-time slices, namely, a sub-play list is generated:
sub-time slice 1: playback of page 1 from 12:01:00 to 12:01:04
Sub-time slice 2: play page 2 from 12:01:05 to 12:01:09
Sub-time slice 3: play page 3 from 12:01:10 to 12:01:14
Sub-time slice 4: play page 4 from 12:01:15 to 12:01:19
Sub-time slice 5: 12:01:20 to 12:01:24 Play Page 5
Sub-time slice 6: play page 1 from 12:01:25 to 12:01:29
Sub-time slice 7: play page 2 from 12:01:30 to 12:01:34
Sub-time slice 8: 12:01:35 to 12:01:39 Play Page 3
Sub-time slice 9: play page 4 from 12:01:40 to 12:01:44
Sub-time slice 10: 12:01:45 to 12:01:49 Play page 5
Sub-time slice 11: play page 1 from 12:01:50 to 12:01:54
Sub-time slice 12: play page 2 from 12:01:55 to 12:01:59
The current system time is 12:01:22 contained in the sub-time slice 5, the corresponding playing content is PDF page 5, therefore, the 5 th page should be played for 3 seconds (12:01:22 to 12:01:24), then the media content corresponding to the next sub-time slice is continuously played, namely, the playing is switched to PDF page one, then the PDF is continuously played according to the sub-playlist until the time slice is finished, and the playing of the sub-playlist is continuously played according to the current playlist after the playing of the sub-playlist is finished.
The following takes the video element as an example to specifically describe the real-time synchronization process.
Different from the situation that non-video elements can only feel whether the terminals are synchronous or not during switching, the video elements can be intuitively felt as long as the video elements are asynchronous, and therefore the synchronization of the video elements is more important and urgent. The video content is composed of multiple frames, the change is fast, and the occupation of system resources is high, so the synchronization of video elements is more complicated.
The following factors need to be considered in video synchronization: video duration, corresponding time slice duration, video playing start time point, and allowable error range. Video consists of many frames, changes very quickly, so the temporal accuracy of the computation needs to be in milliseconds. But the human eye reaction rate is considered, so a certain error range is allowed.
Taking the playlist of table 1 as an example, if the current system time is 12:17:20.500(500 indicates the current millisecond value), the time slice containing the current system time is searched in the playlist, which should be time slices "12: 14:00 to 12:18: 59", and the corresponding playing content is video 1, and since the total duration of video 1 is 30 seconds, 10 times of loop playing can be performed in time slices 12:14:00 to 12:18: 59. The difference between the current system time 12:17:20.500 and the time slice start time 12:14:00 is 3 minutes, 20 seconds and 500 milliseconds, namely 200 seconds and 500 milliseconds, the second number is modulo with the video duration, and the result is 20 seconds and 500 milliseconds, so the current video should be played to the position of 500 milliseconds of 20 seconds (namely the synchronous playing time), the position time of the current playing is obtained through a video player, the position time is differentiated from the 500 milliseconds of 20 seconds, taking an error threshold value of 100 milliseconds as an example, if the difference is less than 100 milliseconds, the difference is within an allowed error range, no adjustment is made, if the difference is greater than or equal to 100 milliseconds, the allowed error range is exceeded, the video playing progress needs to be adjusted, the player progress is adjusted to 500 milliseconds of 20 seconds, the actual playing is consistent with the plan, and all terminals adopt the same plan, so that the terminal synchronization purpose is achieved. The real-time synchronous detection can be carried out every other time period, and the synchronization of each terminal within an allowable error range is ensured.
In order to realize synchronization, players adopted by each terminal need to support adjustment of playing progress, the current playing position time can be obtained, the number of milliseconds is accurate, and the number of milliseconds is not more than 100 milliseconds.
It should be noted that the smaller the error threshold is, the better the error threshold is, the smaller the error range is, which may cause frequent adjustment of the video playing progress in some cases, resulting in a playing jam visible to human eyes, or unsmooth sound. The threshold may be related to the current playing position accuracy provided by the video player, if the video player only provides accuracy on the order of seconds, then the error threshold, if set on the order of milliseconds, may be frequently adjusted and a display stuck condition may easily occur. The specific setting can be carried out according to the actual situation.
In the multi-terminal synchronization method for multimedia programs provided by this embodiment, a plurality of terminals participating in cooperative play make system times of a plurality of playing terminals consistent through NTP timing, a multimedia information distribution server can send a multimedia program edited and assigned with a play time interval to the playing terminals, that is, the plurality of terminals receive the same configuration information and media content from the multimedia information distribution server, generate a play list arranged according to time according to a play time period for the received multimedia program, and train to determine whether the currently played content is consistent with the play list, and if not, adjust the played content; if the playing content is a video, a time error range is appointed for the video, the time point to which the video should be played currently is calculated by combining the time slice distributed by the video and the total time length of the video, then the time point is compared with the current actual playing time point of the video, and if the result is greater than the appointed time error, the video playing progress is adjusted, so that the consistency of the playing content of the multiple terminals is ensured. And ensuring that a plurality of terminals synchronously play the same content in the information transmission system.
The method of the embodiment of the disclosure can be applied to any scene with synchronous playing requirements, such as subway stations, restaurants, hospitals, supermarkets and the like.
Fig. 2 shows a collaborative play system including a plurality of multimedia playing devices, which includes a plurality of multimedia playing devices and a multimedia information distribution server for sending configuration information and content to be played to the multimedia playing devices. The multimedia playing devices perform time synchronization with the time server through the network, acquire the configuration information and the content to be played from the multimedia information publishing server, and then each multimedia playing device executes the multimedia playing method as shown above, so that synchronous playing can be realized.
In an exemplary embodiment, the present disclosure further provides a multimedia playing apparatus, configured to participate in cooperative playing with other multimedia playing apparatuses, as shown in fig. 3, where the multimedia playing apparatus includes:
the time checking module 301 is configured to perform time checking to keep system time of the multimedia playing device consistent with system time of other multimedia playing devices participating in cooperative playing;
an information obtaining module 302, configured to obtain configuration information and content to be played, where the configuration information includes information of playing start time, information of content to be played, and information of playing duration of each item of content to be played; and
a playlist generating module 303, configured to generate a playlist according to the configuration information, where the playlist at least includes information of content to be played and time slice information corresponding to each item of content to be played, and each item of content to be played corresponds to one or more time slices;
the playing module 304 is configured to play the content to be played according to the playlist when the system time reaches the play start time in the playlist.
The specific operations of the modules are described in the foregoing embodiments, and are not described herein again.
In an exemplary embodiment, the present disclosure further provides a multimedia playing apparatus, which may include a processor and a memory, where the memory stores a computer program executable on the processor, and the processor executes the computer program to implement the steps of the multimedia playing method in any of the above embodiments of the present disclosure.
In an exemplary embodiment, fig. 4 is a schematic structural diagram of a display device in an embodiment of the present disclosure. As shown in fig. 4, the apparatus 60 includes: at least one processor 601; and at least one memory 602, bus 603 connected to processor 601; the processor 601 and the memory 602 complete communication with each other through the bus 603; the processor 601 is used for calling the program instructions in the memory 602 to execute the steps of the multimedia playing method in any of the above embodiments.
The Processor may be a Central Processing Unit (CPU), a Microprocessor (MPU), a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a transistor logic device, or the like, which is not limited in this disclosure.
The Memory may include Read Only Memory (ROM) and Random Access Memory (RAM), and provides instructions and data to the processor. The portion of memory may also include non-volatile random access memory. For example, the memory may also store device type information.
The bus may include a power bus, a control bus, a status signal bus, and the like, in addition to the data bus. But for clarity of illustration the various buses are labeled as buses in figure 4.
In implementation, the processing performed by the processing device may be performed by instructions in the form of hardware integrated logic circuits or software in the processor. That is, the method steps of the embodiments of the present disclosure may be implemented by a hardware processor, or implemented by a combination of hardware and software modules in a processor. The software module may be located in a storage medium such as a random access memory, a flash memory, a read only memory, a programmable read only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor. To avoid repetition, it is not described in detail here.
In an exemplary embodiment, the disclosed embodiment also provides a non-volatile computer readable storage medium, on which a computer program that can be run on a processor is stored, and when the computer program is executed by the processor, the computer program implements the steps of the foregoing multimedia playing method.
It will be understood by those of ordinary skill in the art that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between the functional modules/units mentioned in the above description is not trivial; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation. Some or all of the components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as known to those skilled in the art.
Although the embodiments disclosed in the present disclosure are described above, the descriptions are only for the convenience of understanding the present disclosure, and are not intended to limit the present disclosure. It will be understood by those skilled in the art of the present disclosure that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure, and that the scope of the disclosure is to be limited only by the terms of the appended claims.
Claims (12)
1. A multimedia playing method, comprising:
the method comprises the steps that time proofreading is carried out on a plurality of terminals participating in collaborative playing, and system time of the terminals is kept consistent;
each terminal participating in the collaborative playing acquires configuration information and contents to be played, wherein the configuration information comprises playing start time information, content information to be played and playing duration information of each content to be played;
each terminal participating in the cooperative play generates a play list according to the configuration information, wherein the play list at least comprises information of contents to be played and time slice information corresponding to each item of contents to be played, and each item of contents to be played corresponds to one or more time slices;
and when the system time reaches the play starting time in the play list, each terminal participating in the collaborative play plays the content to be played according to the play list.
2. The method according to claim 1, wherein the generating of the playlist by each terminal participating in the collaborative play according to the configuration information comprises:
and each terminal participating in the collaborative playing generates a first play list which is less than or equal to the play time threshold according to the configuration information and a preset play time threshold, and if the configuration information contains contents to be played which are not listed in the play list, a second play list is generated, and the second play list is continued to the first play list in time.
3. The method according to claim 2, wherein each terminal participating in the collaborative play plays, when the system time reaches the play start time in the play list, the terminal plays the content to be played according to the play list, including:
and when the system time reaches the play starting time in the first play list, each terminal participating in the collaborative play plays the content to be played according to the first play list, when the play of the first play list is finished, the terminal is switched to the second play list to continue playing, the first play list is released, if the configuration information contains the content to be played which is not played, a third play list is generated, the third play list is continued to the second play list in terms of time, and so on until the configuration information contains no content to be played which is not played.
4. The method according to claim 1, wherein in the process of playing the content to be played according to the playlist, the method specifically includes:
and executing a synchronous checking process at regular time, checking whether the time slice corresponding to the current playing content contains the current system time, if so, continuing to play, if not, stopping playing of the current playing content, searching the time slice containing the current system time, and synchronously playing the playing content corresponding to the current system time in the time slice in real time.
5. The method according to claim 1, wherein in the process of playing the content to be played according to the playlist, the method specifically includes:
and when one item of playing content in the playing list is played each time, carrying out synchronous check, checking whether a time slice corresponding to the next item of playing content in the playing list contains the current system time, if so, playing the next item of content, otherwise, searching the time slice containing the current system time, and synchronously playing the playing content corresponding to the current system time in the time slice in real time.
6. The method of claim 1, further comprising:
and regularly judging whether new configuration information and/or content to be played exist, if so, updating a play list according to the new configuration information and/or the content to be played, after updating the play list, judging which time slice the current system time is contained in, and synchronously playing the play content corresponding to the current system time in the time slice in real time.
7. The method according to claim 4, 5 or 6, wherein when the playing content is a non-video or non-audio playing content, the real-time synchronous playing of the playing content corresponding to the current system time in the time slice comprises:
for non-video playing content without switching requirement, playing media content corresponding to the time slice;
for non-video playing contents with switching requirements, dividing the time slice into a plurality of sub-time slices according to the playing time length of each page, judging which sub-time slice corresponds to the current system time, and playing the media contents corresponding to the sub-time slice.
8. The method according to claim 4, 5 or 6, wherein when the playing content is video or audio, the real-time synchronous playing of the playing content corresponding to the current system time in the time slice comprises:
calculating a first difference value between the current system time and the starting time of the time slice, performing modular operation on the first difference value and the total time length of the playing content to obtain synchronous playing time, acquiring current playing position time, calculating a second difference value between the current playing position time and the synchronous playing time, judging whether the second difference value is smaller than a preset error range, if so, not adjusting, and if so, adjusting the current playing position time to the synchronous playing time.
9. A multimedia playing apparatus, configured to participate in cooperative playing with other multimedia playing apparatuses, the multimedia playing apparatus comprising:
the time correction module is used for correcting time to keep the system time of the multimedia playing device consistent with that of other multimedia playing devices participating in cooperative playing;
the information acquisition module is used for acquiring configuration information and contents to be played, wherein the configuration information comprises playing start time information, content information to be played and playing duration information of each content to be played; and
a list generating module, configured to generate a playlist according to the configuration information, where the playlist at least includes information of content to be played and time slice information corresponding to each item of content to be played, and each item of content to be played corresponds to one or more time slices;
and the playing module is used for playing the content to be played according to the play list when the system time reaches the play starting time in the play list.
10. A multimedia playing system comprising a plurality of multimedia playing devices according to claim 9, and a multimedia information distribution server for sending configuration information and contents to be played to the multimedia playing devices.
11. A multimedia playing apparatus comprising a processor and a memory storing a computer program operable on the processor, wherein the processor when executing the program performs the steps of the multimedia playing method as claimed in any one of claims 1 to 8.
12. A computer-readable storage medium, on which a computer program is stored which is executable on a processor, the computer program, when being executed by the processor, implementing the steps of the multimedia playback method as claimed in any one of claims 1 to 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210102601.8A CN114500476A (en) | 2022-01-27 | 2022-01-27 | Multimedia playing method and device and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210102601.8A CN114500476A (en) | 2022-01-27 | 2022-01-27 | Multimedia playing method and device and computer readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114500476A true CN114500476A (en) | 2022-05-13 |
Family
ID=81475848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210102601.8A Pending CN114500476A (en) | 2022-01-27 | 2022-01-27 | Multimedia playing method and device and computer readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114500476A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115474096A (en) * | 2022-09-09 | 2022-12-13 | 广州励丰文化科技股份有限公司 | Multimedia playing method, electronic equipment terminal and storage medium |
CN118132207A (en) * | 2024-03-29 | 2024-06-04 | 湖北永信创新科技有限公司 | Intelligent campus management system, method and device based on Internet of things |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006319A (en) * | 2010-10-25 | 2011-04-06 | 同辉佳视(北京)信息技术有限公司 | Method and system for synchronously playing Flash on multiple terminals |
CN103200461A (en) * | 2013-01-14 | 2013-07-10 | 易程(苏州)智能系统有限公司 | Multiple-player-terminal synchronized playing system and playing method |
CN109754285A (en) * | 2018-12-28 | 2019-05-14 | 出门问问信息科技有限公司 | Information processing method, device, electronic equipment and computer readable storage medium |
-
2022
- 2022-01-27 CN CN202210102601.8A patent/CN114500476A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006319A (en) * | 2010-10-25 | 2011-04-06 | 同辉佳视(北京)信息技术有限公司 | Method and system for synchronously playing Flash on multiple terminals |
CN103200461A (en) * | 2013-01-14 | 2013-07-10 | 易程(苏州)智能系统有限公司 | Multiple-player-terminal synchronized playing system and playing method |
CN109754285A (en) * | 2018-12-28 | 2019-05-14 | 出门问问信息科技有限公司 | Information processing method, device, electronic equipment and computer readable storage medium |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115474096A (en) * | 2022-09-09 | 2022-12-13 | 广州励丰文化科技股份有限公司 | Multimedia playing method, electronic equipment terminal and storage medium |
CN118132207A (en) * | 2024-03-29 | 2024-06-04 | 湖北永信创新科技有限公司 | Intelligent campus management system, method and device based on Internet of things |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10419513B2 (en) | Methods and apparatus for reducing latency shift in switching between distinct content streams | |
CN111316659B (en) | Dynamically reducing playout of alternate content to help align the end of alternate content with the end of replaced content | |
CN109218795B (en) | Multi-device playing progress synchronization method and device and terminal device | |
CN114500476A (en) | Multimedia playing method and device and computer readable storage medium | |
JP5979483B2 (en) | Content reproduction apparatus, content reproduction system, and content reproduction method | |
US20090249222A1 (en) | System and method for simultaneous media presentation | |
US10069888B1 (en) | Playing of media content among multiple devices using a temporal progress | |
CN106878815B (en) | Video playing method and device | |
CN111418215B (en) | Media client, method, non-transitory data storage device | |
US20190373296A1 (en) | Content streaming system and method | |
US11991408B2 (en) | Method and apparatus for synchronously playing video among multiple devices | |
EP3682640A1 (en) | Handling media timeline offsets | |
CN106717079B (en) | Clock synchronization using WIFI beacons | |
US20150268808A1 (en) | Method, Device and System for Multi-Speed Playing | |
CN118138793B (en) | IPTV-based audio and video playing control method, device, equipment and medium | |
CN110089120B (en) | System and method for synchronized playback of media items on multiple remote devices | |
US10674188B2 (en) | Playback apparatus, method of controlling playback apparatus, playback method and server apparatus | |
US20240171797A1 (en) | Techniques for providing a content stream based on a delivered stream of content | |
CN113473191B (en) | Multi-device advertisement synchronous playing method and device, computer device and storage medium | |
CN112188258B (en) | Pause synchronization method and device, storage medium, user side and multi-device playing system | |
CN112911315B (en) | Streaming media live broadcast recording method, network equipment and storage medium | |
CN106330922B (en) | A kind of video fragment naming method and device | |
JP6519042B2 (en) | Reproducing apparatus, reproducing system, and reproducing method | |
JP6258897B2 (en) | Content acquisition device, content acquisition method, metadata distribution device, and metadata distribution method | |
JP2010287280A (en) | Apparatus, system and method for processing data, program and computer readable recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |