Method and device for playing recorded video, electronic equipment and storage medium

By acquiring the video identifier of the recorded video and the target recording signaling in the signaling database, the signaling and video are played synchronously in real time, which solves the problem of inconsistent signaling and video timing in the real classroom scenario, improves user experience and saves costs, and supports playback of video editing preview.

CN115643450BActive Publication Date: 2026-01-30BEIJING XINTANG SICHUANG EDUCATIONAL TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211260572.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-14
Publication Date
2026-01-30
Estimated Expiration
2042-10-14

AI Technical Summary

Technical Problem

Existing video playback solutions struggle to ensure the timing consistency between signaling and video in a realistic classroom setting, resulting in a poor user experience, high manual monitoring costs, and an inability to support playback during video editing and preview.

Method used

By obtaining the video identifier of the video to be played, the target recording signaling is obtained from the signaling database based on the video identifier, and the current playback time point is obtained in real time during the playback of the target video to ensure that the signaling and video are played synchronously with consistent timing.

Benefits of technology

It achieves time consistency between signaling and video, reduces manpower and time costs, supports playback of recorded videos in full-scale classrooms and other high-requirement scenarios, and is suitable for playback during video editing preview.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115643450B_ABST
    Figure CN115643450B_ABST
Patent Text Reader

Abstract

This disclosure provides a method, apparatus, electronic device, and storage medium for playing recorded videos. The method includes: obtaining a video identifier of a video to be played; obtaining a target video corresponding to the video identifier based on the video identifier, and obtaining a target recording signaling corresponding to the video identifier from a signaling database, wherein the target recording signaling carries a playback time corresponding to the target video; playing the target video, and obtaining the current playback time point of the target video during the playback process; if the current playback time point is consistent with the playback time, playing the target recording signaling simultaneously with playing the target video. This solution ensures that the recording signaling and the video are synchronized in time, so that the user does not perceive the playback time difference between the video and the signaling, and no manual intervention is required, saving manpower and time costs.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of information processing, and particularly relates to a playing method and device of a recorded video, an electronic device and a storage medium. BACKGROUND

[0002] The recording process of a recorded course includes video recording and signaling recording. When playing, there are two common playing schemes, one is to first mark the signaling in the video, and then play the video; the other is to simultaneously play the signaling and the video according to the starting time.

[0003] However, the number of signaling in a real classroom scene is several thousand times that in an ordinary online classroom scene, if the marking method in the video is adopted, the labor and time cost will be very high, and if the method of simultaneously playing the video and the signaling according to the starting time is adopted, it is difficult to guarantee the consistency of the signaling and the video in time, and for the real classroom scene, the inconsistency of the video and the signaling in time will result in a very poor user experience. Therefore, the existing video playing scheme is not applicable to the real classroom scene. SUMMARY

[0004] In order to solve the above technical problems or at least partially solve the above technical problems, the embodiments of the present disclosure provide a playing method and device of a recorded video, an electronic device and a storage medium.

[0005] According to an aspect of the present disclosure, a playing method of a recorded video is provided, comprising:

[0006] obtaining a video identifier of a video to be played;

[0007] According to the video identifier, a target video corresponding to the video identifier is obtained, and a target recording signaling corresponding to the video identifier is obtained from a signaling database, wherein the target recording signaling carries a playing time corresponding to the target video;

[0008] playing the target video, and obtaining a current playing time point of the target video in the playing process of the target video;

[0009] In the case that the current playing time point is consistent with the playing time, the target recording signaling is played simultaneously with the playing of the target video.

[0010] According to another aspect of the present disclosure, a playing device of a recorded video is provided, comprising:

[0011] a first obtaining module, configured to obtain a video identifier of a video to be played;

[0012] a second obtaining module, configured to obtain a target video corresponding to the video identifier according to the video identifier, and obtain a target recording signaling corresponding to the video identifier from a signaling database, wherein the target recording signaling carries a play time corresponding to the target video;

[0013] a playing module, configured to play the target video, and obtain a current play time point of the target video during playing of the target video;

[0014] The playing module is further configured to:

[0015] in a case where the current play time point is consistent with the play time, play the target recording signaling simultaneously with playing of the target video.

[0016] According to another aspect of the present disclosure, an electronic device is provided, comprising:

[0017] a processor; and

[0018] a memory storing a program,

[0019] wherein the program includes instructions that, when executed by the processor, cause the processor to perform the method for playing a recording and broadcasting video according to the foregoing aspect.

[0020] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to perform the method for playing a recording and broadcasting video according to the foregoing aspect.

[0021] According to another aspect of the present disclosure, a computer program product is provided, comprising a computer program, wherein the computer program, when executed by a processor, implements the method for playing a recording and broadcasting video according to the foregoing aspect.

[0022] One or more technical solutions provided in the embodiments of the present disclosure are as follows: a video identifier of a video to be played is obtained, a target video corresponding to the video identifier is obtained according to the video identifier, and a target recording signaling corresponding to the video identifier is obtained from a signaling database, wherein the target recording signaling carries a play time corresponding to the target video, then the target video is played, and a current play time point of the target video is obtained during playing of the target video, in a case where the current play time point is consistent with the play time, the target recording signaling is played simultaneously with playing of the target video. By using the solution of the present disclosure, the recording signaling and the video are consistent in time, the synchronization of the two is ensured, so that a user cannot perceive the play time difference between the video and the signaling, and manual dotting is not needed, thereby saving manpower and time cost. BRIEF DESCRIPTION OF DRAWINGS

[0023] More details, features and advantages of the present disclosure are disclosed in the following description of exemplary embodiments in connection with the attached drawings, in which:

