Video playing method and device, storage medium and program product

By dynamically loading the first frame of the video on the client and adjusting the bitrate and transmission rate according to the network status, the problem of server resource consumption during instant video playback is solved, achieving efficient video playback.

CN121865013APending Publication Date: 2026-04-14ALIBABA CLOUD COMPUTING CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-11
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

How to reduce server resource consumption during video playback while ensuring instant video playback?

Method used

The server responds to the client's playback operation by dynamically acquiring and sending a small amount of video first frame to the client for playback. It also determines the target bitrate and transmission rate based on the client's network status, enabling the video to play instantly.

Benefits of technology

This reduces server transmission resource consumption and improves user experience while ensuring video quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121865013A_ABST
    Figure CN121865013A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a video playing method and device, a storage medium and a program product, and the method comprises the steps: obtaining a video first frame of a to-be-played video in response to a playing operation triggered by a client, and transmitting the video first frame to the client, so that the client plays the video first frame. Therefore, according to the scheme, the video first frame of the to-be-played video is acquired and sent after the playing operation is triggered, that is, the second playing of the video is realized in a dynamic loading mode. And in addition, the server in the scheme sends the locally stored video first frame with small data volume to the client, so that the consumption of transmission resources of the server can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of video playback technology, and in particular to a video playback method, device, storage medium, and program product. Background Technology

[0002] With the development of internet technology, video playback has become an indispensable media interaction method in users' daily lives. Furthermore, video playback is achieved through the transmission of video data between servers and clients. At the same time, to improve the user's viewing experience, videos can play instantly on the client side.

[0003] Therefore, how to reduce server resource consumption during video playback while ensuring instant video playback has become an urgent problem to be solved. Summary of the Invention

[0004] In view of this, embodiments of the present invention provide a video playback method, device, storage medium, and program product to reduce the consumption of server resources during video playback while ensuring that the video plays instantly.

[0005] In a first aspect, embodiments of the present invention provide a video playback method, including:

[0006] In response to a playback operation triggered by the client, obtain the first frame of the video to be played;

[0007] The first frame of the video is sent to the client so that the client can play the first frame of the video.

[0008] Secondly, embodiments of the present invention provide a video playback method, including:

[0009] In response to a video playback operation, obtain the video to be played corresponding to the client and the first network status of the client;

[0010] Determine the target bit rate corresponding to the first network state;

[0011] The first frame of the video to be played is sent to the client so that the client can play the first frame of the video, which has the target bitrate.

[0012] Thirdly, embodiments of the present invention provide a video playback method, including:

[0013] Obtain the first frame of the video to be played corresponding to different bitrates and the client's first network status;

[0014] Determine the target bit rate and target transmission rate corresponding to the first network state;

[0015] According to the target transmission rate, the first frame of the video with the target bitrate is sent so that the client can play the first frame of the video.

[0016] Fourthly, embodiments of the present invention provide an electronic device, including a processor and a memory, wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions, when executed by the processor, implement the video playback method described in the first or third aspect above. The electronic device may also include a communication interface for communicating with other devices or communication systems.

[0017] Fifthly, embodiments of the present invention provide a non-transitory machine-readable storage medium storing executable code, which, when executed by a processor of an electronic device, enables the processor to at least implement the video playback method as described in the first or third aspect above.

[0018] In a sixth aspect, embodiments of the present invention provide a program product, the computer program product including a computer program or instructions, which, when executed by a processor, cause the processor to implement the video playback method as described in the first or third aspect above.

[0019] In the video playback method provided in this embodiment of the invention, the server responds to the playback operation triggered by the client by obtaining the first frame of the video to be played and sending the first frame to the client so that the client can play the first frame of the video.

[0020] As can be seen, this solution acquires and sends the first frame of the video to be played only after the playback operation is triggered, that is, it achieves instant playback of the video through dynamic loading. Furthermore, since this solution sends the first frame of the video, which is a small amount of data stored locally, to the client, it reduces the consumption of server transmission resources. Attached Figure Description

[0021] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0022] Figure 1 A flowchart of a video playback method provided in an embodiment of the present invention;

[0023] Figure 2 A schematic diagram of the interface of a short video APP provided in an embodiment of the present invention;

[0024] Figure 3 A schematic diagram of the interface of a video-on-demand app provided in an embodiment of the present invention;

[0025] Figure 4 A flowchart of another video playback method provided in an embodiment of the present invention;

[0026] Figure 5 A flowchart illustrating yet another video playback method provided in this embodiment of the invention;

[0027] Figure 6 A flowchart illustrating yet another video playback method provided in this embodiment of the invention;

[0028] Figure 7 A flowchart illustrating yet another video playback method provided in this embodiment of the invention;

[0029] Figure 8 This is a schematic diagram of the structure of a video playback device provided in an embodiment of the present invention;

[0030] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention;

[0031] Figure 10 This is a schematic diagram of another video playback device provided in an embodiment of the present invention;

[0032] Figure 11 This is a schematic diagram of the structure of another electronic device provided in an embodiment of the present invention;

[0033] Figure 12 This is a schematic diagram of the structure of another video playback device provided in an embodiment of the present invention;

[0034] Figure 13 This is a schematic diagram of the structure of another electronic device provided in an embodiment of the present invention. Detailed Implementation

