Video recording method, video playback method, device, system and equipment
By automatically initiating recording tasks in response to preset events within the live stream, recording live video clips and bullet screen messages, the problem of omissions in manual recording is solved, and the complete recording and synchronous playback of exciting moments are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANGHAI BILIBILI TECH CO LTD
- Filing Date
- 2026-01-28
- Publication Date
- 2026-04-28
AI Technical Summary
In existing technologies, recording exciting moments of live streaming interaction relies on manual operation, which can easily lead to the omission of some exciting content.
By responding to preset events in the live stream, obtaining the event occurrence time, automatically or upon notification, starting the recording task, recording live video clips and bullet screen information, and generating resource identifiers for associated storage, ensuring synchronized playback of recording and replay.
It enables timely recording of highlights from the live stream, preventing omissions, ensuring accurate matching and synchronized playback of recorded resources, reducing system load, and improving the integrity of interactive videos.
Smart Images

Figure CN121940501A_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of Internet live streaming technology, and in particular to a video recording method, video playback method, apparatus, system, computer equipment, computer-readable storage medium, and computer program product. Background Technology
[0002] Viewers in a live stream can interact with the streamer by sending comments and virtual gifts. Certain interactions (such as sending virtual gifts) can trigger specific animations in the live stream, and the streamer usually expresses gratitude to the viewers after seeing these animations. To record the exciting moments of interaction between the streamer and viewers, including comments and animations, the streamer or viewers can manually record live stream video clips using their devices. However, manual recording relies heavily on human operation, and some exciting moments may be missed due to delays in manual operation.
[0003] In view of the above, some embodiments of this specification provide a video recording method, a video playback method, an apparatus, a system, a computer device, a computer-readable storage medium, and a computer program product, which are intended to record the exciting moments of a complete live broadcast interaction. Summary of the Invention
[0004] This specification provides one or more embodiments of a video recording method, the method comprising: responding to a preset event occurring in a live broadcast room, obtaining the occurrence time corresponding to the preset event; the preset event includes an interactive event that triggers the playback of a target animation; starting a recording task with the occurrence time as the start time, and recording a live video segment of a first preset duration and bullet screen information in the live broadcast room; generating a resource identifier corresponding to the recording task, and storing the live video segment, bullet screen information, and animation information corresponding to the target animation based on the resource identifier, so that when the recorded video is played back, the live video segment, bullet screen information, and target animation associated with the resource identifier are played synchronously.
[0005] According to one or more embodiments of this specification, the occurrence time of a preset event is determined based on the timestamp of the live video stream played in the live room.
[0006] According to one or more embodiments of this specification, the start conditions for a recording task include at least one of the following: automatically triggered when a preset event is detected in the live broadcast room; pushed recording reminder when a preset event is detected in the live broadcast room, and triggered when a first recording request generated based on the recording reminder is received; triggered when a second recording request generated based on the recording control is received.
[0007] According to one or more embodiments of this specification, the target animation includes the animation of a virtual gift sent by the viewer to the streamer, and / or the animation of the viewer activating the streamer's exclusive service; the preset events include the viewer activating the streamer's exclusive service corresponding to the live broadcast room, and / or the virtual gift sent by the viewer to the streamer reaching a predetermined condition.
[0008] According to one or more embodiments of this specification, the bullet screen information includes at least one of bullet screen text, bullet screen sending time, bullet screen style, and a first viewer identifier corresponding to the viewer who triggered the bullet screen sending; the bullet screen sending time includes a relative time relative to the start time; the animation information includes at least one of animation effect identifier, storage location of animation effect file, and a broadcaster identifier and a second viewer identifier associated with the target animation effect; the broadcaster identifier is used by the broadcaster to call the associated live video segment, bullet screen information, and target animation effect associated with the broadcaster identifier for synchronous playback based on the resource identifier when playing back the recorded video on the broadcaster's end; the second viewer identifier is used by the viewer to call the associated live video segment, bullet screen information, and target animation effect associated with the second viewer identifier for synchronous playback based on the resource identifier when playing back the recorded video on the viewer's end.
[0009] According to one or more embodiments of this specification, the live video segment corresponds to an opaque background layer, the bullet screen information is dynamically rendered into a graphics layer and / or a text layer based on the bullet screen text, bullet screen sending time, and bullet screen style, and the target animation effect is rendered into an overlay layer with a transparent area based on an animation effect file with an animation effect identifier; the live video segment, bullet screen information, and target animation effect associated with the resource identifier are played synchronously, including: calling the live video segment, bullet screen information, and target animation effect associated with the resource identifier; the bullet screen information and target animation effect are dynamically rendered based on different layers and overlaid with the live video segment for synchronous playback.
[0010] According to one or more embodiments of this specification, the method further includes: sequentially dividing the timestamps of the live video stream played in the live room according to a second preset duration to obtain at least one time interval corresponding to the second preset duration; starting a recording task with the occurrence time as the start time, and recording a live video segment of a first preset duration and bullet screen information in the live room, including: starting the recording task with the occurrence time of the first preset event occurring within the time interval as the start time; for other preset events occurring within the same time interval, reusing the live video segment and bullet screen information recorded by the recording task.
[0011] According to one or more embodiments of this specification, the resource identifier is generated based on the live room identifier, start time, and random encoding corresponding to the live room.
[0012] One or more embodiments of this specification also provide a video playback method, the method comprising: displaying a playback entry for the recorded video after a recording task triggered by a preset event occurring in a live broadcast room is completed; wherein the preset event includes an interactive event that triggers the playback of a target animation effect, the recording task is used to record a live video segment of a first preset duration and bullet screen information in the live broadcast room with the occurrence time of the preset event as the start time, the live video segment, bullet screen information and animation effect information of the target animation effect are stored in association based on resource identifiers, and the resource identifiers correspond to the recording task; in response to a playback command triggered based on the playback entry, synchronously playing the live video segment, bullet screen information and target animation effect associated with the resource identifiers.
[0013] One or more embodiments of this specification also provide a video recording device, the device comprising: a time acquisition module, configured to acquire the occurrence time corresponding to a preset event occurring in a live broadcast room; the preset event includes an interactive event that triggers the playback of a target animation; a video recording module, configured to start a recording task with the occurrence time as the start time, and record a live video segment of a first preset duration and bullet screen information in the live broadcast room; and a resource storage module, configured to generate a resource identifier corresponding to the recording task, and associate and store the live video segment, bullet screen information, and animation information corresponding to the target animation based on the resource identifier, so that when the recorded video is played back, the live video segment, bullet screen information, and target animation associated with the resource identifier are played synchronously.
[0014] One or more embodiments of this specification also provide a video playback device, the device comprising: an entry display module, configured to display a playback entry for the recorded video after a recording task triggered by a preset event occurring in the live broadcast room is completed; wherein the preset event includes an interactive event that triggers the playback of a target animation effect, the recording task is configured to record a live video segment of a first preset duration and bullet screen information in the live broadcast room with the occurrence time of the preset event as the start time, the live video segment, bullet screen information and animation effect information of the target animation effect are stored in association based on resource identifiers, and the resource identifiers correspond to the recording task; and a video playback module, configured to synchronously play the live video segment, bullet screen information and target animation effect associated with the resource identifier in response to a playback command triggered based on the playback entry.
[0015] This specification also provides a video recording system in one or more embodiments, the system including a server and a client, the client including at least a broadcaster and / or a viewer; the server is used to respond to a preset event occurring in the live broadcast room, obtain the occurrence time corresponding to the preset event; the preset event includes an interactive event that triggers the playback of a target animation; start a recording task with the occurrence time as the start time, and record a live video segment of a first preset duration and bullet screen information in the live broadcast room; generate a resource identifier corresponding to the recording task, and store the live video segment, bullet screen information, and animation information corresponding to the target animation based on the resource identifier; the client is used to display the playback entry of the recorded video after the recording task is completed; and in response to a playback command triggered based on the playback entry, synchronously play the live video segment, bullet screen information, and target animation associated with the resource identifier.
[0016] One or more embodiments of this specification also provide a computer device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it can implement the video recording method and / or video playback method described in some embodiments of this specification.
[0017] One or more embodiments of this specification also provide a computer-readable storage medium storing computer instructions that, when executed by a processor, can implement the video recording method and / or video playback method described in some embodiments of this specification.
[0018] One or more embodiments of this specification also provide a computer program product, including a computer program that, when at least a portion of the computer program is executed by a processor, can implement the video recording method and / or video playback method described in some embodiments of this specification.
[0019] The effective effects that the embodiments of this specification may bring include, but are not limited to: by starting the recording task with the occurrence time of a preset event in the live room as the start time, the recording can be triggered in time when the preset event occurs, avoiding the omission of wonderful moments in the live room during video recording; by generating a resource identifier corresponding to the recording task, and storing the animation information of the live video clips, bullet screen information, and target animation based on the resource identifier, it can be ensured that the recorded live video clips, bullet screen information, and target animation corresponding to the preset event are accurately matched, avoiding resource misalignment or loss, so that the complete interactive video corresponding to the live broadcast can be restored during playback.
[0020] By determining the occurrence time of a preset event based on the timestamp of the live video stream played in the live room, the barrage information recorded by the recording task that starts with the occurrence time can be aligned with the live video clip on the timeline, avoiding the problem of barrage and live video clip being out of sync due to network latency when recording with natural time.
[0021] By automatically triggering the recording task when a preset event occurs in the live broadcast room, or by automatically pushing a recording reminder, and automatically triggering the recording task when the first recording request generated based on the recording reminder is received, the recording task can be started in time when the preset event occurs, avoiding missing the wonderful moments of interaction in the live broadcast room when recording video.
[0022] By recording the relative time to the start time of the recording task as the time when the bullet comments are sent, the timing of the bullet comments appearing in the live video clips can be determined more accurately during the playback of the recorded video, thus restoring the interactive process during the live broadcast as much as possible.
[0023] By rendering bullet comments and target animations on different layers during playback of recorded videos, and overlaying them with the opaque background layer corresponding to the live video clips for synchronized playback, the complete interactive effect including bullet comments and animations corresponding to the live stream can be restored.
[0024] For multiple preset events occurring within the same time interval, reusing the recording task triggered by the first preset event occurring within that time interval can avoid the waste of resources caused by repeated recording and effectively reduce the pressure on the system caused by triggering too many recording tasks when preset events occur in a dense manner.
[0025] By recording the anchor identifier and the second audience identifier associated with the target animation in the animation information, when playing back the recorded video, the audience can render only the target animation corresponding to itself based on the second audience identifier. This ensures that the recorded video recorded in a scenario where multiple preset events trigger recording tasks are combined and the recorded video recorded independently by a single preset event present a consistent playback effect on the audience.
[0026] By generating resource identifiers based on the live room identifier, the start time of the recording task, and random encoding, the uniqueness of resource identifiers can be guaranteed, as the random encoding has anti-duplicate properties and can prevent the generation of the same resource identifier when the live room identifier and start time are the same but the recording tasks or the preset events that trigger the recording are different.
[0027] It should be noted that different embodiments may produce different beneficial effects. In different embodiments, the beneficial effects may be any one or a combination of the above, or any other possible beneficial effects. Attached Figure Description
[0028] This specification will be further described by way of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. The same numbers in the drawings denote the same structures or steps.
[0029] Figure 1 This is a schematic diagram illustrating an application scenario of video recording according to some embodiments of this specification.
[0030] Figure 2 This is an exemplary flowchart illustrating a video recording method according to some embodiments of this specification.
[0031] Figure 3 This is an exemplary block diagram illustrating a video recording method according to some embodiments of this specification.
[0032] Figure 4 This is an exemplary flowchart illustrating a recording task merging process according to some embodiments of this specification.
[0033] Figure 5 This is an exemplary block diagram illustrating a recording task merging according to some embodiments of this specification.
[0034] Figure 6 This is an exemplary flowchart of a video playback method according to some embodiments of this specification.
[0035] Figure 7 This is an exemplary flowchart illustrating another video playback method according to some embodiments of this specification.
[0036] Figure 8 This is an exemplary architecture diagram of video recording and playback according to some embodiments of this specification.
[0037] Figure 9 This is an exemplary block diagram of a video recording apparatus according to some embodiments of this specification.
[0038] Figure 10 This is an exemplary block diagram of a video playback device according to some embodiments of this specification.
[0039] Figure 11 This is an exemplary block diagram of a video recording system according to some embodiments of this specification. Detailed Implementation
[0040] To more clearly illustrate the technical solutions of the embodiments in this specification, the embodiments will be described in detail below with reference to the accompanying drawings. Obviously, the content described below are some examples or embodiments of this specification. For those skilled in the art, without creative effort, the technical solutions or means disclosed in this specification can be applied to other scenarios based on this technical content.
[0041] It should be understood that the terms "system," "device," "unit," and / or "module" used in this specification are a method of distinguishing different components, elements, parts, sections, or assemblies at different levels. However, if other terms can achieve the same purpose, they may be replaced by other expressions.
[0042] Unless otherwise specified, the technical terms used to describe components, elements, etc. in this specification are not singular but may include plural. Generally speaking, terms such as "comprising" or "including" only indicate that explicitly identified steps, elements, or components are included, and these steps, elements, and components do not constitute an exclusive list, as the described method or apparatus may also include other steps or components.
[0043] This specification uses flowcharts to illustrate the operational steps performed by the apparatus or system of related embodiments. However, unless otherwise specified, the order in which these steps are described should not be construed as a limitation on the order of execution. Those skilled in the art can adjust the order of these steps based on the knowledge and information conveyed by the embodiments in this specification. Such adjustments include, but are not limited to, reversing the order of steps, merging multiple steps, and splitting a step.
[0044] Live streaming is a real-time audio and video transmission technology based on the internet. The broadcaster's end can include a broadcaster's device, or it can be used to host at least one of the live streaming platform's applications, mini-programs, or web pages to use the broadcaster's related functions or services provided by the live streaming platform. The viewer's end can include a viewer's device, or it can be used to host at least one of the live streaming platform's apps, mini-programs, or web pages to use the viewer's related functions or services provided by the live streaming platform. The broadcaster creates a live room on the video live streaming platform, recording their real-time activities (such as performances, explanations, games, event scenes, etc.) through devices such as cameras and microphones, and transmitting them to the viewers who enter the live room. Viewers can interact with the broadcaster in the live room by sending bullet comments, giving virtual gifts, etc. Certain interactive events on the viewer's end (such as giving virtual gifts) can trigger specific animations in the live room. When the broadcaster sees these animations on their end, they usually express gratitude, and viewers can see the video of the broadcaster expressing their gratitude on their end.
[0045] Figure 1 This is a schematic diagram illustrating an application scenario of video recording according to some embodiments of this specification. For example... Figure 1 As shown, application scenario 100 may include: server 110, broadcaster 120, viewer 130, and network 140. Server 110, broadcaster 120, and viewer 130 can transmit data through network 140. Broadcaster 120 and viewer 130 can be clients corresponding to server 110. Viewers can trigger target animations in the live stream by interacting with broadcaster 120 through preset events, such as gifting virtual gifts or activating exclusive services. Preset events may include events that trigger target animations, such as gifting virtual gifts (a gift-giving event) or activating exclusive services (an exclusive service activation event). Target animations may refer to the animations displayed in the live stream corresponding to the preset events when they occur. Broadcasters can see the target animations displayed in the live stream on broadcaster 120 and express their gratitude to viewer 130 through the live stream. Preset events occurring in the live stream can trigger the server 110 to record a certain duration of live video clips and bullet screen information, which are then stored in association with the motion effect information of the target motion effect. The playback entry for the recorded video can be displayed on the viewer's end 130 and the broadcaster's end 120. Through the playback entry, the recorded live video clips, bullet screen information, and target motion effect can be played synchronously. The recorded video can refer to a video that includes resources such as live video clips, bullet screen information, and target motion effect.
[0046] The server 110 can be a high-performance computer device used to record and store live stream data. For example, the server 110 can initiate a recording task when a preset event occurs in the live stream, recording live video clips and bullet screen information in the live stream, and storing the live video clips, bullet screen information, and motion effect information of the target animation corresponding to the preset event. In some embodiments, the server 110 can transmit data based on a streaming media transmission protocol, which may include: HLS (HTTP Live Streaming), RTMP (Real-Time Messaging Protocol), DASH (Dynamic Adaptive Streaming over HTTP), etc. In some embodiments, the server 110 may include a local server or a cloud server. Depending on different service requirements, a local server corresponding to a specific region may be deployed in one or more regions. In some embodiments, the server 110 may include a background processing server, which can initiate a recording task when a preset event occurs in the live stream, recording live video clips and bullet screen information in the live stream, and storing the live video clips, bullet screen information, and motion effect information of the target animation corresponding to the preset event. In some embodiments, server 110 may include a streaming media server, a transcoding server, a storage server, an authentication server, etc. The streaming media server can transmit data based on a streaming media transmission protocol. The transcoding server can be used to transcode live video data, the storage server can be used to cache and store live data, and the authentication server can be used to verify user access permissions. In some embodiments, server 110 may be a single computer device or a computing cluster composed of multiple computer devices, thereby providing more powerful computing power and more efficient response to user service requests. It is understood that in the specific embodiments of this specification, the collection, use, or processing of data (such as live room data, bullet screen information, animation information, etc.) is involved. When one or more embodiments of this specification are applied to specific products or technology implementations, permission or consent from the data subject is required. Furthermore, the collection, use, or processing of related data must strictly comply with the relevant laws, regulations, and standards of the data source country, implementation country, and other relevant countries and regions. De-identification technology ensures that the final data used is securely processed de-identified data, protecting the rights and interests of the data subject and data security.
[0047] The broadcast client 120 can be used to generate live video data in real time and push the live video data. Live video data may include, for example, a video stream generated by real-time capture of the live scene using a camera device, or a video stream generated by the broadcaster sharing their screen, application screen, or document screen. In some embodiments, the broadcast client 120 can be an electronic device such as a desktop computer, smartphone, laptop, or tablet. In some embodiments, the broadcast client 120 can be an app, mini-program, website, etc., running on a terminal and corresponding to the live streaming platform, to use the functions or services provided by the live streaming platform related to the broadcaster.
[0048] The viewer terminal 130 can be used to display the live stream room to viewers and play corresponding live video data. It can also provide interactive functions and interfaces (e.g., displaying interactive controls), and can generate corresponding interactive requests based on viewer actions such as sending virtual gifts, and respond to these requests by playing target animations corresponding to the interactive actions within the live stream room. In some embodiments, the viewer terminal 130 may include, but is not limited to, desktop computers, smartphones, laptops, VR (Virtual Reality) devices, tablets, smart TVs, in-vehicle terminals, and other terminal devices. In some embodiments, the viewer terminal 130 may be an app, mini-program, website, etc., running on the terminal and corresponding to the live stream platform, to use viewer-related functions or services provided by the live stream platform. The viewer terminal 130 may include a display screen and a processor, the display screen being used to present a graphical user interface. For example, the viewer terminal 130 can present the live stream room corresponding to the broadcaster terminal 120 through a graphical user interface. In some embodiments, the display screen can be separate from the human-machine interface device (HMI). Users can operate the graphical user interface (GUI) via the HMI, and the processor of the viewer terminal 130 can receive operation commands generated by the operation via the HMI. The display screen can be used to present the GUI, for example, to present response results generated based on operation commands input through the GUI. In other embodiments, the display screen can be a touchscreen, which can receive operation commands input by the user based on the GUI. For example, user-generated operation commands on the graphical user interface may include interactive commands that trigger the playback of target animation effects (e.g., displaying a gift-giving entry or a dedicated service activation entry in the graphical user interface; triggering the gift-giving entry can generate a gift-giving command, and triggering the dedicated service activation entry can generate a dedicated service activation command). The processor of the viewer terminal 130 may be configured to transmit the interactive command that triggers the playback of target animation effects to the server terminal 110 for processing after receiving it. The interactive command is generated based on an interactive event. If the interactive event is a preset event (e.g., a gift-giving event or a dedicated service activation event), the server terminal 110 will send the target animation effect corresponding to the interactive command corresponding to the preset event to the viewer terminal 130 and the broadcaster terminal 120 for playback and display.
[0049] Network 140 can be any type of wired or wireless network, or any combination thereof. As an example, network 140 can be one or more combinations of wired networks, fiber optic networks, telecommunications networks, internal networks, the Internet, local area networks (LANs), wide area networks (WANs), wireless local area networks (WLANs), metropolitan area networks (MANs), public switched telephone networks (PSTNs), Bluetooth networks, etc. Network 140 can have multiple access points, through which server 110, viewer 130, and broadcaster 120 can access network 140.
[0050] It should be noted that, Figure 1 The video recording application scenario shown is merely an example. The application scenarios described in the embodiments of this specification are for the purpose of more clearly illustrating the technical solutions of the embodiments of this specification, and do not constitute a limitation on the technical solutions provided in the embodiments of this specification. For example, Figure 1 The number of server-side 110, broadcaster-side 120, and viewer-side 130 in this specification is merely illustrative and is not intended to limit the scope of patent protection of this application. Depending on the actual situation, any number of server-side 110, broadcaster-side 120, and viewer-side 130 may be included. Those skilled in the art will understand that with the development of live streaming technology and the emergence of new business scenarios, the technical solutions provided in the embodiments of this specification are also applicable to similar technical problems.
[0051] In some related embodiments, in order to record the exciting moments of interaction between the anchor and the audience in the live broadcast room, including bullet comments and animations, the anchor or the audience can manually record live video clips through the terminal device (anchor end or audience end). However, manual recording mainly relies on manual operation, and some exciting moments may be missed in the recorded video clips due to untimely manual operation.
[0052] Therefore, some embodiments of this specification provide a video recording method, video playback method, apparatus, system, computer device, computer-readable storage medium, and computer program product, aimed at recording the exciting moments of a complete live broadcast interaction.
[0053] This manual provides a video recording method for capturing the highlights of a live stream interaction. Figure 2 This is an exemplary flowchart illustrating a video recording method according to some embodiments of this specification. Flow 200, as shown in Figure 2, can be executed by a processing device, for example, by... Figure 1 The server 110 shown executes the process. In some embodiments, process 200 can be implemented by a video recording device 900 deployed on a processing device. The video recording device 900 may include a time acquisition module 910, a video recording module 920, and a resource storage module 930. Figure 2 As shown, in some embodiments, process 200 may include the following steps.
[0054] Step 210: In response to a preset event occurring in the live stream, obtain the occurrence time corresponding to the preset event. The preset event includes an interactive event that triggers the playback of a target animation. In some embodiments, step 210 can be implemented by the time acquisition module 910.
[0055] In some embodiments, the target animation effect may refer to the animation effect played in the live stream corresponding to the preset event when the preset event occurs. In some embodiments, the target animation effect may include the animation effect of a virtual gift sent by the viewer to the streamer, and / or the activation animation effect of the viewer activating the streamer's exclusive services. In some embodiments, after the streamer's exclusive services are activated, the corresponding activation animation effect may be displayed in the live stream corresponding to the streamer. For example, the streamer's exclusive services may include the streamer's private domain membership service, which allows the viewer to enjoy exclusive interactive rights (such as activation animation effects, animation decorations, etc.) and exclusive identity (such as membership level) corresponding to the streamer. In some embodiments, after the viewer sends a virtual gift to the streamer, the corresponding gift animation effect may be displayed in the live stream corresponding to the streamer.
[0056] In some embodiments, a preset event may refer to a pre-set event that can trigger a target animation effect. In some embodiments, the preset event includes the viewer activating the exclusive service of the streamer corresponding to the live broadcast room, and / or the virtual gifts sent by the viewer to the streamer reaching a predetermined condition. In some embodiments, the virtual gifts reaching the predetermined condition may include at least one of the following: the number of virtual resources corresponding to the virtual gifts reaches a first quantity threshold; the number of virtual gifts sent consecutively within a predetermined time reaches a second quantity threshold; the cumulative number of virtual resources corresponding to the virtual gifts sent consecutively within a predetermined time reaches a third quantity threshold.
[0057] In some embodiments, the occurrence time of the preset event is determined based on the timestamp of the live video stream played in the live room, so as to avoid the problem of the live video clips, bullet screen information and target animation being out of sync in the natural time dimension due to network latency, and realize the alignment of live video clips, bullet screen information and target animation on a unified time axis.
[0058] In some embodiments, the server can listen to interactive events corresponding to various user behaviors in the live broadcast room and filter out the parts corresponding to preset events (such as gift-giving events, exclusive service activation events) and bullet screen events.
[0059] Step 220: Start the recording task with the occurrence time as the start time, and record a live video segment of a first preset duration and the bullet screen information in the live room. In some embodiments, step 220 can be implemented by the video recording module 920.
[0060] In some embodiments, the start time of the recording task corresponds to the occurrence time of a preset event, and the end time of the recording task corresponds to the occurrence time of the preset event plus a first preset duration. Figure 3 This is an exemplary block diagram illustrating a video recording method according to some embodiments of this specification. Figure 3As shown in the video recording diagram 300, a preset event occurs at time t of the live video stream timestamp. The recording task ends at the time corresponding to t + the first preset duration of the live video stream timestamp. For example, the first preset duration can be set to 15 seconds. Assuming that the preset event occurs at the 5th second of the live video stream timestamp (t=00:00:05), and the end time of the recording task is determined to be 00:00:20, the recording task records the live video segment and bullet screen information corresponding to the 5th to 20th seconds of the live video stream timestamp.
[0061] In some embodiments, the first preset duration can be set according to the display duration of the target animation after the preset event occurs and the reaction time of the anchor in response to the preset event (e.g., expressing gratitude). For example, assuming the display duration of the target animation is 5 seconds and the reaction time of the anchor in seeing the target animation and responding is 10 seconds, in order to record the complete interaction process between the audience and the anchor, the first preset duration can be set in the range of 15 to 18 seconds.
[0062] In some embodiments, the server pushes events and messages in real time to all clients in the live stream (including the broadcaster and viewers) during the live stream. This push mechanism is called broadcasting. The broadcast content can contain an event stream formed by real-time interactive events in the live stream, such as sending bullet comments or giving virtual gifts. The broadcast content can synchronize the interactive events triggered by one party's interaction to all parties in the live stream for simultaneous display. In some embodiments, the server can determine whether a preset event has occurred and its timing by listening to the broadcast. For example, such as... Figure 3 As shown, the recording task can record broadcast content simultaneously with recording live video clips. The recorded broadcast content can be a dataset of interactive events with timestamps (such as sending bullet comments, giving virtual gifts, and activating exclusive services). On one hand, since the server can promptly determine the occurrence of preset events by listening to broadcasts, it can trigger the recording task to start with low latency. Furthermore, there is no need to specifically record the target animation. By recording the animation information corresponding to the target animation (such as the animation identifier, the storage location of the animation file, the anchor identifier and audience identifier associated with the target animation), the target animation is displayed by default at the start of the recording task, thus achieving alignment of the target animation with the recorded live video clips and bullet comments on the timeline. On the other hand, by recording broadcast content, the timestamps of the bullet comment events included in the interactive events within the live room and the corresponding bullet comment information can be obtained. Recording the timestamps allows for alignment of the bullet comments with the recorded live video clips on the timeline.
[0063] In some embodiments, "bullet comments" can refer to user comment information streams and / or user interaction information streams floating in a specific area of the live video screen. In some embodiments, bullet comment information includes at least one of bullet comment text, bullet comment sending time, bullet comment style, and a first viewer identifier corresponding to the viewer who triggered the bullet comment sending. In some embodiments, bullet comment text can refer to the text content of the bullet comment sent by the viewer (e.g., user A sends a bullet comment: "The streamer is awesome!") and / or a text description of the viewer's interactive behavior (e.g., user B shared the live stream, user C sent a gift 1, user D activated the streamer's exclusive service, etc.). In some embodiments, the bullet comment sending time includes a relative time with respect to the start time of the recording task. For example, if the occurrence time of the preset event (the start time of the recording task) corresponds to the 5th second of the live video stream timestamp, and the bullet comment sending time corresponds to the 8th second of the live video stream timestamp, then the bullet comment sending time can be recorded as the 3rd second relative to the start time, so that the display time of the bullet comment can be determined according to the timestamp of the live video segment when replaying the live video segment based on the relative time, thereby restoring the timing of the bullet comment corresponding to the live scene in the live video segment. In some embodiments, the bullet screen style can be used to record the display effect of the corresponding bullet screen text, such as bullet screen 1 having a gradient effect, bullet screen 2 using an artistic font, etc. In some embodiments, the first viewer identifier can refer to the identifier of the viewer who sends text bullet screens and / or triggers the display of bullet screens through interactive behavior in the live broadcast room. In some embodiments, the first viewer identifier can include the viewer's user account on the live broadcast platform.
[0064] In some embodiments, the server can record corresponding live video segments from the live video stream uploaded by the broadcaster to the server based on the timestamps corresponding to the start and end times of the recording task. In some embodiments, the server can stitch together consecutive streaming media files from the live video stream into a complete live video segment. In some embodiments, the recording of a live video segment can use a video stream recorded by the broadcaster, and according to the timestamps corresponding to the start and end times of the recording task, the streaming media files corresponding to the video stream are written into a local video file before the live video stream is pushed, and then uploaded to the server after recording is completed.
[0065] In some embodiments, the recorded live video clips may be in newer video formats, such as AV1 (AOMedia Video 1) and HEVC (High Efficiency Video Coding). These new video formats may not be compatible with older terminal devices, causing playback failures. Therefore, the server can automatically transcode these new video formats into more compatible video formats, such as SDR (Standard Dynamic Range) and AVC (Advanced Video Coding), to avoid playback incompatibility issues during playback.
[0066] Step 230: Generate a resource identifier corresponding to the recording task, and store the live video segment, bullet screen information, and motion effect information corresponding to the target motion effect based on the resource identifier, so that when the recorded video is played back, the live video segment, bullet screen information, and target motion effect associated with the resource identifier are played synchronously. In some embodiments, step 230 can be implemented by the resource storage module 930.
[0067] In some embodiments, the server can automatically generate a unique resource identifier when the recording task starts, which is used to identify the live video segment, bullet screen information and animation information corresponding to the target animation in the recording task.
[0068] In some embodiments, the resource identifier is generated based on the live room identifier, start time, and random encoding corresponding to the live room. The live room identifier identifies the live room; in some embodiments, it can be the room number. The broadcaster who starts the live room has a broadcaster identifier; in some embodiments, it can be the broadcaster's user account on the live streaming platform, and the broadcaster identifier is associated with the live room identifier. In some embodiments, one broadcaster identifier can be associated with one or more live room identifiers. In some embodiments, the random encoding is a random character automatically generated by the server to prevent duplicate resource identifiers. In some embodiments, the resource identifier may also include a prefix, such as "recorded resource," to intuitively reflect the object identified by the resource identifier. In some embodiments, for recorded live video clips and bullet screen information, the files corresponding to the recorded live video clips and bullet screen information can be uniformly named using the corresponding resource identifier. Different file formats determine the specific file type; for example, resource identifier.txt can be used to represent bullet screen information files, resource identifier.mp4 can be used to represent the video content file of a live video clip, and resource identifier.acc can be used to represent the audio content file of a live video clip. Files named and stored using resource identifiers can be implemented by associating live video clips, bullet screen information, and motion effect information corresponding to the target motion effect based on resource identifiers. In some embodiments, the motion effect information of the target motion effect may include a motion effect identifier, which is used to distinguish different motion effect files. By establishing a relationship between resource identifiers and motion effect identifiers, the associated motion effect identifier can be obtained based on the resource identifier, and the corresponding motion effect file can be obtained for rendering the target motion effect. Associating and storing live video clips, bullet screen information, and motion effect information corresponding to the target motion effect with resource identifiers can ensure accurate matching when compositing video, bullet screen, and motion effect elements during video playback, avoiding resource misalignment or loss.
[0069] In some embodiments, the server-side database can maintain a temporary recording status list for managing resource identifiers. Each recording status list corresponds to a live streaming room. The recording status list can include a recording identifier field (e.g., a Rediskey) to mark the recording status of the live streaming room. The value of the recording identifier field can be "empty" or "resource identifier". When a recording task for a live streaming room starts, the resource identifier of this recording task is written to the recording status list as the value of the recording identifier field to notify the server that the live streaming room is recording and needs to collect bullet screen information. When the recording task ends, the corresponding resource identifier can be removed from the recording identifier field list to notify the server that it is no longer necessary to record bullet screen information. When all recording identifier fields in the recording status list are empty, this temporary recording status list can be deleted.
[0070] In some embodiments, since bullet comments are streaming data, the server can establish a resource identifier list to store the recorded bullet comment information long-term. This list associates each resource identifier with its corresponding bullet comment information. Because the recording time intervals of different recording tasks may overlap, the same bullet comment information may be associated with multiple resource identifiers. The bullet comment information recorded during recording is written to the resource identifier list. After recording, the server can read the resource identifiers and corresponding bullet comment information from the resource identifier list, store the recorded bullet comment information in a database according to a predetermined format (e.g., txt), and name the bullet comment information file with the resource identifier. Associating bullet comment information with resource identifiers during recording avoids errors in the bullet comment information.
[0071] In some embodiments, the start conditions for the recording task include: automatic triggering when a preset event is detected in the live broadcast room. In some embodiments, the broadcaster can set up automatic triggering of the recording task for the live broadcast room. In some embodiments, the server can quickly determine whether a preset event has occurred in the live broadcast room by listening to the broadcast content of the live broadcast room. When a preset event is detected in the live broadcast room, the recording task is automatically triggered without manual operation by the user.
[0072] In some embodiments, the conditions for starting a recording task include: pushing a recording reminder when a preset event is detected in the live stream, and triggering the task upon receiving a first recording request generated based on the recording reminder. In some embodiments, the broadcaster can set recording task reminders for the live stream. In some embodiments, the server can quickly determine whether a preset event has occurred in the live stream by listening to the broadcast content. When a preset event is detected, the server can push a recording reminder to the broadcaster and can set a quick recording entry in the recording reminder message. After receiving the recording reminder, if the broadcaster triggers the quick recording entry, the broadcaster generates a recording request upon receiving the broadcaster's trigger operation for the quick recording entry, and the server starts the recording task based on the recording request.
[0073] In some embodiments, the start conditions for a recording task include: triggering upon receiving a second recording request generated based on a recording control. In some embodiments, the broadcaster's client may display recording controls (such as a recording button or recording entry point) in a specific area (e.g., a corner or side of the broadcaster's user interface). The broadcaster's client generates a recording request upon receiving a trigger operation from the broadcaster on the recording control, and the server starts the recording task based on the recording request.
[0074] In some embodiments, the conditions for starting a recording task may be preset to include one or more of the above-described start conditions.
[0075] In some embodiments, the motion effect information includes at least one of the following: motion effect identifier, storage location of motion effect file, broadcaster identifier associated with the target motion effect, and second viewer identifier. In some embodiments, the motion effect identifier is used to distinguish different motion effects. In some embodiments, the storage location of motion effect file is used to indicate the storage of motion effect resources for the target motion effect. The motion effect file is the storage format of the motion effect resource, and the motion effect resource is the data used to implement the target motion effect (such as which motion effect elements are included, how the motion effect elements change, etc.). When a viewer triggers a preset event in the live broadcast room, the motion effect information of the target motion effect triggered by the preset event automatically records the second viewer identifier corresponding to the viewer who triggered the preset event and the broadcaster identifier corresponding to the broadcaster to which the live broadcast room belongs. In some embodiments, the broadcaster identifier can be used by the broadcaster to synchronously play the associated live video clip, bullet screen information, and the target motion effect associated with the broadcaster identifier based on the resource identifier when replaying the recorded video. In some embodiments, the second viewer identifier can be used by the viewer to synchronously play the associated live video clip, bullet screen information, and the target motion effect associated with the second viewer identifier based on the resource identifier when replaying the recorded video. In some embodiments, the second viewer identifier may include the user account of the viewer who triggered the preset event on the live broadcast platform.
[0076] In some embodiments, multiple preset events may occur within a short period of time. To avoid multiple preset events triggering repeated recordings, the recording tasks can be merged. In some embodiments, the video recording method may further include: sequentially dividing the timestamps of the live video stream played in the live room according to a second preset duration to obtain at least one time interval corresponding to the second preset duration. In some embodiments, the second preset duration can be determined by combining the occurrence interval of the preset events and the playback duration of the target animation. In some embodiments, the second preset duration can be set in the range of 2 seconds to 5 seconds. Figure 4 This is an exemplary flowchart illustrating a recording task merging process according to some embodiments of this specification. Figure 4 The process 400 shown can be executed by a processing device, for example, by... Figure 1 The server 110 shown is executed. In some embodiments, process 400 may be a further description of step 220. In some embodiments, process 400 may be implemented by a video recording module 920 in a video recording apparatus 900 deployed on a processing device. Figure 4 As shown, in some embodiments, process 400 may include the following steps.
[0077] Step 410: Start the recording task by taking the time of the first preset event that occurs within the time interval as the start time.
[0078] In some embodiments, the number of time intervals increases as the live video stream is continuously pushed. In some embodiments, the complete timestamp of the live video stream may not be a multiple of the second preset duration, so the last time interval may not reach the second preset duration.
[0079] In some embodiments, the first preset event occurring within a time interval may refer to a preset event occurring within that time interval, and where no other preset event occurs earlier than the preset event. In some embodiments, after starting the recording task with the occurrence time of the first preset event within the time interval as the start time, the recording task automatically records a live video segment and bullet screen information of a first preset duration according to the occurrence time of the first preset event. For details, please refer to [link to relevant documentation]. Figure 5 Explanation.
[0080] Step 420: For other preset events occurring within the same time interval, reuse the live video clips and bullet screen information recorded by the recording task.
[0081] In some embodiments, the merging of recording tasks can be referred to Figure 5 In the example, merging recording tasks can refer to multiple preset events occurring within the same time interval, where a recording task triggered by a later preset event can reuse the recording task triggered by the first preset event occurring within the same time interval. Figure 5 This is an exemplary block diagram illustrating a recording task merging method according to some embodiments of this specification. Figure 5As shown in some embodiments, the timestamp of the live video stream in the recording task merging diagram 500 is divided into four time intervals (time interval 1, time interval 2, time interval 3, and time interval 4) according to a second preset duration. The first preset event occurring in time interval 1 is preset event 1. The recording task 1 is started with the occurrence time of preset event 1 as the start time to automatically record the live video segment and bullet screen information for the first preset duration. The occurrence time of preset event 2 is in the same time interval 1 as preset event 1, so preset event 2 can reuse the live video segment and bullet screen information recorded by recording task 1 corresponding to preset event 1. Preset event 3 occurs in time interval 3 and is the first preset event occurring in time interval 3. Since the occurrence time of preset event 3 and preset event 1 do not belong to the same time interval, preset event 3 triggers the start of a new recording task 2 to automatically record the live video segment and bullet screen information for the first preset duration. The subsequent preset events 4 and 5 are in the same time interval 3 as preset event 3, so preset events 4 and 5 can reuse the live video segment and bullet screen information recorded by recording task 2. In some embodiments, when an existing recording task is reused, the recording duration of the recording task can be extended accordingly. For example, the recording duration of the recording task is extended by 1 second each time a recording task is reused.
[0082] In some embodiments, for live video clips and bullet screen information recorded in the case of merging recording tasks, the recorded live video clips, bullet screen information, and the animation information of the target animations corresponding to each preset event can be associated and stored through resource identifiers. During merging recording, different preset events can be triggered by different viewer terminals, and the target animations generated by different preset events can be applied to the same live room corresponding to the same broadcaster terminal. Since the animation information of each target animation includes animation identifier, broadcaster identifier, and second viewer identifier, when the broadcaster terminal plays back the merging recorded video, all target animations associated with the broadcaster identifier can be displayed. When a viewer terminal plays back the merging recorded video, only the target animations corresponding to the viewer identifier of that viewer terminal can be displayed. The target animations corresponding to the viewer identifiers of other viewer terminals associated with the merging recorded tasks are not displayed and can be simply displayed as bullet screen information.
[0083] In some embodiments, live video clips, bullet screen information, and target animations can be played overlaid with different layers during playback. Figure 6 This is an exemplary flowchart illustrating a video playback method according to some embodiments of this specification. In some embodiments, process 600 may be a further description of "live video segments associated with resource identifiers, bullet screen information, and target animations being played synchronously." Figure 6 As shown, in some embodiments, process 600 may include the following steps.
[0084] Step 610: Invoke the live video clip, bullet screen information, and target animation associated with the resource identifier.
[0085] In some embodiments, since the live video clips, bullet screen information, and target animation information are stored based on resource identifiers, for example, by using resource identifiers to name the storage files of the recording task as described above, or by establishing a mapping table between resource identifiers and the storage files of the recording task, the associated live video clips, bullet screen information, and target animations can be called through resource identifiers when playing back the recorded video.
[0086] Step 620: Based on different layers, the bullet screen information and target animation are dynamically rendered and overlaid with the live video clips for synchronized playback.
[0087] In some embodiments, the live video segment corresponds to an opaque background layer. The bullet screen information is dynamically rendered as a graphics layer and / or a text layer based on the bullet screen text, bullet screen sending time, and bullet screen style. The target animation is rendered as an overlay with transparent areas based on an animation file with an animation identifier. In some embodiments, the target animation is rendered by default when the live video segment begins playing. In some embodiments, each bullet screen in the bullet screen information records its corresponding bullet screen sending time. Since the bullet screen sending time can include a relative time with respect to the start time of the recording task (i.e., the start time of the live video segment), as the live video segment plays, each bullet screen can determine its display time based on the start time of the recording task and the relative time, thereby rendering and displaying it at the appropriate time to reproduce the effect of the live broadcast.
[0088] In some embodiments, this specification also provides a video playback method. Figure 7 This is an exemplary flowchart illustrating another video playback method according to some embodiments of this specification. Figure 7 The process 700 shown can be executed by a terminal device, for example, by... Figure 1 The broadcaster's terminal 120 and / or the viewer's terminal 130 shown are executed. In some embodiments, process 700 can be implemented by a video playback device 1000 deployed on a terminal device, which may include an entry display module 1010 and a video playback module 1020. Figure 7 As shown, in some embodiments, process 700 may include the following steps.
[0089] Step 710: After the recording task triggered by the preset event occurring in the live broadcast room is completed, the playback entry for the recorded video is displayed. In some embodiments, step 710 can be implemented by the entry display module 1010.
[0090] In some embodiments, after a recording task is completed, a playback entry for the recorded video can be displayed in a preset area on the broadcaster's and / or viewer's end. In some embodiments, the preset area may include a preset area in a webpage, or a preset area or button in a graphical interface. In some embodiments, the playback entry may be the cover image and / or playback controls of the recorded video. In some embodiments, the playback entry may be generated after the broadcaster's and / or viewer's end receives a recording completion notification from the server.
[0091] The preset events include interactive events that trigger the playback of the target animation. The recording task is used to record a first preset duration of live video clips and bullet comments within the live stream, starting from the occurrence time of the preset events. The live video clips, bullet comments, and animation information of the target animation are stored in association based on resource identifiers, which correspond to the recording task. For a detailed explanation of this step, please refer to the preceding text. Figures 2 to 5 The relevant explanations will not be repeated here.
[0092] Step 720: In response to a playback command triggered based on the playback entry, the live video clip, bullet screen information, and target animation associated with the resource identifier are played synchronously. In some embodiments, step 720 can be implemented by the video playback module 1020.
[0093] In some embodiments, when a user triggers a playback entry (e.g., clicks on the cover of a recorded video or triggers a playback control), the broadcaster and / or viewer can generate a playback instruction corresponding to the recorded video.
[0094] In some embodiments, the replay entry point can be linked to the storage address of the live video clip associated with the resource identifier, the storage address of the bullet screen information, and the storage address of the target animation information. After the broadcaster and / or viewer obtain and load the resources of the live video clip, bullet screen, and target animation through the storage address, they can play the live video clip, bullet screen information, and target animation simultaneously to restore the effect during the live broadcast. In some embodiments, when the replay entry point is triggered, the broadcaster and / or viewer can generate a corresponding replay request and send it to the server. After receiving the replay request, the server can call the associated live video clip, bullet screen information, and target animation based on the resource identifier to synthesize and record a video, and send the synthesized recorded video to the requesting broadcaster and / or viewer for playback.
[0095] Figure 8 This is an exemplary architecture diagram of video recording and playback according to some embodiments of this specification. Figure 8As shown, for example, architecture 800 includes a live recording scenario and a replay scenario. In the live recording scenario, viewer behavior can include actions such as gifting virtual gifts and activating exclusive services. Viewer behavior may trigger preset events (such as a gift-giving event corresponding to gifting virtual gifts, a service activation event corresponding to activating exclusive services, etc.). The animation information of the target animation corresponding to the preset event will be recorded. Additionally, the viewer's act of sending bullet comments may also trigger bullet comment events, and real-time bullet comment information will also be recorded. For preset events, a recording reminder or automatic recording can be triggered when the preset event occurs, depending on the settings. When automatic recording is triggered or the broadcaster manually triggers recording based on the recording reminder, the recording task starts, automatically recording live video segments and animation information corresponding to the preset event. Simultaneously, bullet comment recording is triggered, recording real-time bullet comments, ultimately obtaining the target animation corresponding to the animation information, the live video segment recorded according to the first preset duration, and the bullet comment information. In the replay scenario, user behavior includes the behavior of triggering the replay entry on the viewer's end and / or the broadcaster's end. During replay, the recorded live video clips are played, and the target animation corresponding to the recorded animation information and the real-time bullet comments corresponding to the rendered bullet comments are rendered synchronously and superimposed on the recorded live video clips.
[0096] This manual also provides a video recording device. Figure 9 This is an exemplary block diagram of a video recording apparatus according to some embodiments of this specification. In some embodiments, the video recording apparatus 900 may be deployed on server 110. Figure 9 As shown, in some embodiments, the video recording device 900 may include a time acquisition module 910, a video recording module 920, and a resource storage module 930.
[0097] In some embodiments, the time acquisition module 910 can be used to acquire the occurrence time corresponding to a preset event in response to a preset event occurring in the live broadcast room. The preset event includes an interactive event that triggers the playback of a target animation effect.
[0098] In some embodiments, the video recording module 920 can be used to start a recording task with the occurrence time of a preset event as the start time, and record a live video segment of a first preset duration and bullet screen information in the live room.
[0099] In some embodiments, the timestamp of the live video stream played in the live room is divided into at least one time interval corresponding to the second preset duration according to the second preset duration. The video recording module 920 can also be used to start the recording task with the occurrence time of the first preset event that occurs within the time interval as the start time; for other preset events that occur within the same time interval, the live video segments and bullet screen information recorded by the recording task are reused.
[0100] In some embodiments, the resource storage module 930 is used to generate a resource identifier corresponding to the recording task, and to store live video segments, bullet screen information, and motion effect information corresponding to the target motion effect based on the resource identifier, so that when the recorded video is played back, the live video segments, bullet screen information, and target motion effect associated with the resource identifier are played synchronously.
[0101] This specification also provides a video playback device. Figure 10 This is an exemplary block diagram of a video playback apparatus according to some embodiments of this specification. In some embodiments, the video playback apparatus 1000 may be deployed at the broadcaster end 120 and / or the viewer end 130. Figure 10 As shown, in some embodiments, the video playback device 1000 may include an entry display module 1010 and a video playback module 1020.
[0102] In some embodiments, the entry display module 1010 can be used to display a playback entry for the recorded video after a recording task triggered by a preset event occurring in the live streaming room is completed. The preset event includes an interactive event that triggers the playback of a target animation. The recording task is used to record a live video segment of a first preset duration and bullet comments within the live streaming room, starting at the occurrence time of the preset event. The live video segment, bullet comments, and animation information of the target animation are stored in association based on resource identifiers, with each resource identifier corresponding to a recording task.
[0103] In some embodiments, the video playback module 1020 can be used to synchronously play live video clips, bullet screen information and target animations associated with resource identifiers in response to a playback command triggered based on a playback entry.
[0104] In some embodiments, the live video segment corresponds to an opaque background layer, and the bullet screen information is dynamically rendered into a graphics layer and / or a text layer based on the bullet screen text, bullet screen sending time, and bullet screen style. The target animation effect is rendered into an overlay layer with a transparent area based on an animation effect file with an animation effect identifier. The video playback module 1020 can also be used to call the live video segment, bullet screen information, and target animation effect associated with the resource identifier; dynamically render the bullet screen information and target animation effect based on different layers, and overlay them with the live video segment for synchronized playback.
[0105] This manual also provides a video recording system. Figure 11 This is an exemplary block diagram of a video recording system according to some embodiments of this specification. Figure 11As shown, the video recording system 1100 includes a server 1110 and a client 1120, where the client 1120 includes at least a broadcaster client 1130 and / or a viewer client 1140. In some embodiments, the server 1110 may be the server 110 in application scenario 100, the broadcaster client 1130 may be the broadcaster client 120 in application scenario 100, and the viewer client 1140 may be the viewer client 130 in application scenario 100. In some embodiments, the broadcaster client 1130 and the viewer client 1140 are functionally independent. In some embodiments, the broadcaster client 1130 and the viewer client 1140 may be implemented with independent functions by different terminals. In some embodiments, the broadcaster client 1130 and the viewer client 1140 may be implemented by the same terminal, that is, one terminal can be used as both the broadcaster client 1130 and the viewer client 1140.
[0106] In some embodiments, server 1110 can be used to respond to a preset event occurring in the live broadcast room, obtain the occurrence time corresponding to the preset event; the preset event includes an interactive event that triggers the playback of the target animation; start a recording task with the occurrence time as the start time, and record a live video segment of a first preset duration and bullet screen information in the live broadcast room; generate a resource identifier corresponding to the recording task, and store the live video segment, bullet screen information, and animation information corresponding to the target animation based on the resource identifier.
[0107] In some embodiments, client 1120 can be used to display a playback entry for the recorded video after the recording task is completed; and in response to a playback instruction triggered based on the playback entry, synchronously play live video clips, bullet screen information, and target animations associated with resource identifiers.
[0108] For more information on each module, please refer to [link / reference]. Figures 2 to 8 The relevant explanations will not be repeated here. It should be understood that... Figures 9 to 11The systems and modules shown can be implemented in various ways. For example, in some embodiments, the systems and modules can be implemented by hardware, software, or a combination of both. The hardware portion can be implemented using dedicated logic; the software portion can be stored in memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated-design hardware. Those skilled in the art will understand that the methods and systems described above can be implemented using computer-executable instructions and / or included in the control code of a processor, such as on a media such as a disk, CD, or DVD-ROM, or in the memory of a programmable device. The systems and modules of this specification can be implemented not only by hardware circuits such as very large-scale integrated circuits or gate arrays, semiconductors such as logic chips and transistors, or programmable hardware devices such as field-programmable gate arrays and programmable logic devices, but also by software, for example, executed by various types of processors, or by a combination of the aforementioned hardware circuits and software (e.g., firmware).
[0109] It should be noted that the above description of the system and its modules is for convenience only and should not be construed as limiting this specification to the embodiments described. It is understood that those skilled in the art, after understanding the principles of this system, may arbitrarily combine the various modules without departing from these principles to form subsystems connected to other modules. Alternatively, some modules may be split to obtain more modules or multiple units under a single module. Such modifications are all within the scope of this specification.
[0110] Some embodiments of this specification also provide a computer device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it can implement this specification. Figures 2 to 8 The video recording method and / or video playback method shown.
[0111] Some embodiments of this specification also provide a computer-readable storage medium storing computer instructions that, when executed by a processor, can implement this specification. Figures 2 to 8 The video recording method and / or video playback method shown.
[0112] Some embodiments of this specification also provide a computer program product, including a computer program that, when at least a portion of the computer program is executed by a processor, can implement this specification. Figures 2 to 8The video recording and / or video playback methods are illustrated. In some embodiments, the computer program product may refer only to a computer program, which may be carried on a storage medium or processing device. In other embodiments, the computer program product may also be a storage medium or processing device containing the aforementioned computer program. The processing device may include one or more processors, and the storage medium.
[0113] In some embodiments, the processor may be a combination of one or more of the following processors: central processing unit (CPU), application-specific integrated circuit (ASIC), application-specific instruction set processor (ASIP), graphics processing unit (GPU), physical processing unit (PPU), digital signal processor (DSP), field-programmable gate array (FPGA), programmable logic device (PLD), programmable logic controller (PLC), reduced instruction set computer (RISC), and microprocessor.
[0114] In some embodiments, the storage medium may include one or more combinations of the following: mass storage, removable storage, volatile read-write memory, and read-only memory (ROM). Exemplary mass storage may include disks, optical disks, solid-state drives, etc. Exemplary removable storage may include flash drives, floppy disks, optical disks, memory cards, compressed hard disks, magnetic tapes, etc. Exemplary volatile read-write memory may include random access memory (RAM). Exemplary RAM may include dynamic random access memory (DRAM), dual data rate synchronous dynamic random access memory (DDRSDRAM), static random access memory (SRAM), silicon controlled retrieval memory (T-RAM), and zero-capacitance memory (Z-RAM), etc. Exemplary read-only memory may include masked read-only memory (MROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), compressed hard disk read-only memory (CD-ROM), and digital multifunction hard disk read-only memory, etc.
[0115] The basic concepts have been described above. It is obvious that the detailed disclosure above is merely illustrative and does not constitute a limitation of this specification. Although not explicitly stated herein, various modifications, improvements, and corrections may be made to this specification by those skilled in the art. Such modifications, improvements, and corrections are taught in this specification and therefore remain within the spirit and scope of the exemplary embodiments described herein.
Claims
1. A video recording method, characterized in that, The method includes: In response to a preset event occurring in the live stream, the occurrence time corresponding to the preset event is obtained; the preset event includes an interactive event that triggers the playback of a target animation effect; The recording task is started with the occurrence time as the start time, and a live video segment of the first preset duration and the bullet screen information in the live room are recorded. A resource identifier corresponding to the recording task is generated, and the live video segment, the bullet screen information, and the motion effect information corresponding to the target motion effect are associated and stored based on the resource identifier, so that when the recorded video is played back, the live video segment, the bullet screen information, and the target motion effect associated with the resource identifier are played synchronously.
2. The method according to claim 1, characterized in that, The occurrence time of the preset event is determined based on the timestamp of the live video stream played in the live room.
3. The method according to claim 1 or 2, characterized in that, The conditions for starting the recording task include at least one of the following: Automatically triggered when the preset event is detected in the live stream room; When the preset event is detected in the live broadcast room, a recording reminder is pushed, and the recording is triggered when a first recording request generated based on the recording reminder is received. Triggered when a second recording request generated based on the recording control is received.
4. The method according to claim 3, characterized in that, The target animation effects include the animation effects of virtual gifts sent from the viewer's end to the streamer's end, and / or the animation effects of the viewer's end activating the streamer's exclusive service; The preset events include the viewer's terminal activating the exclusive service of the streamer's terminal corresponding to the live broadcast room, and / or the virtual gifts sent by the viewer's terminal to the streamer's terminal reaching predetermined conditions.
5. The method according to any one of claims 1 to 4, characterized in that, The bullet screen information includes at least one of the following: bullet screen text, bullet screen sending time, bullet screen style, and first audience identifier corresponding to the audience that triggered the bullet screen sending; the bullet screen sending time includes a relative time relative to the start time; The motion effect information includes at least one of the following: motion effect identifier, storage location of motion effect file, anchor identifier associated with the target motion effect, and second viewer identifier; the anchor identifier is used by the anchor to play back the recorded video, and based on the resource identifier, the associated live video segment, the bullet screen information, and the target motion effect associated with the anchor identifier are played synchronously. The second viewer identifier is used when the viewer plays back the recorded video, and the associated live video segment, the bullet screen information, and the target animation associated with the second viewer identifier are called and played synchronously based on the resource identifier.
6. The method according to claim 5, characterized in that, The live video segment corresponds to an opaque background layer, the bullet screen information is dynamically rendered into a graphic layer and / or a text layer based on the bullet screen text, the bullet screen sending time, and the bullet screen style, and the target animation effect is rendered into an overlay layer with a transparent area based on the animation effect file with the animation effect identifier. The live video segment associated with the resource identifier, the bullet screen information, and the target animation are played synchronously, including: Invoke the live video segment, the bullet screen information, and the target animation associated with the resource identifier; Based on different layers, the bullet screen information and the target animation are dynamically rendered and overlaid with the live video clip for synchronized playback.
7. The method according to claim 5, characterized in that, The method further includes: The timestamps of the live video stream played in the live room are divided sequentially according to the second preset duration to obtain at least one time interval corresponding to the second preset duration; The step of starting the recording task with the occurrence time as the start time and recording a live video segment of a first preset duration and the bullet screen information in the live room includes: starting the recording task with the occurrence time of the first preset event occurring within the time interval as the start time; For other preset events occurring within the same time interval, the live video clips and bullet screen information recorded by the recording task are reused.
8. The method according to any one of claims 1 to 7, characterized in that, The resource identifier is generated based on the live room identifier corresponding to the live room, the start time, and a random code.
9. A video playback method, characterized in that, The method includes: After the recording task triggered by a preset event occurring in the live stream is completed, a playback entry for the recorded video is displayed. The preset event includes an interactive event that triggers the playback of a target animation. The recording task is used to record a live video segment of a first preset duration and the bullet screen information in the live stream, with the occurrence time of the preset event as the start time. The live video segment, the bullet screen information, and the animation information of the target animation are stored in association based on resource identifiers, and the resource identifiers correspond to the recording task. In response to a playback command triggered based on the playback entry, the live video segment associated with the resource identifier, the bullet screen information, and the target animation are played synchronously.
10. A video recording device, characterized in that, The device includes: The time acquisition module is used to respond to a preset event occurring in the live broadcast room and acquire the occurrence time corresponding to the preset event; the preset event includes an interactive event that triggers the playback of a target animation effect; The video recording module is used to start a recording task with the occurrence time as the start time, and record a live video segment of a first preset duration in the live room and the bullet screen information in the live room; The resource storage module is used to generate a resource identifier corresponding to the recording task, and to store the live video segment, the bullet screen information, and the motion effect information corresponding to the target motion effect based on the resource identifier, so that when the recorded video is played back, the live video segment, the bullet screen information, and the target motion effect associated with the resource identifier are played synchronously.
11. A video playback device, characterized in that, The device includes: An entry display module is used to display a playback entry for the recorded video after a recording task triggered by a preset event occurring in the live stream is completed. The preset event includes an interactive event that triggers the playback of a target animation. The recording task is used to record a live video segment of a first preset duration and the bullet comments within the live stream, starting at the occurrence time of the preset event. The live video segment, the bullet comments, and the animation information of the target animation are stored in association based on resource identifiers, which correspond to the recording task. The video playback module is used to respond to a playback command triggered based on the playback entry point, and synchronously play the live video segment associated with the resource identifier, the bullet screen information, and the target animation.
12. A video recording system, characterized in that, The system includes a server and a client, and the client includes at least a broadcaster's client and / or a viewer's client; The server is used to respond to a preset event occurring in the live broadcast room and obtain the occurrence time corresponding to the preset event; The preset events include interactive events that trigger the playback of the target animation; The recording task is started with the occurrence time as the start time, and a live video segment of the first preset duration and the bullet screen information in the live room are recorded. Generate a resource identifier corresponding to the recording task, and store the live video segment, the bullet screen information, and the animation information corresponding to the target animation based on the resource identifier; The client is used to display a playback entry for the recorded video after the recording task is completed; In response to a playback command triggered based on the playback entry, the live video segment associated with the resource identifier, the bullet screen information, and the target animation are played synchronously.
13. A computer device, characterized in that, The computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, it is able to implement the method as described in any one of claims 1 to 9.
14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed by a processor, enable the implementation of the method as described in any one of claims 1 to 9.
15. A computer program product, characterized in that, It includes a computer program that, when at least a portion of the computer program is executed by a processor, enables the implementation of the method as described in any one of claims 1 to 9.