[0024] Figure 1 A flow chart of a method for playing a recorded broadcast video is shown according to an exemplary embodiment of the present disclosure;

[0025] Figure 2 A flow chart of a method for playing a recorded broadcast video is shown according to another exemplary embodiment of the present disclosure;

[0026] Figure 3 A flow chart of a method for playing a recorded broadcast video is shown according to yet another exemplary embodiment of the present disclosure;

[0027] Figure 4 A schematic diagram of a recording process of a recorded broadcast video is shown according to an exemplary embodiment of the present disclosure;

[0028] Figure 5 A schematic diagram of a playing process of a recorded broadcast video is shown according to an exemplary embodiment of the present disclosure;

[0029] Figure 6 A schematic block diagram of a playing device of a recorded broadcast video is shown according to an exemplary embodiment of the present disclosure;

[0030] Figure 7 A structural block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0031] Embodiments of the present disclosure will be described in more detail by referring to the attached drawings. Although certain embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein, but rather the embodiments are provided to more thoroughly and completely understand the present disclosure. It is understood that the drawings and embodiments of the present disclosure are for exemplary purposes only and are not intended to limit the scope of protection of the present disclosure.

[0032] It is understood that each of the steps recited in the method embodiments of the present disclosure can be performed in different orders and / or in parallel. In addition, the method embodiments can include additional steps and / or omit performing the steps shown. The scope of the present disclosure is not limited in this respect.

[0033] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc., used in this disclosure are only used to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.

[0034] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0035] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0036] The following description, with reference to the accompanying drawings, outlines the playback method, apparatus, electronic device, and storage medium for the recorded video provided in this disclosure.

[0037] Traditional methods for implementing pre-recorded lessons generally fall into two categories. One is to pre-record the video and then add signaling markers to it. This method requires manual marker insertion, and the number of teacher signaling markers in a simulated classroom scenario is thousands of times greater than in a regular online classroom scenario. Using this method would incur extremely high marker insertion costs, consuming significant manpower and time. The other method is to record the start and end times of video recording and simultaneously play the signaling and video according to the time. However, this method of playing video and signaling simultaneously according to the start time makes it difficult to guarantee the consistency between video and signaling in terms of timing. For a simulated classroom scenario, inconsistency between video and signaling in timing would result in a very poor user experience. Furthermore, neither of these methods supports playback of scenes during video editing preview. To address the aforementioned issues, this disclosure provides a method for playing recorded videos. The method involves obtaining the video identifier of the video to be played, retrieving the target video corresponding to the video identifier, and retrieving the target recording signaling corresponding to the video identifier from a signaling database. The target recording signaling carries the playback time corresponding to the target video. The target video is then played, and during playback, the current playback time of the target video is obtained. If the current playback time matches the playback time, the target recording signaling is played simultaneously with the target video. This method ensures that the recording signaling and the video are synchronized in time, making the time difference between the video and the signaling imperceptible to the user. Furthermore, it eliminates the need for manual monitoring, saving manpower and time costs.

[0038] The method for playing recorded videos disclosed herein reduces manpower requirements. For tens of thousands of signaling messages generated in one hour, the corresponding video playback time can be determined within seconds. This ensures that even when a large number of users are online simultaneously, the playback time difference between the video and the signaling messages remains imperceptible, and it also supports playback of scenes during editing previews. This solution is not only suitable for full-scale classroom scenarios but also for other scenarios with high requirements for the playback time difference between recorded videos and signaling messages.

[0039] Figure 1 A flowchart of a method for playing recorded video according to an exemplary embodiment of the present disclosure is shown. The method can be executed by a recording video playback device, which can be implemented in software and / or hardware and is generally integrated into an electronic device, including devices such as mobile phones, tablets, and servers.

[0040] like Figure 1 As shown, the method for playing the recorded video may include the following steps:

[0041] Step 101: Obtain the video identifier of the video to be played.

[0042] The video to be played can be a video selected by the user, a video scheduled to play at a specific time, or other types of videos.

[0043] For example, in a simulated classroom scenario, the video provider pre-sets the playback time for different recorded videos. The video to be played can be a video that has reached the corresponding playback time, and the electronic device obtains the video identifier of the video to be played.

[0044] For example, when a user selects a video to play through a video playback platform, such as by clicking on it, the selected video becomes the video to be played, and the electronic device obtains the video identifier of that video.

[0045] Step 102: Based on the video identifier, obtain the target video corresponding to the video identifier, and obtain the target recording signaling corresponding to the video identifier from the signaling database, wherein the target recording signaling carries the playback time corresponding to the target video.

[0046] In this embodiment of the disclosure, the video identifier of the video to be played is unique, and the target video corresponding to the video identifier can be uniquely determined based on the video identifier.

[0047] Typically, a recorded video contains a large number of recording signaling messages. Recording signaling messages belonging to the same recorded video can be associated with the video to which they belong using a video identifier. Therefore, in this embodiment of the disclosure, based on the video identifier, all recording signaling messages corresponding to the target video can also be determined, referred to as the target recording signaling messages.

[0048] It's understandable that recording signals describe the actions of the presenter in a pre-recorded video during the recording process, with different actions corresponding to different recording signals. For example, in a realistic classroom scenario, the pre-recorded video is a video recording of the teacher's lecture, so the presenter is the teacher, and the recording signals can be called teacher signals, which can describe the teacher's actions during the video recording process, such as turning pages in the courseware or drawing on the courseware with a pen.