[0035] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0036] The terminology used in the embodiments of this invention is for the purpose of describing particular embodiments only and is not intended to limit the invention. The singular forms “a,” “the,” and “the” used in the embodiments of this invention and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise. “Multiple” generally includes at least two, but does not exclude the inclusion of at least one.

[0037] It should be understood that the term "and / or" used in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0038] Depending on the context, the words “if” or “suppose” as used here can be interpreted as “when” or “in response to determination” or “in response to identification.” Similarly, depending on the context, the phrases “if determination” or “if identification (of the condition or event of the statement)” can be interpreted as “when determination” or “in response to determination” or “when identification (of the condition or event of the statement)” or “in response to identification (of the condition or event of the statement).”

[0039] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this invention are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.

[0040] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a product or system comprising a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a product or system. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the product or system that includes said element.

[0041] Before describing the various embodiments provided by the present invention in detail, the application scenarios of the present invention can also be introduced in conjunction with the content of the background art.

[0042] As mentioned in the background section, video playback can be achieved through the transmission of video data between the server and the client. Furthermore, to enhance the user's viewing experience, videos can play instantly on the client. Optionally, the client can include an application (APP) that provides video playback services to users, such as a video-on-demand app, or a short video app that automatically plays videos upon startup. That is, both short video apps and video-on-demand apps can achieve instant video playback.

[0043] For example, assuming the client is a short video app, it can start playing videos instantly upon launching the app. Similarly, if the client is a video-on-demand app, it can start playing videos instantly upon user interaction with the video.

[0044] At this point, the methods provided in the following embodiments of the present invention can be used to achieve instant video playback in different types of apps.

[0045] Based on the above description, some embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Where there is no conflict between the embodiments, the following embodiments and the features and steps within them can be combined with each other. Furthermore, the timing of the steps in the following method embodiments is merely an example and not a strict limitation.

[0046] Figure 1 This is a flowchart illustrating a video playback method provided in an embodiment of the present invention. The video playback method provided in this embodiment can be executed by a server. Optionally, the server can be a physical server or a cloud server. Figure 1 As shown, the method may include the following steps:

[0047] S101, in response to a playback operation triggered by the client, obtains the first frame of the video to be played.

[0048] S102, send the first frame of the video to the client so that the client can play the first frame of the video.

[0049] When a user wants to watch a video, they can initiate a playback operation on the client. In response, the server retrieves the first frame of the video. The server can then send this first frame to the client, enabling the client to play it instantly. Upon receiving the first frame, the client can use its built-in media player to decode and render it, allowing the user to view the content corresponding to that first frame immediately.

[0050] Optionally, when the client is a short video app as mentioned above, the playback operation may include launching the short video app. The server can then determine the video to be played from the playlist corresponding to the short video app. The server may generate the playlist corresponding to the short video app according to a first preset push mechanism, but this playlist is not displayed to the user. Optionally, the first preset push mechanism may include location-based push, i.e., pushing videos related to the client's current location. The preset push mechanism may also include interest-based push, i.e., pushing videos of the same type as the user's historically viewed videos, etc.

[0051] After the video to be played has finished playing or during playback, the user can trigger the playback operation again. This playback operation is used to switch videos, and the specific playback operation can be a swipe. In response to the user's renewed playback operation, the server will retrieve another video from the playlist corresponding to the short video app and switch the video to be played to that other video.

[0052] The interfaces of the aforementioned short video apps can be combined with Figure 2 understand. Figure 2 The interface shown in (a) is the one displayed when launching a short video app. The video displayed on this interface can be the video to be played. Figure 2 The interface shown in (a) displays a video of a seated broadcaster singing into a microphone, accompanied by a description written by the broadcaster: "Immerse yourself in the world of music, let every sound leave a unique mark." Then, in response to the user's swipe, the interface can be accessed from... Figure 2 The interface shown in (a) jumps to Figure 2 The interface shown in (b) is at this time Figure 2 The interface shown in (b) can play a video of another streamer dancing, and can also display a description such as "Follow the rhythm of the music and dance your own style".

[0053] Optionally, when the client is specifically the aforementioned video-on-demand app, the playback operation may include a playback operation triggered by the user on a video to be played in the playlist corresponding to the video-on-demand app. The playlist corresponding to the video-on-demand app is the list of videos displayed on the video-on-demand app's homepage or any search results page. This playlist may also be generated by the server according to a first preset push mechanism. The server can determine the video that the user clicks to play in the playlist corresponding to the video-on-demand app as the video to be played.

[0054] The interface of the aforementioned video-on-demand app can be combined with Figure 3 Understanding. For example... Figure 3As shown, the video-on-demand app includes options such as a homepage, movies, and TV series for users to choose from. The playlist on the homepage of the video-on-demand app displays Video 1, Video 2, Video 3, and Video 4. Users can then click on the desired Video 1 from the playlist displayed on this interface; the selected Video 1 will then be the video to be played.

[0055] In practice, clients that provide video playback functionality to users typically include Figure 2 and Figure 3 The examples illustrate several types of apps, including video-on-demand apps and short video apps. Therefore, the method provided in this embodiment can achieve instant video playback on different types of clients, meaning it has broad applicability. Furthermore, it's easy to understand that for different types of clients, due to their different video playback mechanisms, the specific content of the triggered video playback operations will also differ, and the display format of the corresponding playlist will also differ.

