Bullet screen control method and device, equipment, readable storage medium and program product
By acquiring and transmitting vector-image-format bullet screen data from the first device to the second device, the problem of poor bullet screen control smoothness in screen projection scenarios is solved, resulting in smoother bullet screen display and simplified interactive operation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- MIGU VIDEO TECH CO LTD
- Filing Date
- 2024-07-10
- Publication Date
- 2026-04-28
AI Technical Summary
The existing screen mirroring scheme has poor smoothness, which makes the calculation and drawing tasks of the second screen mirroring device heavy, and may cause lag and screen unsmoothness.
The first device acquires the bullet screen data and sends it to the second device, reducing the computation and drawing tasks of the second device. The bullet screen data is transmitted in vector form, including the bullet screen content and display style, and the bullet screen animation is generated and displayed on the second device.
It improves the smoothness of bullet screen playback, reduces the background pressure on the second device, simplifies the interaction process, and enhances the user experience and the efficiency of bullet screen control.
Smart Images

Figure CN119011925B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to a bullet screen control method, apparatus, device, readable storage medium, and program product. Background Technology
[0002] Currently, the bullet screen control scheme in screen mirroring scenarios is implemented by a first screen mirroring device (such as a smart terminal device) and a second screen mirroring device (such as a large screen, irregularly shaped screen, or mid-to-low-end device). However, if the user needs to adjust the display effect of the bullet screen on the second screen mirroring device, they need to use the remote control of the second screen mirroring device to select the bullet screen settings options to adjust the bullet screen. The entire collision detection calculation logic and drawing method for the bullet screen are completed by the second screen mirroring device. This results in the second screen mirroring device undertaking a large number of calculation and drawing tasks, consuming a significant amount of CPU (Central Processing Unit) and GPU (Graphics Processing Unit) resources, which may lead to bullet screen stuttering or even screen unplayability.
[0003] As shown above, existing bullet screen control schemes suffer from problems such as poor smoothness. Summary of the Invention
[0004] The purpose of this invention is to provide a bullet screen control method, device, equipment, readable storage medium, and program product to solve the problem of poor smoothness in existing bullet screen control schemes.
[0005] To address the aforementioned technical problems, embodiments of the present invention provide a bullet screen control method, applied to a first device, comprising:
[0006] Acquire bullet screen data, wherein the bullet screen data includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style;
[0007] The bullet screen data is sent to a second device, which is a device used to play the multimedia data projected from the first device.
[0008] In this embodiment of the invention, obtaining the bullet screen display trajectory includes:
[0009] Obtain at least one of the following: the start position of the bullet screen display, the start time of the bullet screen display, and the end time of the bullet screen display;
[0010] The bullet screen display trajectory is obtained based on at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time.
[0011] In this embodiment of the invention, obtaining the start position of the bullet screen display includes:
[0012] Based on the bullet screen area size information of the second device, obtain the simulated bullet screen display area;
[0013] Based on the simulated area for displaying bullet comments, obtain the horizontal and vertical start positions of the bullet comment display.
[0014] The starting position for displaying the bullet comments is obtained based on the horizontal and vertical starting positions.
[0015] In this embodiment of the invention, obtaining the horizontal and vertical start positions of the bullet screen display based on the simulated bullet screen display area includes:
[0016] Determine the first horizontal and first vertical coordinates of the bullet screen in the bullet screen display simulation area;
[0017] Based on the first horizontal coordinate, determine the edge horizontal coordinate of the bullet screen area of the second device, and use the edge horizontal coordinate as the horizontal starting position of the bullet screen display;
[0018] Based on the first vertical coordinate and the index information of the bullet comments, the vertical coordinate of the display track where the bullet comments are located is obtained, and the vertical starting position of the bullet comments display is obtained based on the vertical coordinate.
[0019] This invention also provides a bullet screen control method, applied to a second device, comprising:
[0020] Receive bullet screen data sent by a first device; the bullet screen data includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style;
[0021] The bullet comments are displayed based on the aforementioned bullet comment data.
[0022] In this embodiment of the invention, the step of displaying bullet comments based on the bullet comment data includes:
[0023] Based on the first information and the playback time information of the multimedia data projected by the first device, a vector image to be displayed is generated;
[0024] Based on the vector image and the bullet screen display trajectory, a bullet screen animation is generated and displayed.
[0025] In this embodiment of the invention, generating the bullet screen animation based on the vector image and the bullet screen display trajectory includes:
[0026] Based on the bullet screen display trajectory, determine at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time;
[0027] A bullet screen animation is generated based on at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time, as well as the vector image.
[0028] This invention also provides a bullet screen control device, applied to a first device, comprising:
[0029] The first acquisition module is used to acquire bullet screen data, the bullet screen data including at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style.
[0030] The first sending module is used to send the bullet screen data to the second device, which is a device used to play the multimedia data projected from the first device.
[0031] In this embodiment of the invention, obtaining the bullet screen display trajectory includes:
[0032] Obtain at least one of the following: the start position of the bullet screen display, the start time of the bullet screen display, and the end time of the bullet screen display;
[0033] The bullet screen display trajectory is obtained based on at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time.
[0034] In this embodiment of the invention, obtaining the start position of the bullet screen display includes:
[0035] Based on the bullet screen area size information of the second device, obtain the simulated bullet screen display area;
[0036] Based on the simulated area for displaying bullet comments, obtain the horizontal and vertical start positions of the bullet comment display.
[0037] The starting position for displaying the bullet comments is obtained based on the horizontal and vertical starting positions.
[0038] In this embodiment of the invention, obtaining the horizontal and vertical start positions of the bullet screen display based on the simulated bullet screen display area includes:
[0039] Determine the first horizontal and first vertical coordinates of the bullet screen in the bullet screen display simulation area;
[0040] Based on the first horizontal coordinate, determine the edge horizontal coordinate of the bullet screen area of the second device, and use the edge horizontal coordinate as the horizontal starting position of the bullet screen display;
[0041] Based on the first vertical coordinate and the index information of the bullet comments, the vertical coordinate of the display track where the bullet comments are located is obtained, and the vertical starting position of the bullet comments display is obtained based on the vertical coordinate.
[0042] This invention also provides a bullet screen control device, applied to a second device, comprising:
[0043] A first receiving module is configured to receive bullet screen data sent by a first device; the bullet screen data includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style;
[0044] The first display module is used to display bullet comments based on the bullet comment data.
[0045] In this embodiment of the invention, the step of displaying bullet comments based on the bullet comment data includes:
[0046] Based on the first information and the playback time information of the multimedia data projected by the first device, a vector image to be displayed is generated;
[0047] Based on the vector image and the bullet screen display trajectory, a bullet screen animation is generated and displayed.
[0048] In this embodiment of the invention, generating the bullet screen animation based on the vector image and the bullet screen display trajectory includes:
[0049] Based on the bullet screen display trajectory, determine at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time;
[0050] A bullet screen animation is generated based on at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time, as well as the vector image.
[0051] This invention also provides a bullet screen control device, including a memory, a processor, and a program stored in the memory and executable on the processor; when the processor executes the program, it implements the above-described bullet screen control method.
[0052] This invention also provides a readable storage medium storing a program that, when executed by a processor, implements the steps in the above-described bullet screen control method.
[0053] This invention also provides a computer program product, including computer instructions, which, when executed by a processor, implement the steps of the above-described bullet screen control method.
[0054] The beneficial effects of the above-described technical solution of the present invention are as follows:
[0055] In the above solution, the bullet screen control method acquires bullet screen data, which includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style; and sends the bullet screen data to a second device, which is a device used to play multimedia data projected from the first device; it can support the transmission of bullet screen data from the first device to the second device, avoiding the need to perform related acquisition operations on the second device, thereby reducing the background pressure on the second device, making the bullet screen content presented by the second device smoother, improving the smoothness of bullet screen playback, and thus solving the problem of poor smoothness in existing bullet screen control solutions. Attached Figure Description
[0056] Figure 1 This is a flowchart illustrating the bullet screen control method according to an embodiment of the present invention. Figure 1 ;
[0057] Figure 2 This is a flowchart illustrating the bullet screen control method according to an embodiment of the present invention. Figure 2 ;
[0058] Figure 3 This is a schematic diagram illustrating the specific implementation process of the bullet screen control method according to an embodiment of the present invention;
[0059] Figure 4 This is a schematic diagram of the structure of the bullet screen control device according to an embodiment of the present invention. Figure 1 ;
[0060] Figure 5 This is a schematic diagram of the structure of the bullet screen control device according to an embodiment of the present invention. Figure 2 . Detailed Implementation
[0061] To make the technical problems, technical solutions and advantages of the present invention clearer, a detailed description will be given below in conjunction with the accompanying drawings and specific embodiments.
[0062] This invention addresses the issue of poor smoothness in existing bullet screen control schemes by providing a bullet screen control method applicable to a first device, such as... Figure 1 As shown, it includes:
[0063] Step 11: Obtain bullet screen data, wherein the bullet screen data includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style;
[0064] The display style may include at least one of the following: bullet screen style and display method; the bullet screen style may include at least one of the following: bullet screen font and bullet screen font type; but is not limited thereto.
[0065] In addition, the first information can be presented in the form of a vector graphic or a form, etc. In the form of a vector graphic, the first information can be called a bullet screen vector graphic, that is, a vector graphic for bullet screens. Among them, a vector graphic, also known as an object-oriented image or drawing image, is mathematically defined as a series of lines connected by points. Vector graphics are drawn according to geometric characteristics, and a vector can be a point or a line. Vector graphics will not be distorted after being enlarged, and are independent of resolution.
[0066] Among them, the bullet screen vector graphics can be Scalable Vector Graphics (SVG) vector graphics, but are not limited to this.
[0067] Step 12: Send the bullet screen data to the second device, which is a device used to play the multimedia data projected from the first device.
[0068] The first device can be understood as the screen projection sending end, and the second device can be understood as the screen projection receiving end.
[0069] The bullet screen control method provided in this embodiment of the invention acquires bullet screen data, which includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style; and sends the bullet screen data to a second device, the second device being a device used to play multimedia data projected from the first device. This method supports the transmission of bullet screen data from the first device to the second device, avoiding the need for related acquisition operations on the second device, thereby reducing the background load on the second device and making the bullet screen content presented on the second device smoother, thus improving the smoothness of bullet screen playback and solving the problem of poor smoothness in existing bullet screen control schemes. Furthermore, it also supports users to freely adjust bullet screen styles and display methods on the first device, simplifying control operations and reducing the complexity of the interaction process; thus solving the problem of complex interaction processes in existing bullet screen control schemes.
[0070] The process of obtaining the bullet screen display trajectory includes: obtaining at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time; and obtaining the bullet screen display trajectory based on at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time. This allows for accurate acquisition of the bullet screen display trajectory, which can also be referred to as bullet screen display trajectory information.
[0071] In this embodiment of the invention, obtaining the starting position of the bullet screen display includes: obtaining a simulated bullet screen display area based on the bullet screen area size information of the second device; obtaining the horizontal and vertical starting positions of the bullet screen display based on the simulated bullet screen display area; and obtaining the starting position of the bullet screen display based on the horizontal and vertical starting positions. This allows for accurate determination of the starting position of the bullet screen display.
[0072] The step of obtaining the horizontal and vertical start positions of the bullet screen display based on the simulated bullet screen display area includes: determining the first horizontal and first vertical coordinates of the bullet screen in the simulated bullet screen display area; determining the edge horizontal coordinate of the bullet screen area of the second device based on the first horizontal coordinate, and using the edge horizontal coordinate as the horizontal start position of the bullet screen display; obtaining the vertical coordinate of the display track where the bullet screen is located based on the first vertical coordinate and the index information of the bullet screen, and obtaining the vertical start position of the bullet screen display based on the vertical coordinate. This allows for accurate determination of the horizontal and vertical start positions. The display track can be a division of the bullet screen display area of the second device, but is not limited to this.
[0073] In this embodiment of the invention, obtaining the start time of the bullet screen display includes: determining a first moment based on the start time, display length, and display speed of the previous bullet screen display; and determining the start time of the bullet screen display based on the first moment and a reference time for bullet screen display. This allows for accurate determination of the start time of the bullet screen display, avoiding display collisions between bullet screens. The reference time for bullet screen display can be the display time information of the bullet screen relative to the multimedia data obtained by the first device, such as starting to display at the 3rd minute of the video, but is not limited to this.
[0074] The process of obtaining the end time of the bullet screen display includes: determining the end time of the bullet screen display based on the start time of the bullet screen display, the width of the bullet screen area on the second device, and the bullet screen display speed. This ensures an accurate determination of the end time of the bullet screen display.
[0075] In this embodiment of the invention, obtaining the first information includes: determining the content and style information of the bullet comments (which may correspond to the display style described above); and generating the first information based on the content and style information of the bullet comments. This allows for accurate acquisition of the first information.
[0076] Furthermore, the bullet screen control method further includes: determining a first time period after the current playback time or including the current playback time based on the playback time information of the multimedia data; acquiring at least one bullet screen to be displayed within the first time period; or, receiving a bullet screen request sent by a second device; determining a second time period after the current playback time or including the current playback time based on the bullet screen request; acquiring at least one bullet screen to be displayed within the second time period; the acquisition of bullet screen data includes: acquiring bullet screen data based on the at least one bullet screen. This allows for accurate acquisition of bullet screens to support the acquisition of bullet screen data. The at least one bullet screen is sorted according to the time information of the multimedia data; it can be understood that the at least one bullet screen is sorted according to the release time relative to the time information of the multimedia data, but is not limited to this.
[0077] In this embodiment of the invention, the bullet screen control method further includes: updating the bullet screen data according to bullet screen control information; and sending the updated bullet screen data to the second device; wherein the bullet screen control information may include: bullet screen font size. This allows for updating bullet screen data according to user needs. The bullet screen control information can be user-inputted, and the input method can be manual, voice, etc., which are not limited here.
[0078] This invention also provides a bullet screen control method, applied to a second device, such as... Figure 2 As shown, it includes:
[0079] Step 21: Receive bullet screen data sent by the first device; the bullet screen data includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style;
[0080] Step 22: Display the bullet comments based on the bullet comment data.
[0081] The bullet screen control method provided in this embodiment of the invention receives bullet screen data sent by a first device; the bullet screen data includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style; and displays bullet screens based on the bullet screen data. This method supports the transmission of bullet screen data from the first device to a second device, avoiding the need for related acquisition operations on the second device, thereby reducing the background load on the second device and making the bullet screen content presented by the second device smoother, thus improving the smoothness of bullet screen playback and solving the problem of poor smoothness in existing bullet screen control schemes. Furthermore, it also supports users to freely adjust bullet screen styles and display methods on the first device, simplifying control operations and reducing the complexity of the interaction process; thus solving the problem of complex interaction processes in existing bullet screen control schemes.
[0082] The step of displaying bullet comments based on the bullet comment data includes: generating a vector image to be displayed based on the first information and the playback time information of the multimedia data projected from the first device; generating a bullet comment animation based on the vector image and the bullet comment display trajectory, and displaying the bullet comment animation. This provides a concrete solution for displaying bullet comments.
[0083] In this embodiment of the invention, generating a bullet screen animation based on the vector image and the bullet screen display trajectory includes: determining at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time based on the bullet screen display trajectory; and generating the bullet screen animation based on at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time, and the vector image. This ensures accurate bullet screen animation. The start and end positions of the bullet screen animation can be at the same height relative to the bullet screen display area of the second device. For example, the start position is at the right edge with a vertical coordinate of Y1, and the end position is at the left edge with a vertical coordinate of Y1. The vertical coordinate can be set relative to the bullet screen display area of the second device and is not limited here. The animation duration can be from the bullet screen display start time to the bullet screen display end time.
[0084] Furthermore, the bullet screen control method further includes: in a first case, sending a bullet screen request to the first device; wherein the first case includes at least one of the following: (1) the current bullet screen cache duration is less than a first threshold; (2) the playback progress of the multimedia data projected by the first device is updated and the current bullet screen cache duration is less than a second threshold; (3) the playback progress of the multimedia data projected by the first device is updated and the current bullet screen cache is cleared. This can trigger the first device to obtain bullet screens. The bullet screen request may carry relevant information about the target time period so that the first device can feed back the bullet screen data corresponding to the target time period; the relevant information about the target time period may include: start time and duration, or start time and end time, etc., which are not limited here. In addition, the first situation may also include: item (4), for example: the current playback time is less than the start time of the last bullet screen in the cache when the bullet screen is displayed for a first duration; and / or item (5), for example: the playback progress of the multimedia data projected by the first device is updated and the current playback time is less than the start time of the last bullet screen in the cache when the bullet screen is displayed for a second duration; in addition, the first threshold, the second threshold, the first duration and / or the second duration may be set according to experience information or historical information, for example, the first threshold is 10 seconds, the first duration is 1 minute, etc., which are not limited here.
[0085] It should be noted that the relevant content on the first and second equipment sides mentioned above can be referred to each other, and the repeated parts will not be repeated.
[0086] The following is an example of the bullet screen control method provided in the embodiments of the present invention. The device can also be called a screen projection device, the multimedia data can be video, and the first information can be a bullet screen vector image.
[0087] To address the aforementioned technical issues, and considering that current second-screen projection devices offer numerous control options for bullet comments, requiring users to adjust appearance settings and display time via remote control, resulting in a complex interaction process and poor user experience, this invention provides a bullet comment control method. Specifically, it is a bullet comment control method based on a screen projection scenario, primarily involving: using a first device to calculate and control bullet comment styles, reducing performance overhead in screen projection scenarios, improving interactive efficiency and smoothness, and providing a more efficient, flexible, and personalized bullet comment control solution. Specifically, the first device can obtain the relevant dimensions of the second device, perform bullet comment calculations based on the current bullet comment list, calculate the display time and order of each bullet comment on the second device, and the second device draws the bullet comment content according to the calculation results, maintaining a reasonable bullet comment speed and a good user viewing experience.
[0088] Can be specific Figure 3As shown, embodiments of the present invention include the following operations:
[0089] 0. The first device triggers the start of screen mirroring, and the second device performs the screen mirroring playback.
[0090] 1. The second device sends relevant dimensional information from the second device side to the first device, which the first device can use to perform device mapping and region calculation;
[0091] Specifically, the first device maps the bullet screen display area displayed by the second device: the first device obtains the width and height information of the bullet screen display area from the second device, and then generates the simulated area size of the bullet screen proportionally according to the width of the simulated area of the first device; corresponding to the above-mentioned obtaining the simulated bullet screen display area based on the bullet screen area size information of the second device.
[0092] 2. The first device can actively or passively acquire and sort the bullet screen list;
[0093] Regarding the proactive approach, it could be as follows: the first device pre-obtains a list of bullet comments to be displayed on the second device one minute later. The bullet comment list is sorted according to the release time of the video progress, that is, according to the release time of the bullet comments relative to the time information of the multimedia data projected onto the first device. This could correspond to determining a first time period after the current playback time or a first time period including the current playback time based on the playback time information of the multimedia data. At least one bullet comment to be displayed within the first time period is then obtained.
[0094] Regarding the passive approach, it could be: when the playback progress changes, the second device requests bullet screen information (i.e., bullet screen data) from the first device to trigger the first device to obtain and sort the bullet screen list; this could correspond to receiving the bullet screen request sent by the second device as described above; based on the bullet screen request, determine a second time period after the current playback time or a second time period including the current playback time; and obtain at least one bullet screen to be displayed within the second time period.
[0095] 3. The first device's bullet screen control function controls the calculation of bullet screens, including:
[0096] (1) Generate a scalable vector graphic SVG vector image for each bullet comment (corresponding to the bullet comment vector image mentioned above). The specific generation scheme may include: generating an SVG template, configuring the following information according to the bullet comment content and style:
[0097] SVG.text: The content of the bullet comments;
[0098] SVG.font-family: Font, which can be configured according to the style of the bullet comments;
[0099] SVG.font-style: Font type, such as italics, which can be configured according to the style of the bullet comments.
[0100] The specific generation scheme described above corresponds to the determination of the bullet screen content and bullet screen style information; based on the bullet screen content and bullet screen style information, the first information (bullet screen vector image) is generated.
[0101] (2) Calculate the display trajectory of each barrage, including: start position, start time, end time, etc.; corresponding to at least one of the above-mentioned barrage display start position, barrage display start time and barrage display end time; obtain the barrage display trajectory based on at least one of the barrage display start position, barrage display start time and barrage display end time.
[0102] 1) Assume the ratio between the bullet screen display area shown by the second device and the above-mentioned bullet screen display simulation area is A, and the starting position of the bullet screen is (Fx, Fy), where Fx = Fx(bullet screen) × A; Fy = Fy(bullet screen) × A; where Fx(bullet screen) and Fy(bullet screen) are coordinates determined relative to the above-mentioned simulation area; this part corresponds to obtaining the horizontal and vertical starting positions of the bullet screen display based on the above-mentioned bullet screen display simulation area; and obtaining the bullet screen display starting position based on the horizontal and vertical starting positions.
[0103] Wherein, Fx (bullet screen) can be the rightmost horizontal coordinate of the bullet screen display simulation area, and Fy (bullet screen) can be calculated using the first formula, which is: Fy (bullet screen) = height (bullet screen display simulation area) × (Index (bullet screen) % (number of tracks)) / count (number of tracks), where the number of tracks refers to the number of tracks divided in the bullet screen display simulation area; correspondingly, it can be understood that the starting point Fx is the rightmost position of the bullet screen area of the second device; the starting point Fy is the vertical coordinate of the track where the bullet screen is located, which is divided equally by the number of tracks; corresponding to the above determination of the first horizontal coordinate and the first vertical coordinate of the bullet screen in the bullet screen display simulation area; based on the first horizontal coordinate, the edge horizontal coordinate of the bullet screen area of the second device is determined, and the edge horizontal coordinate is used as the horizontal starting position of the bullet screen display; based on the first vertical coordinate and the index information of the bullet screen, the vertical coordinate of the display track where the bullet screen is located is obtained, and the vertical starting position of the bullet screen display is obtained based on the vertical coordinate.
[0104] 2) To calculate the start time of the bullet comments, first obtain: the required display time StartTime (interface) returned by the interface, the time when all the previous bullet comments on the current track were displayed, and the bullet comment speed (bullet comment). Then calculate the earliest time that can be displayed: StartTime (earliest) = StartTime (previous bullet comment) + Length (previous bullet comment) / speed (bullet comment); corresponding to the above determination of the first time based on the display start time, display length, and display speed of the previous bullet comment. StartTime (bullet comment) = Max(StartTime (earliest), StartTime (interface)); corresponding to the above determination of the bullet comment display start time based on the first time and the bullet comment display reference time. Among them, StartTime (interface) is the publication time of the bullet comment relative to the screen-casting video time obtained by the first device, for example, at the 5th minute of the video, corresponding to the above bullet comment display reference time.
[0105] 3) Calculate the end time of the bullet screen: EndTime(bullet screen) = Starttime(bullet screen) + width(bullet screen area of the second device) / Speed(bullet screen); corresponding to the above, the end time of the bullet screen display is determined based on the start time of the bullet screen display, the width of the bullet screen area of the second device, and the bullet screen display speed.
[0106] Based on the above, the calculation results (the information needed for the generated bullet screen display) can be obtained and sent to the second device; this corresponds to sending the bullet screen data to the second device as described above. The second device can then update the bullet screen cache accordingly, and its playback control function can further control the bullet screen display based on this data.
[0107] Furthermore, the first device can also control options such as the font size of the bullet comments. When this information changes, the first device can recalculate the start position, start time, and end time of the bullet comments based on the bullet comment algorithm (corresponding to updating the bullet comment data based on the bullet comment control information mentioned above; sending the updated bullet comment data to the second device; wherein, the bullet comment control information includes: bullet comment font size). After calculation, the bullet comment data of the most recent minute can be returned to the second device. After the current bullet comment playback ends, the second device will play a new style of bullet comment.
[0108] In addition, (1) when the playback progress of the second device changes and the current bullet screen cache duration is less than 10 seconds, the second device can send a bullet screen request to the first device; the first device will calculate the bullet screen data to be displayed on the second device within one minute after receiving the data time node (such as the time corresponding to the bullet screen request being initiated), and then send it to the second device. The bullet screen data includes the vector image of the bullet screen, the start position of the bullet screen, the start time, the end time, etc. This situation corresponds to the second device sending a bullet screen request to the first device in the first case mentioned above; the first case includes: the playback progress of the multimedia data projected by the first device is updated and the current bullet screen cache duration is less than the second threshold.
[0109] Subsequently, the second device can generate the required vector image based on the received bullet comment information, at the time when the video playback progress reaches the bullet comment sending time (i.e., the time when the bullet comment is to be displayed), and based on the generated image, generate an animation from the start position of the bullet comment to the outermost edge of the second device at the same height according to the video playback time node, with the animation duration being from the aforementioned start time to the end time; this can correspond to the aforementioned receiving of bullet comment data sent by the first device; the bullet comment data includes at least one of: first information and bullet comment display trajectory; the first information includes at least one of: bullet comment content and display style; based on the bullet comment data, the bullet comment is displayed; based on the bullet comment data, Displaying bullet comments includes: generating a vector image to be displayed based on the first information and the playback time information of the multimedia data projected from the first device; generating a bullet comment animation based on the vector image and the bullet comment display trajectory, and displaying the bullet comment animation; generating the bullet comment animation based on the vector image and the bullet comment display trajectory includes: determining at least one of the bullet comment display start position, bullet comment display start time, and bullet comment display end time based on the bullet comment display trajectory; generating the bullet comment animation based on at least one of the bullet comment display start position, bullet comment display start time, and bullet comment display end time, and the vector image.
[0110] (2) In this embodiment of the invention, the video can be paused via the video control page of the first device or the second device. When the video is paused on the second device, the bullet screen animation is also paused, and when the video is resumed, the bullet screen animation continues to play.
[0111] (3) When the playback progress of the second device changes, the current bullet screen cache can be cleared and the bullet screen information can be re-requested from the first device. The first device makes a judgment based on the screen projection playback progress and returns the bullet screen information after the progress started. This situation corresponds to the above-mentioned first situation, where a bullet screen request is sent to the first device. The first situation includes: the playback progress of the multimedia data projected by the first device is updated and the current bullet screen cache is cleared.
[0112] In this embodiment, if the second device has less than one minute left since the last cached bullet comment started, it can continue to request 5 minutes of data from the last cached bullet comment's start time (which can be understood as continuing to request bullet comment data for a certain duration). This corresponds to sending a bullet comment request to the first device in the first case mentioned above. The first case includes: the current bullet comment cache duration being less than a first threshold; or, the current playback time being less than a first duration from the start time of the last cached bullet comment's display. To address this, this embodiment of the invention also provides a fault-tolerant scheme: if the first device determines and informs the second device that there is no bullet comment data to return, the second device can re-request the data for the next 5 minutes of playback progress. For example, if the video is 30 minutes long and currently playing at the 26th minute, and the second device requests bullet comment data for the next 5 minutes, but the first device informs that it cannot return the corresponding bullet comment data, the second device can update to request bullet comment data for a period including the current playback time, but this is not a limitation.
[0113] As described above, in this embodiment of the invention, the use of the first device to calculate and control the bullet comments reduces the performance overhead of the second device's bullet comments in the screen projection scenario, improves the interactive efficiency and smoothness of the second device's bullet comment control, supports the implementation of more efficient, flexible and personalized bullet comment control schemes, and provides a good viewing experience, allowing users to better enjoy video content and bullet comment interaction.
[0114] Specifically, in this embodiment of the invention, the style and trajectory of the bullet comments are calculated on the first device side to generate a stretchable vector graphic. This vector graphic and its trajectory are then handed over to the second device for drawing and display, thus improving the performance of bullet comment drawing. Specifically: 1) By obtaining the bullet comment display area size of the second device, the first device calculates and sorts the pre-obtained bullet comment list according to the bullet comment display area size and the bullet comment posting time, obtaining the display time and appearance order of the bullet comments on the second device. 2) The first device controls the bullet comment font size, style, and speed, achieving control over the bullet comment style and presentation effect. Based on this, by completing the bullet comment display calculation and style control on the second device on the first device, the efficiency and smoothness of bullet comment control interaction on the second device can be improved.
[0115] In summary, the embodiments of the present invention provide a more efficient, flexible, and personalized bullet screen control scheme in screen projection scenarios, with the following advantages:
[0116] 1. Optimization of Bullet Screen Control on the First Device: By optimizing bullet screen control on the first device, the bullet screen calculation tasks of the second device are transferred to the first device. The first device handles the calculation, sorting, and style design of the bullet screen, reducing the computational and rendering burden on the second device and making the bullet screen content presented by the second device smoother. Specifically, the first device can be responsible for some bullet screen appearance settings, such as font color and size, as well as preliminary collision detection calculations (corresponding to obtaining the bullet screen display trajectory), reducing the computational pressure on the second device.
[0117] 2. Flexible bullet screen style settings: Provides users with the ability to freely adjust the bullet screen style and display method on the first device, allowing users to set the bullet screen style according to their own preferences and needs, including color, size, position, etc., thus improving the user experience.
[0118] 3. Distributed computing: In screen mirroring scenarios, distributed computing can be used to distribute some of the bullet screen drawing tasks to other devices, such as mobile phones and tablets, to reduce the computing pressure on the second device, improve overall performance, optimize bullet screen drawing performance, and make the bullet screen interaction experience in screen mirroring scenarios smoother and more free.
[0119] The bullet screen control method for screen projection scenarios provided by this invention has a wide market prospect and can be applied to various applications with multi-screen interaction. It can improve the smoothness of bullet screen display on the second device and meet the user's need to complete the bullet screen style design on the first device.
[0120] It should be noted that the vector graphics in this embodiment of the invention will not be distorted due to changes in font size; the bullet screen data sent to the second device may include vector graphics content and calculated bullet screen trajectories. The first device may be a user terminal, and the second device may be a target projection device, but is not limited thereto.
[0121] This invention also provides a bullet screen control device, applied to a first device, such as... Figure 4 As shown, it includes:
[0122] The first acquisition module 41 is used to acquire bullet screen data, the bullet screen data including at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style.
[0123] The first sending module 42 is used to send the bullet screen data to the second device, which is a device used to play the multimedia data projected by the first device.
[0124] The bullet screen control device provided in this embodiment of the invention acquires bullet screen data, which includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style; and sends the bullet screen data to a second device, the second device being a device for playing multimedia data projected from the first device; it can support the transmission of bullet screen data from the first device to the second device, avoiding the need for related acquisition operations on the second device, thereby reducing the background pressure on the second device, making the bullet screen content presented by the second device smoother, improving the smoothness of bullet screen playback, and thus solving the problem of poor smoothness in existing bullet screen control schemes.
[0125] The process of obtaining the bullet screen display trajectory includes: obtaining at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time; and obtaining the bullet screen display trajectory based on at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time.
[0126] In this embodiment of the invention, obtaining the starting position of the bullet screen display includes: obtaining a simulated bullet screen display area based on the bullet screen area size information of the second device; obtaining the horizontal and vertical starting positions of the bullet screen display based on the simulated bullet screen display area; and obtaining the starting position of the bullet screen display based on the horizontal and vertical starting positions.
[0127] The step of obtaining the horizontal and vertical start positions of the bullet screen display based on the bullet screen display simulation area includes: determining the first horizontal coordinate and the first vertical coordinate of the bullet screen in the bullet screen display simulation area; determining the edge horizontal coordinate of the bullet screen area of the second device based on the first horizontal coordinate, and using the edge horizontal coordinate as the horizontal start position of the bullet screen display; obtaining the vertical coordinate of the display track where the bullet screen is located based on the first vertical coordinate and the index information of the bullet screen, and obtaining the vertical start position of the bullet screen display based on the vertical coordinate.
[0128] The implementation embodiments of the first device-side bullet screen control method described above are all applicable to the embodiments of the bullet screen control device, and can achieve the same technical effect.
[0129] This invention also provides a bullet screen control device, applied to a second device, such as... Figure 5 As shown, it includes:
[0130] The first receiving module 51 is used to receive bullet screen data sent by the first device; the bullet screen data includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style;
[0131] The first display module 52 is used to display bullet comments based on the bullet comment data.
[0132] The bullet screen control device provided in this embodiment of the invention receives bullet screen data sent by a first device; the bullet screen data includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style; and displays bullet screens according to the bullet screen data; it can support the transmission of bullet screen data obtained by the first device to a second device, avoiding the need to perform related acquisition operations on the second device, thereby reducing the background pressure on the second device, making the bullet screen content presented by the second device smoother, improving the smoothness of bullet screen playback, and thus solving the problem of poor smoothness in existing bullet screen control schemes.
[0133] The step of displaying bullet comments based on the bullet comment data includes: generating a vector image to be displayed based on the first information and the playback time information of the multimedia data projected by the first device; generating a bullet comment animation based on the vector image and the bullet comment display trajectory, and displaying the bullet comment animation.
[0134] In this embodiment of the invention, generating a bullet screen animation based on the vector image and the bullet screen display trajectory includes: determining at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time based on the bullet screen display trajectory; and generating a bullet screen animation based on at least one of the bullet screen display start position, bullet screen display start time, and bullet screen display end time, and the vector image.
[0135] The implementation embodiments of the above-mentioned second device-side bullet screen control method are all applicable to the embodiments of the bullet screen control device, and can achieve the same technical effect.
[0136] This invention also provides a bullet screen control device, including a memory, a processor, and a program stored in the memory and executable on the processor; when the processor executes the program, it implements the above-described bullet screen control method.
[0137] The above-described implementation embodiments of the bullet screen control method are all applicable to the embodiments of the bullet screen control device and can achieve the same technical effect.
[0138] This invention also provides a readable storage medium storing a program that, when executed by a processor, implements the steps in the above-described bullet screen control method.
[0139] The above-described implementation embodiments of the bullet screen control method are all applicable to the embodiments of the readable storage medium and can achieve the same technical effect.
[0140] This invention also provides a computer program product, including computer instructions. When the computer instructions are executed by a processor, they implement the various processes of the above-described bullet screen control method embodiments and achieve the same technical effects. To avoid repetition, they will not be described again here.
[0141] It should be noted that many of the functional components described in this specification are referred to as modules in order to more specifically emphasize the independence of their implementation.
[0142] In this embodiment of the invention, the module can be implemented in software so that it can be executed by various types of processors. For example, an identified executable code module may include one or more physical or logical blocks of computer instructions, which may be constructed as objects, procedures, or functions. Nevertheless, the executable code of the identified module does not need to be physically located together, but may include different instructions stored in different bits, which, when logically combined, constitute the module and achieve the module's intended purpose.
[0143] In practice, an executable code module can be a single instruction or many instructions, and can even be distributed across multiple different code segments, different programs, and across multiple memory devices. Similarly, operational data can be identified within the module and can be implemented in any suitable form and organized within any suitable type of data structure. This operational data can be collected as a single dataset or distributed across different locations (including different storage devices), and can exist, at least in part, solely as electronic signals within the system or network.
[0144] When a module can be implemented using software, considering the current level of hardware technology, modules that can be implemented in software can be implemented using hardware circuits by those skilled in the art to achieve the corresponding functions, without considering cost. These hardware circuits include conventional very-large-scale integrated circuits (VLSI) or gate arrays, as well as existing semiconductors such as logic chips and transistors, or other discrete components. Modules can also be implemented using programmable hardware devices, such as field-programmable gate arrays, programmable array logic, and programmable logic devices.
[0145] The above describes the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A bullet screen control method, applied to a first device, characterized in that, include: Acquire bullet screen data, wherein the bullet screen data includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style; The bullet screen data is sent to a second device, which is a device used to play the multimedia data projected from the first device; The process of obtaining the bullet screen display trajectory includes: obtaining the start position of the bullet screen display; and obtaining the bullet screen display trajectory based on the start position of the bullet screen display. Among them, obtaining the starting position of the bullet screen display includes: Based on the bullet screen area size information of the second device, obtain the simulated bullet screen display area; Based on the simulated area for displaying bullet comments, obtain the horizontal and vertical start positions of the bullet comment display. The starting position for displaying the bullet comments is obtained based on the horizontal and vertical starting positions.
2. The bullet screen control method according to claim 1, characterized in that, Obtaining the trajectory of the bullet comments also includes: Obtain at least one of the start time and end time of the bullet screen display; The bullet screen display trajectory is obtained based on the starting position of the bullet screen display, including: The bullet screen display trajectory is obtained based on at least one of the bullet screen display start time and bullet screen display end time, and the bullet screen display start position.
3. The bullet screen control method according to claim 1, characterized in that, The step of obtaining the horizontal and vertical start positions of the bullet screen display based on the simulated bullet screen display area includes: Determine the first horizontal and first vertical coordinates of the bullet screen in the bullet screen display simulation area; Based on the first horizontal coordinate, determine the edge horizontal coordinate of the bullet screen area of the second device, and use the edge horizontal coordinate as the horizontal starting position of the bullet screen display; Based on the first vertical coordinate and the index information of the bullet comments, the vertical coordinate of the display track where the bullet comments are located is obtained, and the vertical starting position of the bullet comments display is obtained based on the vertical coordinate.
4. A bullet screen control method, applied to a second device, characterized in that, include: Receive bullet screen data sent by the first device; The bullet screen data includes at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style; wherein, the bullet screen display trajectory is acquired by the first device, and the first device acquires the bullet screen display trajectory by: acquiring the bullet screen display start position; obtaining the bullet screen display trajectory based on the bullet screen display start position; wherein, acquiring the bullet screen display start position includes: acquiring the bullet screen display simulation area based on the bullet screen area size information of the second device; acquiring the horizontal start position and vertical start position of the bullet screen display based on the bullet screen display simulation area; obtaining the bullet screen display start position based on the horizontal start position and vertical start position; The bullet comments are displayed based on the aforementioned bullet comment data.
5. The bullet screen control method according to claim 4, characterized in that, The step of displaying bullet comments based on the bullet comment data includes: Based on the first information and the playback time information of the multimedia data projected by the first device, a vector image to be displayed is generated; Based on the vector image and the bullet screen display trajectory, a bullet screen animation is generated and displayed.
6. A bullet screen control device, applied to a first device, characterized in that, include: The first acquisition module is used to acquire bullet screen data, the bullet screen data including at least one of: first information and bullet screen display trajectory; the first information includes at least one of: bullet screen content and display style. The first sending module is used to send the bullet screen data to the second device, which is a device used to play the multimedia data projected by the first device; The process of obtaining the bullet screen display trajectory includes: obtaining the start position of the bullet screen display; and obtaining the bullet screen display trajectory based on the start position of the bullet screen display. Among them, obtaining the starting position of the bullet screen display includes: Based on the bullet screen area size information of the second device, obtain the simulated bullet screen display area; Based on the simulated area for displaying bullet comments, obtain the horizontal and vertical start positions of the bullet comment display. The starting position for displaying the bullet comments is obtained based on the horizontal and vertical starting positions.
7. A bullet screen control device, comprising a memory, a processor, and a program stored in the memory and executable on the processor; characterized in that, When the processor executes the program, it implements the bullet screen control method as described in any one of claims 1 to 5.
8. A readable storage medium having a program stored thereon, characterized in that, When the program is executed by the processor, it implements the steps in the bullet screen control method as described in any one of claims 1 to 5.
9. A computer program product, characterized in that, It includes computer instructions, which, when executed by a processor, implement the steps of the bullet screen control method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Screen projection method and device, projection equipment, screen projection playing equipment and storage medium
CN113542857A