[0049] In this embodiment, the recording signaling corresponding to each recorded video can be stored in a signaling database. Recording signaling belonging to the same recorded video is marked with the video identifier of that video, and each recording signaling carries the playback time corresponding to its respective recorded video. Therefore, in this embodiment, based on the obtained video identifier of the video to be played, the corresponding target video can be determined, and all target recording signaling associated with the target video can be determined from the signaling database. Each target recording signaling carries the playback time corresponding to the target video. For example, if the playback time of a target recording signaling is 3 seconds, then this target recording signaling corresponds to the 3-second video frame of the target video.

[0050] It should be noted that the playback time of each recorded signaling message can be predetermined and stored in the signaling database together with the recorded signaling message. The method for determining the playback time of the recorded signaling message will be described in detail in subsequent embodiments, and will not be repeated here.

[0051] Step 103: Play the target video, and during the playback of the target video, obtain the current playback time point of the target video.

[0052] For example, the start time of the target video can be written into an environment variable. The start time of the target video can be obtained from the environment variable. When the system time reaches the start time of the target video, the target video is played. During the playback of the target video, the current playback time is obtained in real time. For instance, when the target video plays for 2 seconds, the current playback time is obtained as 2 seconds; when the target video plays for 5 seconds, the current playback time is obtained as 5 seconds.

[0053] For example, when a user selects a target video to play, playback begins immediately after the target video is loaded, and the current playback time of the target video is obtained in real time during the playback process.

[0054] Step 104: If the current playback time point is consistent with the playback time, play the target recording signaling while playing the target video.

[0055] In this embodiment of the disclosure, after obtaining the current playback time of the target video, the current playback time can be compared with the playback time corresponding to each target recording signal. If the current playback time is consistent with the playback time of the target recording signal, the target recording signal is played at the same time as the target video, thereby achieving the purpose of simultaneous playback of the target recording signal and the video frames in the corresponding target video, ensuring the consistency of the video and the recording signal in time.

[0056] For example, suppose the current playback time of the target video is 3 seconds, that is, the video frame at the 3-second mark is currently playing. If the playback time of a target recording signal is also 3 seconds, then the target recording signal will be rendered into the target video and played together.

[0057] The video playback method of this disclosure involves obtaining a video identifier for the video to be played, acquiring the target video corresponding to the video identifier, and retrieving the target recording signaling corresponding to the video identifier from a signaling database. The target recording signaling carries the playback time corresponding to the target video. The target video is then played, and during playback, the current playback time of the target video is acquired. If the current playback time matches the playback time, the target recording signaling is played simultaneously with the target video. This method ensures that the recording signaling and the video are synchronized in time, making the user unaware of any time difference between the video and the signaling. Furthermore, it eliminates the need for manual monitoring, saving manpower and time costs.

[0058] In this embodiment of the disclosure, the playback time carried by each recorded signaling in the signaling database is predetermined. The results are attached below. Figure 2 The process of determining the playback time of the corresponding video for the recorded signaling is explained in detail.

[0059] Figure 2 A flowchart illustrating a method for playing recorded video according to another exemplary embodiment of this disclosure is shown, such as... Figure 2 As shown, the method for playing the recorded video may also include the following steps:

[0060] Step 201: For the recorded signaling in the signaling database, obtain the transmission time of the recorded signaling.

[0061] Typically, the recording process for a recorded video includes two parts: video recording and signaling recording. The recording end calls a Real-Time Communication (RTC) service for video recording and an Internet Relay Chat (IRC) service for signaling recording. Once video recording is complete, signaling recording is also complete. All recorded signaling is stored in a signaling database, and each recorded signaling is identified by the video identifier of its respective video; recorded signaling belonging to the same recorded video has the same video identifier. During signaling recording, the recording time of each recorded signaling can be recorded and used as the transmission time of that recorded signaling, stored together with the recorded signaling in the signaling database. In other words, each recorded signaling stored in the signaling database carries its own transmission time. Therefore, in this embodiment of the disclosure, the transmission time of each recorded signaling stored in the signaling database can be obtained.

[0062] Step 202: Obtain multiple supplementary enhancement information corresponding to the video to which the recorded signaling belongs. Each supplementary enhancement information includes the start time and duration of the video segment to which the supplementary enhancement information belongs.

[0063] As mentioned earlier, RTC can be used to record video. After RTC video recording is complete, it combines multiple video segments to obtain a complete recorded video. For the recorded video, it can be parsed to obtain Supplemental Enhancement Information (SEI) associated with each video segment. A video can be divided into multiple video segments, and each video segment is parsed to obtain a corresponding SEI. An SEI at least includes the start time and duration of the corresponding video segment, and other information can be added as needed. A recorded video can correspond to multiple SEIs, forming an SEI list. That is, a recorded video corresponds to one SEI list, and the SEI list contains multiple SEIs. Each SEI at least includes the start time and duration of the corresponding video segment. In the SEI list, the start time of the later SEI is later than the start time of the previous SEI, with the first SEI having the earliest start time and the last SEI having the latest start time.

[0064] For example, for each complete recorded video, a scheduled task can be used to parse the video to obtain a list of SEIs corresponding to each video. The SEI list includes all SEIs corresponding to the recorded video, and each SEI list is stored in the video database for later querying. Therefore, when it is necessary to calculate the playback time of each recorded signaling corresponding to its associated video, the SEI list corresponding to the video to which the recorded signaling belongs can be obtained from the video database, i.e., multiple SEIs of the associated video can be obtained. Each SEI includes the start time and duration of the video segment corresponding to that SEI.

[0065] Step 203: Based on the start time and duration of each supplementary enhancement information and the sending time of the recording signaling, determine the playback time of the video to which the recording signaling corresponds.