[0056] In this embodiment, the server, in response to a playback operation triggered by the client, acquires the first frame of the video to be played. The server then sends this first frame to the client, enabling the client to play it. As can be seen, this solution acquires and sends the first frame of the video to be played only after the playback operation is triggered, achieving instant playback through dynamic loading. Furthermore, since this solution sends the first frame, which is a small amount of data stored locally, to the client, it reduces the consumption of server transmission resources.

[0057] Figure 1 The illustrated embodiment has already mentioned the playlist corresponding to the client. Optionally, the server can obtain a preset playlist and / or the user's historical usage behavior of the client, and determine the playlist corresponding to the client based on the obtained content.

[0058] Optionally, historical usage behavior includes user's historical viewing behavior, user's historical interaction behavior, user's historical search behavior, etc. The preset playlist can be generated according to the server's second preset push mechanism. Optionally, the second preset push mechanism may also include trending event pushes, i.e., randomly pushing a preset number of videos related to trending events.

[0059] Alternatively, to determine the playlist for the client, the server can directly use the content of a preset playlist as the playlist for the client.

[0060] Alternatively, the server can combine a preset playlist with the user's historical viewing behavior. Specifically, the server analyzes the user's historical viewing behavior to determine the types of videos the user is interested in, and then filters the videos in the preset playlist according to these types of interest to obtain the corresponding playlist for the client. For example, assuming the preset playlist includes two lifestyle videos and three science videos, and the user's historical viewing behavior includes lifestyle videos, it can be determined that the user is more interested in lifestyle videos, and further, it can be determined that the client's corresponding playlist includes two lifestyle videos.

[0061] Alternatively, the server can determine the types of videos the user is interested in based on the user's historical usage behavior, and then create a playlist for the client from the videos belonging to that type on the server.

[0062] In this embodiment, the server can generate a playlist corresponding to the client based on a preset playlist and / or the user's historical usage behavior. Furthermore, when the server uses the user's historical usage behavior, it can obtain a playlist that matches the user's interests, thus accurately determining the videos the user wants to watch and improving the user's viewing experience.

[0063] Optionally, in the above embodiments, the server may also obtain the first frame of the video to be played from a locally stored set of first frames. The set of first frames may include the first frames of different videos stored locally on the server. Furthermore, in practice, the bitrate of a video often affects its quality; high-bitrate videos generally have higher quality and richer details, while low-bitrate videos have relatively lower quality. Based on this, in Figure 1 Based on the illustrated embodiment, the video first frame set can specifically include the first frames of different videos stored locally on the server, each with a different bitrate. That is, the first frame video set can contain the first frames of the video to be played with different bitrates. Optionally, the server can obtain video first frames with different bitrates by transcoding the first frames, thus obtaining the video first frame set.

[0064] Optionally, in response to a playback operation triggered by the client, the server can obtain the first frame of the video to be played with the target bitrate from the set of first frames of the video, and send the first frame of the video with the target bitrate to the client so that the client can play the first frame of the video.

[0065] Optionally, to determine the target bitrate, the server can obtain the status data collected during network status probing when the client responds to a playback operation, and use this status data as the client's first network status. Then, the server can further determine the target bitrate corresponding to this first network status. Afterward, the server can directly obtain the first video frame with the target bitrate from the set of first video frames. Optionally, the status data detected by the client may include at least one of download speed, number of connections, bandwidth, and packet loss rate. Among these, download speed, bandwidth, and packet loss rate directly reflect the network status; that is, the faster the download speed, the larger the bandwidth, and the lower the packet loss rate, the better the network status, and vice versa. The number of connections directly affects the network's data transmission efficiency, thereby indirectly affecting the network status. Specifically, when the number of connections is too high, the network may become congested because it cannot effectively handle all connection requests, leading to a decrease in download speed and an increase in packet loss rate, thus deteriorating the network status.

[0066] In this embodiment, since the target bitrate is determined after the user triggers the playback operation, the target bitrate is consistent with the current network status of the client. Therefore, the server sends the first frame of the video with the target bitrate to the client, which not only enables the video to open instantly, but also ensures the quality of the video and improves the user experience.

[0067] Furthermore, the technical effects achieved by the video playback method provided in this embodiment of the invention can also be understood in conjunction with the following:

[0068] In addition to the video playback methods provided in the above embodiments of the present invention, another method for instant video playback is as follows: Before the user triggers the video playback operation, the server typically pre-downloads video segments of the video to be played, stored locally and at multiple bitrates, to the client. Then, when the user triggers the playback operation on the client, these pre-downloaded video segments are played, thereby achieving instant playback of the video. However, the above video preloading method consumes a significant amount of server transmission resources, thus increasing server transmission resource consumption. Simultaneously, the client's storage of multi-bitrate video segments also leads to a substantial consumption of its own storage resources.

[0069] In the methods described above, since the server sends the first frame of the video to the client, it reduces the server's resource consumption during data transmission. Furthermore, the client does not need to store multiple bitrate video segments locally, thus reducing storage pressure on the client. On the other hand, in the methods described above, the server locally stores video segments of different bitrates used for instant playback. In this solution, however, the server locally stores the first frames of videos at different bitrates. The data size of a single video frame is clearly smaller than that of a video segment; therefore, setting a set of first frames also obviously reduces the server's storage pressure.