[0066] In this embodiment of the disclosure, when determining the playback time of the video corresponding to each recorded signaling in the signaling database, the playback time of the video corresponding to the recorded signaling can be determined according to the sending time of the recorded signaling, the start time and duration of each SEI corresponding to the video.

[0067] In one optional embodiment of this disclosure, for any recording signaling, multiple SEIs corresponding to the video to which the recording signaling belongs can be obtained first based on the video identifier of the video to which the recording signaling belongs, and then the sending time of the recording signaling can be compared with the start time of each SEI of the video to determine the target SEI to which the recording signaling belongs.

[0068] For example, comparisons can begin from the last SEI and proceed sequentially backwards. If the transmission time of the recording signaling is less than the start time of the last SEI, then the transmission time is compared with the start time of the previous SEI (i.e., the second-to-last SEI). If it is still less than the start time, then the comparison continues with the start time of the next SEI (i.e., the third-to-last SEI), until the transmission time of the recording signaling is less than the start time of a certain SEI. This SEI is then identified as the target SEI to which the recording signaling belongs.

[0069] In other words, for two adjacent SEIs, if the sending time of the recording signaling is greater than the start time of the preceding SEI and less than the start time of the following SEI, then the preceding SEI (the SEI with the smaller start time) is determined as the target SEI to which the recording signaling belongs.

[0070] In this embodiment of the disclosure, after determining the target SEI to which the recording signaling belongs, the playback time of the video to which the recording signaling belongs can be determined based on a combination of some or all of the information, such as the duration and start time of the target SEI, the duration of each SEI preceding the target SEI, and the sending time of the recording signaling.

[0071] As an optional implementation, the time difference between the sending time of the recording signaling and the start time of the target SEI can be calculated first. If the time difference is greater than the duration of the target SEI, the sum of the start time and the duration of the target SEI is determined as the playback time of the video corresponding to the recording signaling. If the time difference is less than or equal to the duration of the target SEI, the sum of the start time and the time difference is determined as the playback time of the video corresponding to the recording signaling.

[0072] As an optional implementation, one can first calculate the sum of the durations of all SEIs preceding the target SEI in the SEI list corresponding to the video to which the recording signaling belongs. Then, calculate the time difference between the sending time of the recording signaling and the start time of the target SEI, and compare this time difference with the duration of the target SEI. The smaller value between the time difference and the duration of the target SEI is determined as the time of the recording signaling in the target SEI. Then, calculate the sum of the duration and the time of the recording signaling in the target SEI, and determine the sum as the playback time of the video to which the recording signaling belongs.

[0073] For example, suppose the sending time of a recording signal is St, the target SEI is the second SEI, the duration of the first SEI is denoted as L1, the duration of the second SEI is denoted as L2, and the start time of the second SEI is denoted as S2. Then the playback time of the video corresponding to this recording signal is (L1+min(L2, St-S2)).

[0074] In this embodiment, the method described above for determining the playback time of each recorded signaling message corresponding to its respective video is applicable to scenarios where recorded videos are trimmed. When trimming a video, the original video can be replaced with a video of equal length, and the playback time of the recorded signaling messages determined using the above method remains accurate in the replaced video. It is also applicable to trimming scenarios where a short video replaces a long video. For example, if a 2-second video replaces a 3-second video, the method described above for determining the playback time of the recorded signaling messages allows multiple recorded signaling messages originally corresponding to the last second of the 3-second video to be mapped to the replaced 2-second video. These multiple recorded signaling messages correspond to the same playback time in the replaced video, thus enabling the trimming of a short video replacing a long video by merging multiple recorded signaling messages into one. Therefore, the solution of this disclosure supports playback of the scene during editing preview.

[0075] The video playback method of this disclosure obtains the transmission time of the recording signaling and multiple supplementary enhancement information corresponding to the video to which the recording signaling belongs. Each supplementary enhancement information includes a start time and a duration. Then, based on the start time and duration corresponding to each supplementary enhancement information and the transmission time of the recording signaling, the playback time of the video to which the recording signaling belongs is determined. Thus, the playback time of the video to which each recording signaling belongs can be accurately determined, providing a condition for ensuring the time consistency between the video and the signaling when the recorded video is played.

[0076] Figure 3 A flowchart illustrating a method for playing recorded video according to yet another exemplary embodiment of this disclosure is shown, such as...Figure 3 As shown, based on the foregoing embodiments, step 104 may include the following sub-steps:

[0077] Step 301: If the current playback time point is consistent with the first playback time of the first target recording signaling, the first target recording signaling is added to multiple packet queues, wherein one packet queue corresponds to one user group, and one user group includes multiple users.

[0078] In this embodiment of the disclosure, when the current playback time of the target video is consistent with the playback time of the first target recording signal (referred to as the first playback time), the first target recording signal can be added to multiple packet queues.

[0079] For example, for all users watching the target video, all users can be grouped into multiple user groups, each user group including multiple users, and a corresponding packaging queue is set up for each user group. For each recording signal that reaches the playback time, the recording signal is added to all packaging queues for packaging and sending.

[0080] Step 302: Pack the signaling in the multiple packet queues according to a preset rate to generate service signaling corresponding to each user group.

[0081] The preset rate can be set according to actual needs. For example, the preset rate can be set to 15 frames per second, 20 frames per second, etc.

[0082] In this embodiment of the disclosure, for each packet queue, all signaling in each packet queue can be packetized at a preset rate to generate service signaling corresponding to each user group.