[0070] The above embodiments guarantee video quality from the perspective of the bitrate of the first video frame. Optionally, video quality can also be guaranteed from the perspective of the transmission rate of the first video frame. Specifically, the server can store the correspondence between network status and transmission rate. The server can then determine the target transmission rate corresponding to the first network status based on the correspondence when the client responds to a playback operation. Subsequently, the server can send the first video frame to the client according to the target transmission rate. It is easy to understand that there is a positive correlation between network status and transmission rate. That is, the better the network status, the higher the transmission rate determined by the server, and vice versa.

[0071] In this embodiment, since the target transmission rate matches the current network status of the client, the stability of the first video frame transmission and the quality of the first video frame can be guaranteed.

[0072] Furthermore, the contents not described in detail in this embodiment and the technical effects that can be achieved can be found in the relevant descriptions in the above embodiments, and will not be repeated here.

[0073] Of course, video quality can also be guaranteed from the perspectives of both bitrate and transmission rate. Specifically, the server can determine the target transmission rate and target bitrate corresponding to the first network state when the client responds to the playback operation. Then, the server can send the first frame of the video to be played, with the target bitrate, to the client according to the target transmission rate.

[0074] In this embodiment, since both the target transmission rate and target bitrate match the client's current network status, the stability and quality of the first video frame transmission can be guaranteed. Furthermore, any details not described in this embodiment, as well as the technical effects achieved, can be found in the relevant descriptions in the above embodiments, and will not be repeated here.

[0075] It's easy to understand that the video to be played can include the first frame and subsequent frames. The server can then proceed as follows: Figure 4 The illustrated embodiment enables the playback of other video frames in the video to be played.

[0076] Figure 4 A flowchart illustrating another video playback method provided in an embodiment of the present invention. Figure 4 As shown, the method may include the following steps:

[0077] S401, Obtain the client's second network state. The detection time of the second network state is later than the detection time of the first network state.

[0078] S402, determine other bitrates corresponding to the second network state.

[0079] S403 sends other video frames from the video to be played, so that the client can play the other video frames.

[0080] After sending the first frame of the video, the server can further send other video frames of the video to be played. Optionally, the first frame and other video frames can have the same bitrate.

[0081] Considering the dynamic nature of the client's network status, to ensure video quality, the server can optionally obtain the client's second network status after sending the first video frame, and determine other bitrates corresponding to this second network status. Optionally, while storing sets of video first frames with different bitrates locally, the server can also store other video frames with a fixed bitrate. Then, after determining the second network status, the server can transcode the other video frames in real time to obtain other video frames with different bitrates. Afterwards, the server can send these other video frames with different bitrates to the client so that the client can play them.

[0082] The detection time of the second network state is later than that of the first network state. The process of determining the second network state is similar to that of determining the first network state. Optionally, other bitrates can be the same as or different from the target bitrate.

[0083] In this embodiment, based on the client's network status at different detection times, the server can determine the bitrate of each video frame in the video to be played in real time to achieve bitrate adaptation. This ensures that the bitrate of the video to be played always matches the client's current network status, thus better guaranteeing video quality and improving user experience.

[0084] Similar to the first frame of a video, the quality of other video frames in the video to be played can also be guaranteed from the perspective of bitrate and / or transmission rate. For details, please refer to... Figure 5 The illustrated embodiment is for understanding.

[0085] Figure 5 This is a flowchart illustrating yet another video playback method provided in an embodiment of the present invention. Figure 5 As shown, the method may include the following steps:

[0086] S501, obtain the client's third network state. The detection time of the third network state is later than the detection time of the first network state.

[0087] S502, determine other transmission rates corresponding to the third network state.

[0088] S503 sends other video frames from the video to be played at other transmission rates so that the client can play the other video frames.

[0089] After sending the first video frame, the server can further send other video frames of the video to be played. Optionally, the transmission rate when sending the first video frame and other video frames can be the same.

[0090] Considering the dynamic nature of the client's network status, to ensure video quality, the server may optionally, after determining to send the first video frame at the target transmission rate, further obtain the client's third network status and determine other transmission rates corresponding to that third network status. Subsequently, the server can send other video frames from the video to be played to the client at these other transmission rates, allowing the client to play those additional video frames.

[0091] In this context, it's easy to understand that the detection time of the third network state is later than that of the first network state. Furthermore, the third network state can be detected at the same time as the second network state, meaning they are identical. The process for determining the third network state is similar to the process for determining the first and second network states described above. Optionally, other transmission rates can be the same as or different from the target transmission rate.

[0092] In this embodiment, based on the client's network status at different detection times, the server can determine the transmission rate of each video frame in the video to be played in real time, so as to achieve adaptive transmission rate. This ensures that the transmission rate when sending video frames always matches the client's current network status, thus better guaranteeing video quality and improving user experience.

[0093] To facilitate understanding, the specific implementation process of the video playback methods provided in the above embodiments can be illustrated below based on the application scenario of short video apps.

[0094] The server can obtain the network status when the short video app responds to the startup operation, determine the target bitrate corresponding to that network status, and then retrieve the first frame of the video to be played from the set of first video frames with the target bitrate. Simultaneously, the server can also determine the target transmission rate corresponding to that network status and send the first frame of the video with the target bitrate to the short video app according to that target transmission rate, so that the short video app can play the first frame of the video. That is, when the short video app starts, the user can immediately watch... Figure 2 The first frame of the short video app pushed by the short video app shown in interface (a) is the one that enables the video to start playing instantly.

[0095] The set of first video frames can contain the first frames of videos to be played with different bitrates. Specifically, the videos to be played can be those pushed to users when the short video app is launched. Furthermore, to personalize the playlist, the server can optionally refer to the user's historical usage behavior of the short video app to determine the videos to be played.

[0096] After the server determines the target bitrate and target transmission rate of the first frame of the video, it can also re-acquire the network status of the short video app and further determine other bitrates and other transmission rates corresponding to the network status. Then, according to the other transmission rates, it sends other video frames with other bitrates to the short video app so that the short video app can continue to play other video frames of the video to be played.

[0097] As can be seen, for the first frame of a video, since the target bitrate and target transmission rate are determined after the user triggers the start operation, the video can open instantly through dynamic loading. Furthermore, because the server sends the first frame of the video to the short video app, it reduces the server's resource consumption during data transmission compared to sending multiple bitrate video segments. The short video app also does not need to store multiple bitrate video segments, thus reducing its storage pressure. On the other hand, since the bitrate and transmission rate of different videos in the video to be played are consistent with the client's network conditions, the server, by sending video frames with the corresponding bitrates to the client according to the appropriate transmission rate, can achieve instant video opening while also ensuring video quality.

[0098] Figure 6 This is a flowchart illustrating yet another video playback method provided in an embodiment of the present invention. Figure 6 As shown, the method may include the following steps:

[0099] S601, in response to a video playback operation, obtains the video to be played corresponding to the client and the client's first network status.

[0100] S602, determine the target bit rate corresponding to the first network state.

[0101] S603 sends the first frame of the video to be played so that the client can play the first frame of the video, which has the target bitrate.

[0102] In response to a video playback operation, the server can obtain the video to be played corresponding to the client and the client's initial network status.

[0103] Optionally, the specific meaning of the playback operation may differ for different types of clients, as described in the above embodiments. The video to be played on the client refers to the video played in the client in response to the video playback operation, and it may be included in the client's corresponding playlist. Specific details related to the client's corresponding playlist can be found in the relevant descriptions in the above embodiments.

[0104] The server can then determine the target bitrate corresponding to the first network state. Afterward, the server can send the first frame of the video to be played, with the target bitrate, to the client so that the client can play the first frame. Optionally, for obtaining the first frame of the video with the target bitrate, the server can obtain the first frame of the video to be played with the target bitrate from a set of first frames. This set of first frames may contain first frames of the video to be played with different bitrates.

[0105] In this embodiment, in response to a video playback operation, the server can obtain the video to be played corresponding to the client and the client's first network status, and determine the target bitrate corresponding to the first network status. Then, the server can send the first frame of the video to be played, with the target bitrate, to the client so that the client can play the first frame.

[0106] As can be seen, this solution determines the target bitrate only after the user triggers the playback action and sends the first frame of the video to be played with the target bitrate. In other words, it achieves instant video playback through dynamic loading. Furthermore, since the target bitrate is determined after the user triggers the playback action, this target bitrate is compatible with the client's current network conditions. Therefore, the first frame of the video with the target bitrate sent by the server to the client not only achieves instant video playback but also ensures video quality, improving the user experience.

[0107] Furthermore, the contents not described in detail in this embodiment and the technical effects that can be achieved can be found in the relevant descriptions in the above embodiments, and will not be repeated here.

[0108] exist Figure 6Based on the illustrated embodiment, to further ensure the quality of the first video frame, the server may optionally determine a target transmission rate corresponding to the client's first network state. Then, the server may send the first video frame with the target bitrate to the client according to the target transmission rate.

[0109] In this embodiment, because the target transmission rate matches the client's current network status, the stability of the first video frame transmission can be guaranteed, thereby ensuring the quality of the first video frame. Furthermore, any content not described in detail in this embodiment and the technical effects achieved can be found in the relevant descriptions in the above embodiments, and will not be repeated here.

[0110] Based on the above description, in addition to ensuring the quality of the first frame of the video to be played from the perspective of bitrate and / or transmission rate, the quality of other video frames in the video to be played can also be ensured from the perspective of bitrate and / or transmission rate, that is, bitrate adaptation and / or transmission rate adaptation are performed on the video frames.

[0111] Specifically, when both bitrate adaptation and transmission rate adaptation are performed simultaneously, the server can determine other bitrates and transmission rates in real time based on the network status of the client at different probe times. Then, the server can send other video frames of the video to be played, with different bitrates, to the client according to these other transmission rates.

[0112] In this embodiment, the bitrate of other video frames in the video to be played and the transmission rate of other video frames during transmission are adjusted in real time according to the client's network status. This ensures that the bitrate and transmission rate are always matched with the client's current network status, thus better guaranteeing the quality of other video frames and improving the user experience.

[0113] Figure 7 This is a flowchart illustrating yet another video playback method provided in an embodiment of the present invention. Figure 7 As shown, the method may include the following steps:

[0114] S701, obtain the first frame of the video to be played corresponding to different bitrates and the first network status of the client.

[0115] S702, determine the target bit rate and target transmission rate corresponding to the first network state.

[0116] S703 sends the first frame of a video with the target bitrate according to the target transmission rate, so that the client can play the first frame of the video.