[0083] It is understandable that during the packaging process, signaling in each packaging queue is packaged separately. Furthermore, the signaling involved in packaging is not limited to recorded signaling; when the packaging queue contains other signaling, such as user-sent signaling, it is also included in the packaging.

[0084] Step 303: Broadcast the service signaling in the corresponding user group.

[0085] In this embodiment of the disclosure, after generating the service signaling corresponding to each user group, the service signaling can be broadcast in the corresponding user group so that each user in the user group can view the content corresponding to the service signaling.

[0086] For example, all signaling in the packet queue 1 is packaged to generate service signaling 1, and service signaling 1 is broadcast in the user group corresponding to packet queue 1; all signaling in the packet queue 2 is packaged to generate service signaling 2, and service signaling 2 is broadcast in the user group corresponding to packet queue 2.

[0087] The video playback method of this disclosure adds the first target recording signaling to multiple packet queues when the current playback time coincides with the first playback time of the first target recording signaling. Each packet queue corresponds to a user group, and each user group includes multiple users. The signaling in the multiple packet queues is packaged according to a preset rate to generate service signaling corresponding to each user group. The service signaling is then broadcast in the corresponding user group. Thus, by grouping users and broadcasting the signaling in the corresponding packet queue, the groups do not affect each other. If the playback service of some groups fails, it will not affect the playback of other groups, thereby improving reliability and enhancing user experience.

[0088] When the interval between two actions performed by a performer is long, the interval between the playback times of the corresponding two adjacent recorded signals is also long. To address this, in this embodiment, an empty signal can be sent between the two recorded signals to correct the video playback speed. Therefore, in an optional embodiment of this disclosure, the second playback time of the second target recorded signal can also be obtained, wherein the second target recorded signal is the next signal adjacent to the first target recorded signal. Next, the difference between the second playback time and the first playback time is calculated. If the difference between the second playback time and the first playback time is greater than a preset value, at least one empty signal is generated, wherein the empty signal carries the playback time. If the playback time of the target video coincides with the playback time of the first empty signal, the first empty signal is added to multiple packet queues.

[0089] The preset values ​​can be set in advance according to actual needs. For example, the preset values ​​can be set to 1 minute, 30 seconds, etc.

[0090] In this embodiment, for two adjacent target recording signaling messages, the preceding target recording signaling message is called the first target recording signaling message, and its corresponding playback time is called the first playback time. The following target recording signaling message is called the second target recording signaling message, and its corresponding playback time is called the second playback time. The difference between the playback times of the two adjacent target recording signaling messages can be calculated and compared with a preset value. If the difference is greater than the preset value, an empty signaling message carrying the playback time is sent between the two target recording signaling messages. During the playback of the target video, the playback time point of the target video is obtained in real time, and the playback time of the empty signaling message is compared with the playback time point of the target video. When the playback time point of the target video matches the playback time of an empty signaling message (called the first empty signaling message), the empty signaling message is added to the packaging queue corresponding to each user group and participates in the signaling packaging to generate service signaling. Therefore, when the target video is played, the empty signaling message is also played. Since the empty signaling message only carries the playback time and does not have specific content, playing the empty signaling message will not affect the content of the target video.

[0091] In this embodiment of the disclosure, after broadcasting the service signaling to each user group, the playback progress of the target video can be corrected using the playback time corresponding to each signaling (including empty signaling and target recording signaling) in the service signaling. Specifically, the playback time of each signaling in the service signaling can be obtained, and the most recent playback time, i.e., the playback time of the first signaling in the service signaling, can be compared with the current playback time of the target video. If the difference between the two is large, for example, if the time difference between the two is greater than a preset threshold, the playback speed of the target video can be calibrated based on the playback time of the first signaling. If the playback time of the first signaling is greater than the playback time of the target video, the target video is adjusted to a faster or slower speed so that the playback time of the target video catches up with the playback time of the first signaling; if the playback time of the first signaling is less than the playback time of the target video, the target video is adjusted to a slower speed so that the playback time of the target video matches the playback time of the first signaling. This enables the adjustment of the target video playback progress based on the playback time of the signaling. When the difference between the playback times of two adjacent target recording signals is large, by sending empty signaling between the two target recording signals, the playback progress of the target video can be calibrated using the playback time of the empty signaling, effectively avoiding the phenomenon of the target video playing too fast or too slow.

[0092] In one optional embodiment of this disclosure, when generating empty signaling, the number of empty signalings to be added between the first target recording signaling and the second target recording signaling can be determined based on the difference between the second playback time and the first playback time, and a preset signaling interval. Based on the determined number, that number of empty signalings is generated. Then, based on the first playback time and the preset signaling interval, the playback time corresponding to each of the number of empty signalings is determined sequentially, thereby obtaining empty signaling carrying the playback time. For example, if it is determined that 10 empty signalings need to be added, then 10 empty signalings are generated, and the playback time corresponding to each of these 10 empty signalings is determined, resulting in 10 empty signalings carrying the playback time.

[0093] The preset signaling interval can be set in advance according to actual needs. For example, the preset signaling interval can be set to 50 milliseconds, 100 milliseconds, etc.

[0094] For example, when determining the number of empty signaling messages to be generated, the difference between the second playback time and the first playback time can be calculated, divided by a preset signaling interval, and the resulting quotient can be used as the number of empty signaling messages to be generated. Alternatively, the number of empty signaling messages to be generated can be calculated by rounding down, and so on.