[0117] The server can obtain the first frame of the video to be played corresponding to different bitrates, and it can also obtain the initial network status with the client. Then, the server can determine the target bitrate and target transmission rate corresponding to the initial network status. Finally, the server can send the first frame of the video to be played, with the target bitrate, to the client according to the target transmission rate, so that the client can play the first frame of the video.

[0118] Here, the first frames of videos with different bitrates can constitute a set of video first frames. The video to be played refers to the video that needs to be played on the client. Optionally, the server can determine the video to be played from the client's corresponding playlist. For details regarding the client's corresponding playlist, please refer to the relevant descriptions in the above embodiments.

[0119] In this embodiment, the server can determine the target bitrate and target transmission rate corresponding to the client's first network state. Finally, according to the target transmission rate, the server sends the first video frame with the target bitrate so that the client can play the first video frame. Since both the target transmission rate and target bitrate match the client's current network state, the stability of the first video frame transmission can be guaranteed, thereby ensuring the quality of the first video frame and improving the user experience. Furthermore, since the server stores video first frames corresponding to different bitrates in this solution, and the data size of these first video frames is relatively small, and the server sends the small-data-size first video frames to the client, the consumption of server transmission resources can be reduced.

[0120] Furthermore, the contents not described in detail in this embodiment and the technical effects that can be achieved can be found in the relevant descriptions in the above embodiments, and will not be repeated here.

[0121] exist Figure 7 Based on the illustrated embodiment, the first frame of the video to be played can be transmitted and played at a bitrate and transmission rate matching the first network state. Optionally, the server can also determine other bitrates and other transmission rates corresponding to the network state in real time based on the client's network state at different detection times. Then, the server can send other video frames of the video to be played, with different bitrates, to the client at other transmission rates.

[0122] In this embodiment, the bitrate of other video frames in the video to be played and the transmission rate of other video frames during transmission can be adjusted in real time according to the client's network status. This ensures that the bitrate and transmission rate are always matched with the client's current network status, thus better guaranteeing the quality of other video frames and improving the user experience.

[0123] In practice, while ensuring video quality, it's also possible to provide users with instant video playback. For instant video playback, one optional approach is that, in response to a video playback operation, the server can obtain the first frame of the video to be played corresponding to different bitrates. Then, the server can determine the target bitrate and target transmission rate corresponding to the first network state. Finally, according to the target transmission rate, the first frame of the video with the target bitrate is sent to the client so that the client can play the first frame. Optionally, the first frames of the video to be played corresponding to different bitrates can be stored in a set of first frames.

[0124] In this embodiment, the server obtains and sends the first frame of the video to be played only after the playback operation is triggered, that is, the video can be played instantly by dynamic loading.

[0125] Alternatively, before the user triggers playback, the server can first obtain the first frame of the video to be played at different bitrates and the client's first network state. Then, the server can determine the target bitrate and target transmission rate corresponding to the first network state. Finally, after the user triggers playback, the server can send the first frame of the video with the target bitrate to the client according to the target transmission rate, so that the client plays the first frame of the video in response to the user's playback action.

[0126] In this embodiment, before triggering the playback operation, the server can pre-acquire and send the first frame of the video to be played to the client, that is, the video can be played instantly by preloading.

[0127] The following will describe in detail one or more embodiments of a video playback device according to the present invention. Those skilled in the art will understand that these video playback devices can all be configured using commercially available hardware components through the steps taught in this solution.

[0128] Figure 8 This is a schematic diagram of the structure of a video playback device provided in an embodiment of the present invention, as shown below. Figure 8 As shown, the device includes:

[0129] The first acquisition module 11 is used to acquire the first frame of the video to be played in response to a playback operation triggered by the client.

[0130] The first sending module 12 is used to send the first frame of the video to the client so that the client can play the first frame of the video.

[0131] The playback operation includes either a client-side startup operation or a playback operation triggered on the video to be played, wherein the video to be played is included in the playlist corresponding to the client.

[0132] Optionally, the acquisition module 11 is configured to acquire a first network state when the client responds to the playback operation; determine a target bitrate corresponding to the first network state; and acquire the first video frame of the video to be played with the target bitrate from the set of first video frames, wherein the set of first video frames contains the first video frames of the video to be played with different bitrates.

[0133] Optionally, the acquisition module 11 is used to acquire the second network state of the client, wherein the detection time of the second network state is later than the detection time of the first network state.

[0134] The device further includes a first determining module 13, used to determine other bitrates corresponding to the second network state.

[0135] The sending module 12 is used to send other video frames in the video to be played so that the client can play the other video frames, which have the other bitrates.

[0136] Optionally, the first determining module 13 is used to determine the target transmission rate corresponding to the first network state.

[0137] The sending module 12 is used to send the first frame of a video with the target bitrate according to the target transmission rate.

[0138] Optionally, the acquisition module 11 is used to acquire the third network state of the client, wherein the detection time of the third network state is later than the detection time of the first network state.

[0139] The first determining module 13 is used to determine other transmission rates corresponding to the third network state.

[0140] The sending module 12 is used to send other video frames in the video to be played according to the other transmission rate.

[0141] Optionally, the first determining module 13 is used to determine the status data collected by the client when the client performs network status detection as the network status of the client.

[0142] Optionally, the acquisition module 11 is used to acquire a preset playlist and / or the user's historical usage behavior of the client.

[0143] The first determining module 13 is used to determine the playlist corresponding to the client based on the preset playlist and / or the historical usage behavior.