[0095] In this embodiment of the disclosure, when determining the playback time corresponding to each empty signaling, the playback time corresponding to the first empty signaling can be determined firstly based on the first playback time of the first target recorded signaling and the preset signaling interval. Then, the playback time corresponding to the second empty signaling can be determined based on the playback time of the first empty signaling and the preset time interval. The playback time corresponding to the third empty signaling can be determined based on the playback time of the second empty signaling and the preset signaling interval, and so on, until the playback time corresponding to the last empty signaling is determined. Alternatively, it can be determined according to the formula: T i = First playback time + preset signaling interval * i, to determine the playback time corresponding to each empty signaling, where T i This represents the playback time corresponding to the i-th empty signaling among the stated number of empty signalings, where i ranges from 1 to the stated number, and i is a positive integer.

[0096] In one optional embodiment of this disclosure, the electronic device may further receive user signaling sent by at least one user, and determine the target user group to which each of the at least one user belongs based on the user group signaling, and then add the user signaling sent by each user to the target packet queue corresponding to the target user group to which each user belongs.

[0097] For example, suppose user group 1 contains three users: user a, user b, and user c. User a sends a point-to-point signaling message, i.e., user signaling. Based on the user group information, it can be determined that the target user group to which user a belongs is user group 1. Then, the user signaling message sent by user a is added to the packet queue corresponding to user group 1. Thus, the signaling messages in the packet queue are packaged and broadcast to user group 1, so that all users in user group 1 can see the operation corresponding to the user signaling message sent by user a.

[0098] In this embodiment of the disclosure, by adding the user signaling sent by the user to the packaging queue corresponding to the user group, when all the signaling in the packaging queue is packaged, the user signaling added to the packaging queue is also packaged and broadcast to the corresponding user group, so that other users in the same user group can see the actions of the user who sent the user signaling, thereby improving the user's experience and sense of participation.

[0099] The disclosed solution is applicable to a full-fledged classroom scenario. In this scenario, the recording signaling refers to the signaling generated by the teacher during video recording, also known as teacher signaling, while the user signaling refers to the signaling sent by students watching the recorded video, also known as student signaling. The implementation of recorded lessons can be divided into two parts: recording and playback. Figure 4 The diagram illustrates a recording process for a recorded video according to an exemplary embodiment of the present disclosure. Figure 5 A schematic diagram illustrating the playback process of a recorded video according to an exemplary embodiment of the present disclosure is shown.

[0100] like Figure 4As shown, during recording, the teacher calls the RTC service to record video and the IRC service to record teacher signaling. After RTC finishes recording the video, it combines multiple video segments and then calls the class-server to retrieve the video information and store it in the video database. A scheduled task (parse SEI job) scans the retrieved unprocessed videos, parses them, obtains the corresponding SEI, and stores it in the video database again. Videos with SEIs already obtained in the video database are marked as processed, so only unmarked videos are scanned during each parsing. During signaling recording, the teacher sends teacher signaling to the game server (gameServer) through the IRC service. In addition to forwarding the teacher signaling, the game server also synchronously stores the teacher signaling in the in-memory database Redis. After class (when video recording ends), the data synchronization task (sync job) persists the teacher signaling in Redis to the signaling database. The task of calculating playback time retrieves the SEI list of videos from the video database and the list of teacher signaling for the same video from the signaling database. It then calculates the playback time corresponding to each teacher signaling and stores the playback time in the signaling database, associating it with the teacher signaling. The specific process for calculating playback time can be found in the relevant descriptions of the foregoing embodiments, and will not be repeated here.

[0101] like Figure 5 As shown, the playback process of recorded videos in a realistic classroom scenario can be divided into three parts: before service startup, during service startup, and message forwarding. Before service startup, on the teacher's side, starting the service first writes the video identifier, video start time, and room group information from Redis into environment variables; on the student's side, it retrieves the video address, group information, etc., of the video to be played. During startup, the game service first retrieves the student group information G1, G2 to Gn from the Redis corresponding to the Redis identifier. Each student group includes multiple students, and each student group is added to a room, such as... Figure 5 As shown, G1 contains students s 11 s 12 To s 1w G2 includes students s 21 s 22 To s 2p Gn contains students s n1 s n2 To s nqG1 joins room R1, G2 joins room R2, and Gn joins room Rn. Then, users Gu1, Gu2, and Gn are created to forward messages to the corresponding rooms and added to rooms R1, R2, and Rn in the IRC, respectively. The game service loads teacher signaling from the signaling database. During message forwarding, when the video playback time arrives, the playback module plays the video and adds the teacher signaling to the corresponding packet queue for each student group according to its playback time. Additionally, empty signaling carrying the playback time can be sent between two teacher signaling messages. When the playback time of the empty signaling matches the video playback time, the empty message sending module adds the empty signaling to the corresponding packet queue for each student group. Students in each room can send point-to-point signaling (i.e., student signaling) to user Gu who forwards messages to the corresponding room. After receiving the student signaling, Gu stores it in the corresponding room's packet queue. The game service packages all signaling from multiple packet queues according to a preset rate, generates service signaling, and broadcasts it to the corresponding student groups, such as... Figure 5 As shown, the signaling packet generation service in the packet queue corresponding to student group G1 is broadcast to student group G1, the signaling packet generation service in the packet queue corresponding to student group G2 is broadcast to student group G2, and the signaling packet generation service in the packet queue corresponding to student group Gn is broadcast to student group Gn.

[0102] This exemplary embodiment also provides a playback device for recorded videos. Figure 6 A schematic block diagram of a video playback device according to an exemplary embodiment of the present disclosure is shown, such as... Figure 6 As shown, the video playback device 60 includes: a first acquisition module 610, a second acquisition module 620, and a playback module 630.

[0103] The first acquisition module 610 is used to acquire the video identifier of the video to be played.

[0104] The second acquisition module 620 is used to acquire a target video corresponding to the video identifier based on the video identifier, and to acquire a target recording signaling corresponding to the video identifier from the signaling database, wherein the target recording signaling carries the playback time corresponding to the target video;

[0105] The playback module 630 is used to play the target video and, during the playback of the target video, obtain the current playback time point of the target video;

[0106] The playback module 630 is also used for:

[0107] If the current playback time coincides with the playback time, the target recording signaling is played simultaneously with the target video.

[0108] Optionally, the video playback device 60 further includes:

[0109] The third acquisition module is used to acquire the transmission time of the recorded signaling in the signaling database;

[0110] The fourth acquisition module is used to acquire multiple supplementary enhancement information corresponding to the video to which the recorded signaling belongs. Each supplementary enhancement information includes the start time and duration of the video segment to which the supplementary enhancement information belongs.

[0111] The first determining module is used to determine the playback time of the video corresponding to the recording signaling based on the start time and duration of each supplementary enhancement information and the sending time of the recording signaling.

[0112] Optionally, the first determining module is further configured to:

[0113] The transmission time of the recorded signaling is compared with the start time of each supplementary enhancement information to determine the target supplementary enhancement information to which the recorded signaling belongs;

[0114] The sum of the durations of all supplementary enhancement information prior to obtaining the target supplementary enhancement information;

[0115] Calculate the time difference between the transmission time of the recorded signaling and the start time of the target supplementary enhancement information;

[0116] The smaller value between the time difference and the duration of the target supplementary enhancement information is determined as the time when the recorded signaling is located in the target supplementary enhancement information;

[0117] Based on the sum of the duration and the sum of the timestamps, the playback time of the video corresponding to the recording signal is determined.

[0118] Optionally, the playback module 630 is further configured to:

[0119] If the current playback time coincides with the first playback time of the first target recording signal, the first target recording signal is added to multiple packet queues, wherein one packet queue corresponds to one user group, and one user group includes multiple users;

[0120] The signaling in the multiple packet queues is packaged according to a preset rate to generate service signaling corresponding to each user group;

[0121] The service signaling is broadcast in the corresponding user groups.

[0122] Optionally, the video playback device 60 further includes:

[0123] The fifth acquisition module is used to acquire the second playback time of the second target recording signaling, wherein the second target recording signaling is the next signaling adjacent to the first target recording signaling;

[0124] The generation module is configured to generate at least one empty signaling message when the difference between the second playback time and the first playback time is greater than a preset value, wherein the empty signaling message carries the playback time.

[0125] The first adding module is used to add the first empty signaling to the plurality of packet queues when the playback time of the target video is consistent with the playback time of the first empty signaling.

[0126] Optionally, the generation module is further configured to:

[0127] Based on the difference between the second playback time and the first playback time and the preset signaling interval, determine the number of empty signaling to be added between the first target recording signaling and the second target recording signaling;

[0128] Generate the specified number of empty signaling messages based on the specified number;

[0129] Based on the first playback time and the preset signaling interval, the playback time corresponding to each of the plurality of empty signaling is determined sequentially to obtain the plurality of empty signaling carrying the playback time.

[0130] Optionally, the video playback device 60 also includes:

[0131] The receiving module is used to receive user signaling sent by at least one user;

[0132] The second determining module is used to determine the target user group to which each of the at least one user belongs, based on the user grouping information;

[0133] The second adding module is used to add the user signaling sent by each user to the target packaging queue corresponding to the target user group to which each user belongs.

[0134] The video playback device provided in this disclosure can execute any video playback method applicable to electronic devices provided in this disclosure, and has the corresponding functional modules and beneficial effects for executing the method. Content not described in detail in the device embodiments of this disclosure can be referred to the description in any method embodiment of this disclosure.

[0135] Exemplary embodiments of this disclosure also provide an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor. The memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to cause the electronic device to perform a method for playing recorded video according to embodiments of this disclosure.

[0136] Exemplary embodiments of this disclosure also provide a non-transitory computer-readable storage medium storing a computer program, wherein the computer program, when executed by a computer's processor, is used to cause the computer to perform a method for playing recorded video according to embodiments of this disclosure.

[0137] Exemplary embodiments of this disclosure also provide a computer program product, including a computer program, wherein, when executed by a computer's processor, the computer program is used to cause the computer to perform a method for playing recorded video according to embodiments of this disclosure.

[0138] refer to Figure 7 The present invention describes a structural block diagram of an electronic device 1100 that can serve as a server or client of the present disclosure, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0139] like Figure 7 As shown, the electronic device 1100 includes a computing unit 1101, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1102 or a computer program loaded from a storage unit 1108 into a random access memory (RAM) 1103. The RAM 1103 may also store various programs and data required for the operation of the device 1100. The computing unit 1101, ROM 1102, and RAM 1103 are interconnected via a bus 1104. An input / output (I / O) interface 1105 is also connected to the bus 1104.

[0140] Multiple components in electronic device 1100 are connected to I / O interface 1105, including: input unit 1106, output unit 1107, storage unit 1108, and communication unit 1109. Input unit 1106 can be any type of device capable of inputting information to electronic device 1100. Input unit 1106 can receive input digital or character information and generate key signal inputs related to user settings and / or function control of electronic device. Output unit 1107 can be any type of device capable of presenting information and may include, but is not limited to, a display, speaker, video / audio output terminal, vibrator, and / or printer. Storage unit 1108 may include, but is not limited to, disk and optical disk. Communication unit 1109 allows electronic device 1100 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and / or chipsets, such as Bluetooth™ devices, WiFi devices, WiMax devices, cellular communication devices, and / or the like.