[0144] Figure 8 The device shown can perform Figures 1 to 5For the methods shown in the embodiments, the parts not described in detail in this embodiment can be referred to the following: Figures 1 to 5 The relevant descriptions of the illustrated embodiments are provided below. For the execution process and technical effects of this technical solution, please refer to [link / reference]. Figures 1 to 5 The descriptions in the illustrated embodiments will not be repeated here.

[0145] In one possible design, the video playback methods provided in the above embodiments can be applied to an electronic device, such as... Figure 9 As shown, the electronic device may include a first processor 21 and a first memory 22. The first memory 22 is used to store data supporting the electronic device in performing the above-described actions. Figures 1-5 In the video playback method program provided in the illustrated embodiment, the first processor 21 is configured to execute the program stored in the first memory 22.

[0146] The program includes one or more computer instructions, wherein when executed by the first processor 21, the one or more computer instructions can perform the following steps:

[0147] In response to a playback operation triggered by the client, obtain the first frame of the video to be played;

[0148] The first frame of the video is sent to the client so that the client can play the first frame of the video.

[0149] Optionally, the first processor 21 is also used to perform the aforementioned Figures 1-5 All or part of the steps in the illustrated embodiments.

[0150] The structure of the electronic device may also include a first communication interface 23 for the electronic device to communicate with other devices or communication systems.

[0151] In addition, embodiments of the present invention provide a non-transitory machine-readable storage medium for storing computer software instructions used by the aforementioned electronic device, which includes instructions for executing the above-mentioned... Figures 1-5 The program involved in the video playback method shown.

[0152] In addition, embodiments of the present invention provide a computer program product. This computer program product includes a computer program or instructions. When the computer program or instructions are executed by a processor, the processor is able to perform the above-described functions. Figures 1-5 The steps or functions of the video playback method shown.

[0153] Figure 10 This is a schematic diagram of another video playback device provided in an embodiment of the present invention, as shown below. Figure 10 As shown, the device includes:

[0154] The second acquisition module 31 is used to acquire the video to be played corresponding to the client and the first network status of the client in response to the video playback operation.

[0155] The second determining module 32 is used to determine the target bit rate corresponding to the first network state.

[0156] The second sending module 33 is used to send the first frame of the video to be played so that the client can play the first frame of the video, wherein the first frame of the video has the target bitrate.

[0157] Optionally, the second determining module 32 is further configured to determine the target transmission rate corresponding to the first network state.

[0158] The second sending module 33 is used to send the first frame of a video with the target bitrate according to the target transmission rate.

[0159] Figure 10 The device shown can perform Figure 6 For the methods shown in the embodiments, the parts not described in detail in this embodiment can be referred to the following: Figure 6 The relevant descriptions of the illustrated embodiments are provided below. For the execution process and technical effects of this technical solution, please refer to [link / reference]. Figure 6 The descriptions in the illustrated embodiments will not be repeated here.

[0160] In one possible design, the video playback methods provided in the above embodiments can be applied to another electronic device, such as... Figure 11 As shown, the electronic device may include a second processor 41 and a second memory 42. The second memory 42 is used to store data supporting the electronic device in performing the above-described actions. Figure 6 In the video playback method program provided in the illustrated embodiment, the second processor 41 is configured to execute the program stored in the second memory 42.

[0161] The program includes one or more computer instructions, wherein the one or more computer instructions, when executed by the second processor 41, can perform the following steps:

[0162] In response to a video playback operation, obtain the video to be played corresponding to the client and the first network status of the client;

[0163] Determine the target bit rate corresponding to the first network state;

[0164] The first frame of the video to be played is sent to the client so that the client can play the first frame of the video, which has the target bitrate.

[0165] Optionally, the second processor 41 is also used to perform the aforementioned Figure 6 All or part of the steps in the illustrated embodiments.

[0166] The structure of the electronic device may also include a second communication interface 43 for the electronic device to communicate with other devices or communication systems.

[0167] In addition, embodiments of the present invention provide a non-transitory machine-readable storage medium for storing computer software instructions used by the aforementioned electronic device, which includes instructions for executing the above-mentioned... Figure 6 The program involved in the video playback method shown.

[0168] In addition, embodiments of the present invention provide a computer program product. This computer program product includes a computer program or instructions. When the computer program or instructions are executed by a processor, the processor is able to perform the above-described functions. Figure 6 The steps or functions of the video playback method shown.

[0169] Figure 12 This is a schematic diagram of the structure of another video playback device provided in an embodiment of the present invention, as shown below. Figure 12 As shown, the device includes:

[0170] The third acquisition module 51 is used to acquire the first frame of the video to be played corresponding to different bitrates and the first network status of the client.

[0171] The third determining module 52 is used to determine the target bit rate and target transmission rate corresponding to the first network state.

[0172] The third sending module 53 is used to send the first video frame with the target bitrate according to the target transmission rate, so that the client can play the first video frame.

[0173] Optionally, the third acquisition module 51 is used to acquire the first frame of the video to be played corresponding to different bitrates in response to the video playback operation.

[0174] Optionally, the third sending module 53 is configured to send a video first frame with the target bitrate according to the target transmission rate, so that the client plays the video first frame in response to a user-triggered playback operation.