[0141] The computing unit 1101 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1101 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1101 performs the various methods and processes described above. For example, in some embodiments, the method for playing recorded video can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 1108. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 1100 via ROM 1102 and / or communication unit 1109. In some embodiments, the computing unit 1101 can be configured to perform the method for playing recorded video by any other suitable means (e.g., by means of firmware).

[0142] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0143] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0144] As used in this disclosure, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, device, and / or apparatus (e.g., disk, optical disk, memory, programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.

[0145] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0146] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0147] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other.

Claims

1. A method of playing a recorded video, wherein, The method comprises: acquiring a video identifier of a video to be played; acquiring a target video corresponding to the video identifier according to the video identifier, and acquiring a target recording signaling corresponding to the video identifier from a signaling database, wherein the target recording signaling carries a play time corresponding to the target video; playing the target video, and acquiring a current play time point of the target video during the playing of the target video; in a case where the current play time point is consistent with the play time, playing the target recording signaling while playing the target video; The method further comprises: for a recording signaling in the signaling database, acquiring a sending time of the recording signaling; acquiring a plurality of supplementary enhancement information corresponding to a video to which the recording signaling belongs, each piece of supplementary enhancement information comprising a start time and a duration of a video segment corresponding to the piece of supplementary enhancement information, the video segment belonging to the video to which the recording signaling belongs; comparing the sending time of the recording signaling with the start time of each piece of supplementary enhancement information to determine a target piece of supplementary enhancement information to which the recording signaling belongs; acquiring a sum of durations of all pieces of supplementary enhancement information before the target piece of supplementary enhancement information; calculating a time difference between the sending time of the recording signaling and the start time of the target piece of supplementary enhancement information; determining a smaller value between the time difference and a duration of the target piece of supplementary enhancement information as a time position of the recording signaling in the target piece of supplementary enhancement information; determining a play time of the recording signaling corresponding to the video to which the recording signaling belongs based on a sum of the duration and the time position.

2. The method of claim 1, wherein, The playing of the target recording signaling while playing the target video in the case where the current play time point is consistent with the play time comprises: in a case where the current play time point is consistent with a first play time of a first target recording signaling, adding the first target recording signaling to a plurality of packaging queues, wherein one packaging queue corresponds to one user group, and one user group comprises a plurality of users; packaging the signalings in the plurality of packaging queues at a preset rate to generate a service signaling corresponding to each user group; broadcasting the service signaling in the corresponding user group.

3. The method of claim 2, wherein the recording video is played in a window of the display device. The method further comprises: acquiring a second play time of a second target recording signaling, wherein the second target recording signaling is a next signaling adjacent to the first target recording signaling; in a case where a difference between the second play time and the first play time is greater than a preset value, generating at least one empty signaling, wherein the empty signaling carries a play time; in a case where a play time point of the target video is consistent with a play time of a first empty signaling, adding the first empty signaling to the plurality of packaging queues.

4. The method of claim 3, wherein, The generation of the at least one empty signaling comprises: determining a number of empty signalings to be added between the first target recording signaling and the second target recording signaling according to a difference between the second play time and the first play time and a preset signaling interval; generating the number of empty signalings according to the number. According to the first playing time and the preset signaling interval, a playing time corresponding to each of the number of empty signalings is sequentially determined, and the number of empty signalings carrying the playing time are obtained.

5. The method of claim 2, wherein the recording and playing video is played in a loop. The method further comprises: receiving user signaling sent by at least one user; determining a target user group to which each user in the at least one user belongs according to user group information; adding the user signaling sent by the each user into a target packaging queue corresponding to the target user group to which the each user belongs.

6. A playback apparatus of a recorded video, wherein, The device comprises: a first obtaining module configured to obtain a video identifier of a video to be played; a second obtaining module configured to obtain a target video corresponding to the video identifier according to the video identifier, and obtain a target recording signaling corresponding to the video identifier from a signaling database, wherein the target recording signaling carries a playing time corresponding to the target video; a playing module configured to play the target video, and obtain a current playing time point of the target video during playing of the target video; The playing module is further configured to: in a case where the current playing time point is consistent with the playing time, play the target recording signaling while playing the target video; The device further comprises: a third obtaining module configured to obtain a sending time of a recording signaling in the signaling database; a fourth obtaining module configured to obtain a plurality of supplemental enhancement information corresponding to a video to which the recording signaling belongs, each supplemental enhancement information comprising a start time and a duration of a video segment corresponding to the supplemental enhancement information, the video segment belonging to the video to which the recording signaling belongs; a first determining module configured to compare the sending time of the recording signaling with the start time of each supplemental enhancement information respectively, determine a target supplemental enhancement information to which the recording signaling belongs, obtain a sum of durations of all supplemental enhancement information before the target supplemental enhancement information, calculate a time difference between the sending time of the recording signaling and the start time of the target supplemental enhancement information, determine a time-in-target of the recording signaling in the target supplemental enhancement information as a smaller value between the time difference and the duration of the target supplemental enhancement information, and determine a playing time of the recording signaling corresponding to the video to which the recording signaling belongs based on a sum of the sum of the durations and the time-in-target.

7. An electronic device comprising: a processor; and a memory storing programs, wherein the programs include instructions that, when executed by the processor, cause the processor to perform the playing method of a recorded and broadcast video according to any one of claims 1-5.

8. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to cause the computer to perform the playing method of a recorded and broadcast video according to any one of claims 1-5.

Citation Information

Patent Citations

  • Data playback method, device and equipment and storage medium

    CN111193955A

  • Online education live broadcast playback synchronization method

    CN112351295A