[0175] Figure 12 The device shown can perform Figure 7 For the methods shown in the embodiments, the parts not described in detail in this embodiment can be referred to the following: Figure 7 The relevant descriptions of the illustrated embodiments are provided below. For the execution process and technical effects of this technical solution, please refer to [link / reference]. Figure 7 The descriptions in the illustrated embodiments will not be repeated here.

[0176] In one possible design, the video playback methods provided in the above embodiments can be applied to yet another electronic device, such as... Figure 13 As shown, the electronic device may include a third processor 61 and a third memory 62. The third memory 62 is used to store data supporting the electronic device in performing the aforementioned operations. Figure 7 In the video playback method program provided in the illustrated embodiment, the third processor 61 is configured to execute the program stored in the third memory 62.

[0177] The program includes one or more computer instructions, wherein the one or more computer instructions, when executed by the third processor 61, can perform the following steps:

[0178] Obtain the first frame of the video to be played corresponding to different bitrates and the client's first network status;

[0179] Determine the target bit rate and target transmission rate corresponding to the first network state;

[0180] According to the target transmission rate, the first frame of the video with the target bitrate is sent so that the client can play the first frame of the video.

[0181] Optionally, the third processor 61 is also used to perform the aforementioned Figure 7 All or part of the steps in the illustrated embodiments.

[0182] The structure of the electronic device may also include a third communication interface 63 for the electronic device to communicate with other devices or communication systems.

[0183] In addition, embodiments of the present invention provide a non-transitory machine-readable storage medium for storing computer software instructions used by the aforementioned electronic device, which includes instructions for executing the above-mentioned... Figure 7 The program involved in the video playback method shown.

[0184] In addition, embodiments of the present invention provide a computer program product. This computer program product includes a computer program or instructions. When the computer program or instructions are executed by a processor, the processor is able to perform the above-described functions. Figure 7 The steps or functions of the video playback method shown.

[0185] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A video playback method, characterized in that, include: In response to a playback operation triggered by the client, obtain the first frame of the video to be played; The first frame of the video is sent to the client so that the client can play the first frame of the video.

2. The method according to claim 1, characterized in that, The process of obtaining the first frame of the video to be played includes: Obtain the first network state when the client responds to the playback operation; Determine the target bit rate corresponding to the first network state; Obtain the first video frame of the video to be played with the target bitrate from the set of first video frames, wherein the set of first video frames contains the first video frames of the video to be played with different bitrates.

3. The method according to claim 2, characterized in that, The method further includes: The second network state of the client is obtained, and the detection time of the second network state is later than the detection time of the first network state; Determine other bitrates corresponding to the second network state; Send other video frames from the video to be played so that the client can play the other video frames, which have the other bitrate.

4. The method according to claim 2, characterized in that, The method further includes: Determine the target transmission rate corresponding to the first network state; Sending the first frame of the video to the client includes: Send the first frame of video with the target bitrate according to the target transmission rate.

5. The method according to claim 4, characterized in that, The method further includes: Obtain the third network state of the client, wherein the detection time of the third network state is later than the detection time of the first network state; Determine other transmission rates corresponding to the third network state; Send other video frames from the video to be played at the other transmission rate.

6. The method according to any one of claims 2 to 5, characterized in that, The method further includes: The status data collected by the client during network status detection is determined as the network status of the client.

7. The method according to claim 1, characterized in that, The playback operation includes the client's startup operation or the playback operation triggered on the video to be played, which is included in the playlist corresponding to the client.

8. The method according to claim 7, characterized in that, The method further includes: Obtain a preset playlist and / or the user's historical usage behavior on the client; Based on the preset playlist and / or the historical usage behavior, determine the playlist corresponding to the client.

9. A video playback method, characterized in that, include: In response to a video playback operation, obtain the video to be played corresponding to the client and the first network status of the client; Determine the target bit rate corresponding to the first network state; The first frame of the video to be played is sent to the client so that the client can play the first frame of the video, which has the target bitrate.

10. The method according to claim 9, characterized in that, The method further includes: Determine the target transmission rate corresponding to the first network state; Sending the first frame of the video to be played includes: Send the first frame of video with the target bitrate according to the target transmission rate.

11. A video playback method, characterized in that, include: Obtain the first frame of the video to be played corresponding to different bitrates and the client's first network status; Determine the target bit rate and target transmission rate corresponding to the first network state; According to the target transmission rate, the first frame of the video with the target bitrate is sent so that the client can play the first frame of the video.

12. The method according to claim 11, characterized in that, The process of obtaining the first frame of the video to be played, corresponding to different bitrates, includes: In response to video playback operations, obtain the first frame of the video to be played corresponding to different bitrates.

13. The method according to claim 11, characterized in that, Sending the first video frame with the target bitrate according to the target transmission rate, so that the client can play the first video frame, includes: According to the target transmission rate, the first frame of the video with the target bitrate is sent so that the client can play the first frame of the video in response to a user-triggered playback operation.

14. An electronic device, characterized in that, include: A memory and a processor; wherein the memory stores executable code, and when the executable code is executed by the processor, the processor performs the video playback method as described in any one of claims 1 to 13.

15. A non-transitory machine-readable storage medium, characterized in that, The non-transitory machine-readable storage medium stores executable code that, when executed by a processor of an electronic device, causes the processor to perform the video playback method as described in any one of claims 1 to 13.

16. A computer program product, characterized in that, The computer program product includes a computer program or instructions that enable the computer program or instructions to perform the steps of the video playback method according to any one of claims 1 to 13.