Video playing method and device, electronic equipment, storage medium and program product
By generating and updating target adjustment mapping data, the terminal can preload the corresponding video clips after the user adjusts the video playback progress, solving the problem of stuttering video playback and improving fluency.
Patent Information
- Application Number
- CN202311335241.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-13
- Publication Date
- 2025-04-15
AI Technical Summary
After users adjust the video playback progress, they often experience lag, resulting in poor smoothness of video playback.
By obtaining the user's playback progress adjustment data, generating prediction adjustment mapping data, and performing scene analysis of the video to be played, updating the prediction adjustment end point to generate target adjustment mapping data. Then, the target adjustment mapping data is sent to the terminal, which preloads the video based on the current playback point and the target adjustment terminal.
After the user adjusts the playback progress, he can immediately play preloaded videos, reducing the possibility of playback stuttering and improving the smoothness of video playback.
Smart Images

Figure CN119835478A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a video playback method, device, electronic device, storage medium and program product. Background Art
[0002] In recent years, with the rapid development of computer technology, the types and quantity of videos have grown explosively, and users can watch videos through various media channels such as video portals, online live broadcast platforms, and digital TV channels. Most videos support fast forward, that is, users can adjust the playback progress of the video according to actual needs to skip the content they don't like.
[0003] However, currently, when users adjust the playback progress of a video, a freeze usually occurs, resulting in poor smoothness of the video playback. Summary of the invention
[0004] The embodiments of the present application provide a video playback method, device, electronic device, storage medium and program product, which can play the video smoothly after the user adjusts the playback progress of the video.
[0005] The present application provides a video playback method, the method comprising:
[0006] Acquire playback progress adjustment data of the video to be played, wherein the playback progress adjustment data includes a plurality of progress adjustment starting points and at least one progress adjustment end point corresponding to each of the progress adjustment starting points;
[0007] Generate prediction adjustment mapping data according to the multiple progress adjustment starting points and at least one progress adjustment endpoint corresponding to each of the progress adjustment starting points, the prediction adjustment mapping data including the multiple progress adjustment starting points and the prediction adjustment endpoint corresponding to each of the progress adjustment starting points;
[0008] Performing scene analysis on the video to be played to obtain multiple scene switching points;
[0009] According to the multiple scene switching points, the predicted adjustment mapping data is updated to obtain target adjustment mapping data, wherein the target adjustment mapping data includes the multiple progress adjustment starting points and a target adjustment end point corresponding to each progress adjustment starting point;
[0010] The target adjustment mapping data is sent to a terminal so that the terminal preloads the video to be played based on the current playback point and the target adjustment mapping data during the process of playing the video to be played.
[0011] The present application provides a video playback method, the method comprising:
[0012] Acquire target adjustment mapping data of a video to be played from a server, wherein the video to be played includes multiple play points;
[0013] In the process of playing the video to be played, based on the current play point of the video to be played and the target adjustment mapping data, determining the point to be played from the multiple play points;
[0014] Preloading the to-be-loaded segment, wherein the to-be-loaded segment is a video segment of the to-be-played video with the to-be-played point as the starting point;
[0015] In response to a preset progress adjustment operation for the video to be played, the current playing point is updated to the point to be played, so as to play the segment to be loaded.
[0016] The present application also provides a video playback device, which includes:
[0017] A data acquisition unit, configured to acquire playback progress adjustment data of a video to be played, wherein the playback progress adjustment data includes a plurality of progress adjustment starting points and at least one progress adjustment end point corresponding to each of the progress adjustment starting points;
[0018] a prediction unit, configured to generate prediction adjustment mapping data according to the multiple progress adjustment starting points and at least one progress adjustment endpoint corresponding to each of the progress adjustment starting points, wherein the prediction adjustment mapping data includes the multiple progress adjustment starting points and the prediction adjustment endpoint corresponding to each of the progress adjustment starting points;
[0019] A scene analysis unit, used to perform scene analysis processing on the video to be played to obtain multiple scene switching points;
[0020] an updating unit, configured to update the predicted adjustment mapping data according to the multiple scene switching points to obtain target adjustment mapping data, wherein the target adjustment mapping data includes the multiple progress adjustment starting points and a target adjustment end point corresponding to each of the progress adjustment starting points;
[0021] The sending unit is used to send the target adjustment mapping data to the terminal so that the terminal preloads the video to be played based on the current playback point and the target adjustment mapping data during the process of playing the video to be played.
[0022] In some embodiments, the prediction unit further comprises:
[0023] A frequency acquisition subunit, used for acquiring, for each of the progress adjustment starting points, the frequency of each progress adjustment end point corresponding to the progress adjustment starting point;
[0024] A prediction calculation subunit, configured to calculate a predicted adjustment endpoint corresponding to the progress adjustment starting point according to the frequency and the multiple progress adjustment endpoints;
[0025] A generating subunit is used to generate the predicted adjustment mapping data according to the predicted adjustment end point corresponding to each progress adjustment starting point.
[0026] In some embodiments, the updating unit further comprises:
[0027] A distance calculation subunit is used to calculate the time distance between the predicted adjustment end point and each of the scene switching points for each progress adjustment starting point, so as to obtain multiple time distances;
[0028] A first updating subunit, configured to determine a scene switching point corresponding to the target distance as a target adjustment end point if the target distance is less than a preset threshold, wherein the target distance is a minimum distance among the multiple time distances;
[0029] A second updating subunit, configured to determine the predicted adjustment endpoint as a target adjustment endpoint if the target distance is not less than a preset threshold;
[0030] The target acquisition subunit is used to obtain target adjustment mapping data according to all target adjustment endpoints.
[0031] In some embodiments, the sending unit further includes:
[0032] A request acquisition subunit, used to acquire a play request of a video to be played from a terminal, wherein the play request includes an object identifier;
[0033] A classification determination subunit, configured to determine the object type according to the object attribute data associated with the object identifier;
[0034] A sending subunit is used to send the target adjustment mapping data and the object type to the terminal according to the object type.
[0035] The present application also provides a video playback device, which includes:
[0036] A receiving unit, configured to obtain target adjustment mapping data of a video to be played from a server, wherein the video to be played includes a plurality of play points;
[0037] a to-be-played determining unit, configured to determine a to-be-played point from the plurality of play points based on a current play point of the to-be-played video and the target adjustment mapping data during the process of playing the to-be-played video;
[0038] A preloading unit, used for preloading a to-be-loaded segment, wherein the to-be-loaded segment is a video segment of the to-be-played video with the to-be-played point as a starting point;
[0039] The playing unit is used to update the current playing point to the to-be-played point in response to a preset progress adjustment operation on the to-be-played video, so as to play the to-be-loaded segment.
[0040] In some embodiments, the target adjustment mapping data includes a plurality of progress adjustment starting points and a target adjustment end point corresponding to each of the progress adjustment starting points, and the to-be-played determination unit further includes:
[0041] a quantity determination subunit, configured to determine a specified quantity according to an object type, the object type being obtained from the server;
[0042] A designated determination subunit, used to determine the current playback point as a designated progress adjustment starting point;
[0043] A to-be-played determination subunit is used to determine the to-be-played point corresponding to the specified progress adjustment starting point according to the multiple progress adjustment starting points and the target adjustment end point corresponding to each of the progress adjustment starting points;
[0044] The loop subunit is used to determine the to-be-played point as a new designated progress adjustment starting point, and return to execute the step of determining the to-be-played point corresponding to the designated progress adjustment starting point according to the multiple progress adjustment starting points and the target adjustment end point corresponding to each of the progress adjustment starting points, until the designated number of to-be-played points are determined.
[0045] In some embodiments, the to-be-played determination subunit is further used for:
[0046] Detecting the designated progress adjustment starting point among the multiple progress adjustment starting points;
[0047] If the designated progress adjustment starting point is detected, the target adjustment end point corresponding to the designated progress adjustment starting point in the target adjustment mapping data is determined as the point to be played;
[0048] If the specified progress adjustment starting point is not detected, the point to be played is determined according to the adjacent playing points of the specified progress adjustment starting point.
[0049] In some embodiments, the to-be-played determination subunit is further used for:
[0050] Detecting the adjacent playback points among the multiple progress adjustment starting points;
[0051] If the adjacent playback point is detected, the target adjustment end point corresponding to the adjacent playback point in the target adjustment mapping data is determined as the point to be played;
[0052] If the adjacent playback point is not detected, the preset playback point corresponding to the designated progress adjustment starting point is determined as the to-be-played point.
[0053] In some embodiments, the preloading unit further comprises:
[0054] The duration determination subunit is used to determine the loading duration corresponding to each to-be-played point according to the object type;
[0055] A segment determination subunit is used to determine, for each to-be-played point, a to-be-played segment of the to-be-played video with the loading time length from the to-be-played video, taking the to-be-played point as a starting point;
[0056] The preloading subunit is used to preload the segment to be loaded.
[0057] In some embodiments, the playback unit further includes:
[0058] An adjustment response subunit, configured to determine a target to-be-played point from the specified number of to-be-played points in response to a preset progress adjustment operation for the to-be-played video;
[0059] The playing subunit is used to control the video to be played to jump from the current playing point to the target playing point to play the to-be-loaded segment corresponding to the target playing point.
[0060] An embodiment of the present application also provides an electronic device, including a memory storing multiple instructions; the processor loads instructions from the memory to execute the steps in any one of the video playback methods provided in the embodiments of the present application.
[0061] An embodiment of the present application also provides a computer-readable storage medium, which stores a plurality of instructions, and the instructions are suitable for a processor to load to execute the steps in any one of the video playback methods provided in the embodiments of the present application.
[0062] An embodiment of the present application also provides a computer program product, including multiple instructions, which, when executed by a processor, implement the steps of any one of the video playback methods provided in the embodiments of the present application.
[0063] The embodiment of the present application can obtain the playback progress adjustment data of the video to be played, use the playback progress adjustment data to generate a predicted adjustment end point corresponding to each progress adjustment starting point, perform scene analysis on the video to be played to obtain multiple scene switching points, and use the multiple scene switching points to update the predicted adjustment end point to obtain a target adjustment end point corresponding to each progress adjustment starting point, which is then sent to the terminal so that the terminal can preload the video according to the target adjustment end point and the current playback point during the process of playing the video to be played. Due to the preloading, the preloaded video can be played immediately after the playback progress of the object is adjusted, thereby reducing the possibility of playback jams and thereby improving the smoothness of video playback. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0065] Figure 1a is a schematic diagram of a scenario of a video playback method provided in an embodiment of the present application;
[0066] Figure 1b It is a flowchart of a video playback method provided in an embodiment of the present application;
[0067] Figure 1c is a schematic diagram of operation data reported by a terminal provided in an embodiment of the present application;
[0068] Figure 2a is a flowchart of a video playback method provided by another embodiment of the present application;
[0069] Figure 2b It is a processing framework diagram of different progress adjustment operations provided by an embodiment of the present application;
[0070] Figure 2c This is a schematic diagram of the interface during normal sliding provided in an embodiment of the present application;
[0071] Figure 2d This is a schematic diagram of the interface when the highlight is slid provided in an embodiment of the present application;
[0072] Figure 3a is an interactive schematic diagram of a video playback method provided in an embodiment of the present application;
[0073] Figure 3b It is a schematic diagram of the overall architecture of the video playback method provided in the embodiment of the present application;
[0074] Figure 3cis the frequency of each progress adjustment endpoint corresponding to the 100th second provided in the embodiment of the present application;
[0075] Figure 3d is a distribution diagram of various progress adjustment endpoints corresponding to the 100th second provided in an embodiment of the present application;
[0076] Figure 4a is a structural schematic diagram of a video playback device provided in an embodiment of the present application;
[0077] Figure 4b is a structural schematic diagram of a video playback device provided by another embodiment of the present application;
[0078] Figure 5 It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0079] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.
[0080] Embodiments of the present application provide a video playback method, device, electronic device, storage medium, and program product.
[0081] The electronic device may be a terminal, a server, or other equipment. The terminal may be a mobile phone, a tablet computer, a smart Bluetooth device, a laptop, or a personal computer (PC), an intelligent voice interaction device, a smart home appliance, a vehicle terminal, an aircraft, or other equipment; the server may be a single server, or a server cluster or a cloud server composed of multiple servers.
[0082] The embodiments of the present invention can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, smart transportation, assisted driving, audio and video, etc.
[0083] For example, refer to Figure 1a , shows a schematic diagram of an application scenario of a video playback method, wherein the application scenario may include a server 101 and a terminal 102 .
[0084] The server 101 can obtain the playback progress adjustment data of the video to be played, which may include multiple progress adjustment starting points and at least one progress adjustment end point corresponding to each progress adjustment starting point, and then use the playback progress adjustment data to generate predicted adjustment mapping data, which includes multiple progress adjustment starting points and predicted adjustment end points corresponding to each progress adjustment starting point; perform scene analysis on the video to be played to obtain multiple scene switching points; use the multiple scene switching points to update the predicted adjustment terminal corresponding to each progress adjustment starting point to the target adjustment end point to obtain target adjustment mapping data. Finally, the target adjustment mapping data can be sent to the terminal 102, so that the terminal 102 can preload the video to be played based on the current playback point and the target adjustment mapping data during the process of playing the video to be played.
[0085] Terminal 102 can obtain target adjustment mapping data of the video to be played from server 101; in the process of playing the video to be played, determine the point to be played from the multiple play points based on the current play point of the video to be played and the target adjustment mapping data; preload the segment to be loaded; in response to a preset progress adjustment operation for the video to be played, update the current play point to the point to be played to play the segment to be loaded.
[0086] It should be noted that the order of the following embodiments is not intended to limit the preferred order of the embodiments.
[0087] It can be understood that in the specific implementation of the present application, data related to the object, such as object identification, object operation data, object attribute data and other related data, when the above embodiments of the present application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.
[0088] In this embodiment, a video playback method is provided, such as Figure 1b As shown, the video playback method can be executed by an electronic device. In the embodiment of the present application, the electronic device is taken as a server as an example for description, and the specific process can be as follows:
[0089] 110. Obtain playback progress adjustment data of the video to be played.
[0090] The video to be played is a video that can be played by an object. The video to be played may refer to any video in the video library of a video website, wherein the object may refer to a user or an intelligent assistant, etc.
[0091] The playback progress adjustment data refers to data generated when an object performs a progress adjustment operation during the playback of a video to be played, which may include multiple progress adjustment starting points and at least one progress adjustment end point corresponding to each progress adjustment starting point.
[0092] The progress adjustment operation can be used to adjust the playback progress of the video to be played, and each progress adjustment operation can generate a progress adjustment starting point and a corresponding progress adjustment end point. For example, if the 3rd second of the video to be played is currently being played, the progress adjustment operation can be used to directly jump from the 3rd second to the 20th second. The 3rd second is the progress adjustment starting point, and the 20th second is the progress adjustment end point.
[0093] The playback progress adjustment data may be data within a historical time period, and the historical time period may refer to all time before the current time, or may refer to a month before the current time, or a week, etc., and may be set according to actual needs and is not specifically limited here.
[0094] During the playback of the video on the terminal, each time a progress adjustment operation is detected, the operation data corresponding to the progress adjustment operation can be reported to the server. Figure 1c , showing a schematic diagram of operation data. Among them, device is the device model, format is the video format, pstime is the start time of progress adjustment, petime is the end time of progress adjustment, lestime is the time point when the freeze starts, and letime is the time point when the freeze ends. After the progress adjustment operation, the video may freeze. The terminal can record the time point when the video freezes and the time point when the freeze ends and report them together. Of course, the reported operation data can also include the start time, end time, object identifier, etc. of the progress adjustment operation, which can be set according to actual needs.
[0095] In some implementations, when reporting operation data, the client may merge operation data corresponding to the progress adjustment operation with a preset progress adjustment operation interval to improve the accuracy of the reported data. For example, a preset time period may be set, and progress adjustment operations detected within the preset time period are merged and reported.
[0096] In some implementations, each time the client detects a progress adjustment operation, it reports the corresponding operation data, and the server performs data analysis on all the operation data to obtain the playback progress adjustment data. As an implementation, when reporting the operation data, the terminal can also report the object identifier corresponding to the object performing the progress adjustment operation, where the object identifier can refer to the video account information of the video being watched.
[0097] In order to improve the accuracy of the playback progress adjustment data, the server can merge the operation data corresponding to the object identifier. For example, the operation data corresponding to each object identifier can be sorted according to the start time of the progress adjustment operation to obtain sorted operation data; the operation interval between adjacent operation data is calculated; if the operation interval between adjacent operation data is less than a preset value, the adjacent operation data is merged to obtain merged operation data.
[0098] There may be multiple operation data corresponding to the object identifier, and the sorting process may be sorted in the order of the start time, and the earlier the start time, the higher the ranking of the operation data. Adjacent operation data refers to two operation data with adjacent rankings, for example, operation data ranked 1 and operation data ranked 2.
[0099] When calculating the operation interval between adjacent operation data, the start time of the operation data ranked lower can be used, and the end time of the operation data ranked higher can be subtracted. For example, the start time of the operation data ranked 1 is 14:20:22, and the end time is 14:20:23 on the same day, and the start time of the operation data ranked 2 is 14:20:24 on the same day, and the end time is 14:20:25 on the same day, then the operation interval is 1 second.
[0100] The preset value may be a smaller value set in advance, for example, if the preset value is 2 seconds and the operation interval is less than 2 seconds, the operation data ranked 1 and the operation data ranked 2 may be merged. If the progress adjustment starting point of the operation data ranked 1 is the 2nd second and the progress adjustment end point is the 10th second, and the progress adjustment starting point of the operation data ranked 2 is the 10th second and the progress adjustment end point is the 20th second, then in the merged operation data, the progress adjustment starting point is the 2nd second, the progress adjustment end point is the 20th second, the start time is 14:20:22, and the end time is 14:20:25. Thus, the merged operation data may be obtained.
[0101] Since the playback progress adjustment data is data generated by multiple objects in a historical time period, and each progress adjustment operation will generate a progress adjustment starting point and a progress adjustment end point, after merging these data, multiple progress adjustment starting points can be obtained, and each progress adjustment starting point corresponds to at least one progress adjustment end point. For example, for the video to be played, the data of object A includes starting point 1 and corresponding end point 1, starting point 2 and corresponding end point 3, the data of object B includes starting point 1 and corresponding end point 4, and the data of object C includes starting point 1 and corresponding end point 7. Through data integration, it can be obtained that starting point 1 corresponds to end point 1, end point 4, and end point 7, and starting point 2 corresponds to end point 3.
[0102] It should be noted that data integration can be executed repeatedly until the operation intervals between adjacent operation data are greater than or equal to the preset value, and the playback progress adjustment data is obtained, and the playback progress adjustment data includes multiple progress adjustment starting points and at least one progress adjustment end point corresponding to each progress adjustment starting point.
[0103] 120. Generate prediction adjustment mapping data according to the multiple progress adjustment starting points and at least one progress adjustment end point corresponding to each of the progress adjustment starting points.
[0104] According to the acquired playback progress adjustment data, the predicted adjustment mapping data of the video to be played can be generated. Among them, the predicted adjustment mapping data includes the predicted adjustment end point corresponding to each progress adjustment starting point, and the progress adjustment starting point and the predicted adjustment end point correspond one to one. The predicted adjustment end point refers to the object that has a greater probability of adjusting the progress to the corresponding predicted adjustment end point when the video to be played reaches the progress adjustment starting point calculated based on data analysis, and the predicted adjustment end point corresponding to the progress adjustment starting point can be calculated from at least one progress adjustment end point corresponding to the progress adjustment starting point.
[0105] In some embodiments, when generating the predicted adjustment mapping data, the frequency of each progress adjustment endpoint corresponding to each progress adjustment starting point may be obtained; based on the frequency and the at least one progress adjustment endpoint, the predicted adjustment endpoint corresponding to the progress adjustment starting point is calculated; and based on the predicted adjustment endpoint corresponding to each progress adjustment starting point, the predicted adjustment mapping data is generated.
[0106] Each progress adjustment starting point corresponds to at least one progress adjustment end point, and there may be the same progress adjustment end point among the at least one progress adjustment end point, so for each progress adjustment starting point, the frequency of each progress adjustment end point corresponding to the progress adjustment starting point can be obtained. The frequency refers to the number of times each progress adjustment end point appears among the progress adjustment end points corresponding to the progress adjustment starting point.
[0107] According to the frequency corresponding to each progress adjustment endpoint, the predicted adjustment endpoint can be calculated. As an implementation method, the frequency with the highest value in the frequency can be determined as the target frequency, and then the progress adjustment endpoint corresponding to the target frequency is determined as the predicted adjustment endpoint. For example, for the progress adjustment starting point 1, the frequency of the progress adjustment endpoint 1 is 3, the frequency of the progress adjustment endpoint 2 is 5, and the frequency of the progress adjustment endpoint 3 is 7, then 7 is the target frequency, and the progress adjustment endpoint 3 is the predicted adjustment endpoint. That is, when multiple videos to be played are played to the progress adjustment starting point 1, more objects will adjust the progress to the progress adjustment endpoint 3.
[0108] As an implementation method, a weighted average calculation of the progress adjustment endpoints may be performed based on the frequency to obtain the predicted adjustment endpoint. For example, each progress adjustment endpoint is multiplied by its corresponding frequency and then added to obtain the weighted endpoint; all frequencies are summed to obtain the total frequency; the ratio between the weighted endpoint and the total frequency is calculated to obtain the predicted adjustment endpoint. By calculating the weighted average calculation, the frequency of each progress adjustment endpoint can be considered, making the predicted adjustment endpoint more accurate.
[0109] 130. Perform scene analysis on the video to be played to obtain multiple scene switching points.
[0110] A scene is a complete plot or event in a video that is composed of a group of interrelated scenes. A scene usually includes a group of relatively independent scenes, each of which has its own time, place, characters, plot and other elements, which are used to show the development of the story and the turning point of the plot. A scene switching point refers to the moment when a scene changes in the video to be played.
[0111] The video to be played may be composed of multiple frames of images. When performing scene analysis processing on the video to be played, the pixel difference between each frame of the image and the previous frame of the image may be calculated, and the pixel difference may include difference values of multiple pixel points; based on the difference values of the multiple pixel points, a difference area may be determined from the image; and based on the difference area, a scene switching point may be determined.
[0112] The multiple frames of images in the video to be played have a certain order, and each frame includes multiple pixels. For each frame, the pixel difference between the image and the previous frame can be calculated, that is, the difference between the pixel value of each pixel in the image and in the previous frame.
[0113] In some embodiments, when calculating the pixel difference, for each pixel in the image, the first pixel value of the pixel in the image is obtained, and the second pixel value of the pixel in the previous frame of the image is obtained; the absolute value of the difference between the first pixel value and the second pixel value is calculated to obtain the difference value of each pixel; and the pixel difference is obtained according to the difference value of each pixel. For example, the size of the image is 2*2 pixels, that is, there are 4 pixels in total, the pixel matrix of the image is [10, 20, 15, 25], and the pixel matrix of the previous frame of the image is [20, 20, 25, 35]. For the first pixel, the difference value is 10-20=-10, and the absolute value is 10. The difference values of subsequent pixels can be calculated similarly, and the pixel difference is [10, 0, 10, 10].
[0114] In some embodiments, when calculating the pixel difference, the average pixel value of the previous frame image may be calculated; for each pixel in the image, the absolute value of the difference between the pixel value of the pixel and the pixel average value is calculated to obtain the difference value of each pixel; and the pixel difference is obtained according to the difference value of each pixel. As in the above example, the pixel matrix of the image is [10, 20, 15, 25], the pixel matrix of the previous frame image is [20, 20, 25, 35], the average pixel value is (20+20+25+35) / 4=25, for the first pixel, the difference value is 10-25=-15, and the absolute value is 15. The difference values of subsequent pixels can be calculated similarly, and the pixel difference is [15, 5, 10, 0].
[0115] After obtaining the difference values of the plurality of pixels, a difference region is determined from the image. For example, pixels whose difference values are greater than a preset difference are determined as difference pixels, and then a connected region formed by connecting adjacent difference pixels is determined as the difference region. The proportion of pixels in the difference region to the total number of pixels in the image is calculated to obtain a pixel ratio, and when the pixel ratio is greater than a preset ratio, the frame image is determined as a scene switching image.
[0116] Generally, a playback point of the video to be played, i.e., one second, may include multiple frames, which may be determined according to the frame rate (Frames Per Second, FPS), i.e., the number of frames that can be played per second, for example, 24 FPS, i.e., 24 frames of images can be played per second. Therefore, after determining the scene switching image, the playback point where the scene switching image is located may be determined as the scene switching point.
[0117] In some embodiments, a trained scene recognition model can also be used to determine the scene switching image. When training the scene recognition model, the sample switching images in the sample video can be marked. Since the video is a continuous frame sequence, the scene recognition model can be a recurrent neural network or a convolutional neural network, so that the features of the frame sequence can be learned and the predicted switching image can be obtained. The loss function is constructed by the difference between the predicted switching image and the sample switching image to continuously adjust the model parameters of the scene recognition model until the loss function converges. Thus, by inputting multiple consecutive frames of images in the video to be played into the scene recognition model, the corresponding scene switching image can be obtained. Furthermore, the scene switching point can be determined by the frame rate and the scene switching image.
[0118] 140. Update the predicted adjustment mapping data according to the multiple scene switching points to obtain target adjustment mapping data.
[0119] The predicted adjustment mapping data is obtained using the data corresponding to the progress adjustment operation reported by the terminal. In order to further improve its accuracy, the multiple scene switching points obtained can be used to update each predicted adjustment end point in the predicted adjustment mapping data to obtain the target adjustment end point, and then obtain the target adjustment mapping data.
[0120] As an implementation method, for each predicted adjustment end point corresponding to the starting point of each progress adjustment, the time distance between the predicted adjustment end point and each of the scene switching points is calculated to obtain multiple time distances; if the target distance is less than a preset threshold, the scene switching point corresponding to the target distance is determined as the target adjustment end point, and the target distance is the minimum distance among the multiple time distances; if the target distance is not less than the preset threshold, the predicted adjustment end point is determined as the target adjustment end point; and based on all target adjustment end points, the target adjustment mapping data is obtained.
[0121] The prediction mapping adjustment data includes multiple progress adjustment starting points and the prediction adjustment end points corresponding to each progress adjustment starting point. For each prediction adjustment end point, the time distance between the prediction adjustment end point and the scene switching point can be calculated. Among them, whether it is the prediction adjustment end point or the scene switching point, it is a playback point in the video to be played. If the prediction adjustment end point is different and the scene switching point is different, and a time difference is generated, it is the time distance. For example, the time distance between the 20th second of the video to be played and the 30th second of the video to be played is 10 seconds.
[0122] When adjusting the playback progress of a video to be played, the subject usually does not want to watch the content of a certain scene, so he directly skips the scene and continues to watch the next scene. Therefore, in order to obtain a more accurate target adjustment end point, it is possible to determine whether there is a scene switching point near the predicted adjustment end point, and use the scene switching point near it to correct the predicted adjustment end point to obtain the target adjustment end point. The target adjustment end point is when the video to be played reaches a certain progress adjustment starting point, the probability that the subject will adjust the progress to the target adjustment end point is higher.
[0123] For example, the time distance between the predicted adjustment end point and each scene switching point can be calculated to obtain multiple time distances, wherein one time distance corresponds to one scene switching point. Then, the minimum distance among the multiple time distances can be determined as the target distance, and by judging the relationship between the target distance and the preset threshold, it is determined whether there is a scene switching point near the predicted adjustment end point. The preset threshold can be set according to actual needs, such as 5 seconds, 3 seconds, etc., and is not specifically limited here.
[0124] If the target distance is less than the preset threshold, it can be considered that the scene switching point corresponding to the target distance is near the predicted adjustment end point, and the scene switching point corresponding to the target distance can be determined as the target adjustment end point. If the target distance is not less than the preset threshold, that is, greater than or equal to the preset threshold, it can be considered that there is no scene switching point near the predicted adjustment point, and the predicted adjustment end point can be determined as the target adjustment end point.
[0125] Therefore, through multiple scene switching points, the predicted adjustment end point corresponding to each progress adjustment starting point can be corrected to the target adjustment end point, thereby obtaining target adjustment mapping data, which includes multiple progress adjustment starting points and target adjustment end points corresponding to the progress adjustment starting points one by one.
[0126] 150. Send the target adjustment mapping data to a terminal, so that when the terminal plays the video to be played, the terminal preloads the video to be played based on the current playback point and the target adjustment endpoint.
[0127] After obtaining the target adjustment mapping data, the server can send the target adjustment mapping data to the terminal so that when the terminal plays the video to be played, it can preload the video based on the current playback point and the target adjustment end point, thereby ensuring smooth playback of the video to be played when the user adjusts the playback progress.
[0128] As an implementation manner, the server may actively push the target adjustment mapping data to the terminal. For example, after generating the target adjustment mapping data, the server may immediately push the target adjustment mapping data to the terminal.
[0129] As an implementation mode, upon receiving a playback request for a video to be played sent by a terminal, the server may send the target adjustment mapping data corresponding to the video to be played to the terminal.
[0130] Of course, when receiving a play request, the server may also determine whether to send the target adjustment mapping data based on the object that initiated the play request. For example, when sending the target adjustment mapping data to the terminal, the server may obtain a play request of the video to be played from the terminal, the play request including an object identifier; determine the object type according to the object attribute data associated with the object identifier; and send the target adjustment mapping data and the object type to the terminal according to the object type.
[0131] When the object plays the video to be played on the terminal, the terminal can generate a play request based on the object's play operation and send the play request to the server, so that the server can obtain the play request of the video to be played from the terminal. The play request can carry an object identifier, that is, the identity identifier of the object that initiates the play request. The object identifier can uniquely represent a certain object, which can be a video account, terminal identification number, etc.
[0132] After obtaining the play request, the server can also obtain the object identifier therein, and based on the object identifier, query the object attribute data associated with the object identifier from the object database, and determine the object type based on the object attribute data.
[0133] The object attribute data may include the video records watched by the object and the number of progress adjustment operations performed in each video. The server may calculate the average number of progress adjustment operations performed by the object based on the object attribute data, and when the average number is greater than or equal to a preset number, determine that the object represented by the object identifier is a frequent adjustment type, and when the average number is less than the preset number, determine that the object represented by the object identifier is a common adjustment type.
[0134] Then, the server may send the target adjustment mapping data and the object type to the terminal only when the object type is a frequently adjusted type. Of course, the server may also send the target adjustment mapping data and the object type to the terminal when the object type is a frequently adjusted type or a common adjustment type.
[0135] The server can generate corresponding target adjustment mapping data for each to-be-played video in the video library, or can generate corresponding target adjustment mapping data only for to-be-played videos whose total duration is greater than a specified duration. In order to facilitate the server to quickly send the target mapping data, the playback request sent by the terminal can also carry the video ID of the to-be-played video, so that the server can determine the to-be-played video that the terminal needs to play according to the video ID, and thus send the target adjustment mapping data corresponding to the to-be-played video to the terminal.
[0136] As an implementation method, at least one video in which the progress adjustment operation is performed more than a preset number of times can be obtained from the object attribute data to obtain a video set. If the video set does not exist, the object type can be directly determined to be a common adjustment type.
[0137] If the video set exists, feature extraction processing can be performed on each video in the video set through a pre-trained feature extraction network to obtain a first feature corresponding to each video. The same feature extraction network is used to perform feature extraction processing on the video to be played to obtain a second feature. Then, the similarity between the second feature and each first feature is calculated, and videos with a similarity greater than a preset similarity are selected.
[0138] Calculate the ratio of the number of videos with a similarity greater than the preset similarity to the total number of videos in the video set. When the ratio is greater than the set ratio, it can be considered that the video to be played and the videos in the video set are relatively similar, and the object will also make frequent adjustments when watching the video to be played, so the object can be determined to be a frequently adjusted type. If the ratio is less than or equal to the set ratio, it can be considered that the video to be played and the videos in the video set are not similar, and the probability of frequent adjustments of the object when watching the video to be played is low, so the object can be determined to be a normal adjustment type. Thus, the object type of the object can change according to different videos to be played to better fit the adjustment habits of the object, thereby ensuring that the subsequent preloaded clips of the terminal have a greater probability of being played by the object.
[0139] The method provided by the embodiment of the present application can obtain the playback progress adjustment data of the video to be played, generate the predicted adjustment end point corresponding to each progress adjustment starting point using the playback progress adjustment data, perform scene analysis on the video to be played to obtain multiple scene switching points, and use multiple scene switching points to update the predicted adjustment end point to obtain the target adjustment end point corresponding to each progress adjustment starting point, so that the target adjustment end point is more accurate. Then send it to the terminal so that the terminal can preload the video according to the target adjustment end point and the current playback point during the process of playing the video to be played. Due to the preloading, the video with the progress adjustment can be played immediately after the user performs the progress adjustment operation without freezing, thereby improving the smoothness of the video playback.
[0140] In this embodiment, a video playback method is provided, such as Figure 2a As shown, the video playback method can be executed by an electronic device. In the embodiment of the present application, the electronic device is taken as a terminal as an example for description, and the specific process can be as follows:
[0141] 210. Obtain target adjustment mapping data of the video to be played from the server.
[0142] In the above-mentioned embodiment, after generating the target adjustment mapping data, the server may actively send the target adjustment mapping data to the terminal, so that the terminal may obtain the target adjustment mapping data of the video to be played.
[0143] The object can use the terminal to watch the video. Multiple videos can be displayed in the terminal for the object to choose from. When the object clicks on a video to play it, the terminal can generate a play request corresponding to the video and send the play request to the server. The play request can carry the object identifier, video identifier, etc.
[0144] The server may send the target adjustment mapping data of the video to be played to the terminal according to the received play request, so that the terminal may obtain the target adjustment mapping data of the video to be played and play the video to be played.
[0145] The video to be played may include multiple play points. For example, each second in the video to be played is a play point. If the total duration of the video to be played is 10 minutes, there are 600 play points in the video to be played.
[0146] 220. During playback of the video to be played, determine a point to be played from the multiple playback points based on a current playback point of the video to be played and the target adjustment mapping data.
[0147] The current play point refers to the play point currently being played. For example, if the 4th second of the video to be played is currently being played, the 4th second is the current play point. The to-be-played point refers to the play point that has a high probability of being played after the object performs the progress adjustment operation, that is, the to-be-played point is a play point that is discontinuous with the current play point. For example, if the current play point is the 4th second of the video to be played, the to-be-played point may be the 90th second.
[0148] The target adjustment mapping data includes multiple progress adjustment starting points and the target adjustment end point corresponding to each progress adjustment starting point. That is, when the video to be played is playing the content of the progress adjustment starting point, the object has a greater probability of adjusting the current playback point to the target adjustment end point to continue playing the video to be played.
[0149] Therefore, during the process of playing the video to be played, the terminal can determine the point to be played from the multiple points to be played based on the current play point of the video to be played and the target adjustment mapping data.
[0150] In some embodiments, when determining the point to be played, a specified number can be determined based on an object type, and the object type is obtained from a server; the current playback point is determined as a specified progress adjustment starting point; based on the multiple progress adjustment starting points and the target adjustment end point corresponding to each of the progress adjustment starting points, the point to be played corresponding to the specified progress adjustment starting point is determined; the point to be played is determined as a new specified progress adjustment starting point, and the step of determining the point to be played corresponding to the progress adjustment starting point according to the target adjustment mapping data is returned to execute until the specified number of points to be played are determined.
[0151] The object type may be sent to the terminal by the server when sending the target adjustment mapping data, and the object type refers to the type of the object playing the video to be played. The specific method of determining the object type can refer to the relevant description in the above embodiment, which will not be repeated here.
[0152] After receiving the object type and target adjustment mapping data, the terminal can determine the specified number according to the object type, which is the number of points to be played. That is, for the same video to be played, different types of objects have different numbers of points to be played.
[0153] The terminal may be pre-set with a mapping relationship between types and preset quantities. For example, the types may include a frequently adjusted type and a common adjusted type. The preset quantity corresponding to the frequently adjusted type is 1, and the preset quantity corresponding to the common adjusted type is 2. Thus, based on the mapping relationship, the terminal may determine the specified quantity according to the acquired object type.
[0154] After the specified number is determined, the specified number of points to be played needs to be determined. First, the current play point of the video to be played can be obtained, and the current play point is determined as the specified progress adjustment starting point. Then, based on the multiple progress adjustment starting points in the target adjustment mapping data and the target adjustment end point corresponding to each progress adjustment starting point, the point to be played corresponding to the specified progress adjustment starting point is determined.
[0155] It should be noted that the multiple progress adjustment starting points in the target adjustment mapping data may not include all the playback points in the to-be-played video. Therefore, when determining the to-be-played point corresponding to the specified progress adjustment starting point, the specified progress adjustment starting point may be detected among the multiple progress adjustment starting points; if the specified progress adjustment starting point is detected, the target adjustment end point corresponding to the specified progress adjustment starting point in the target adjustment mapping data is determined as the to-be-played point; if the specified progress adjustment starting point is not detected, the to-be-played point is determined based on the adjacent playback points of the specified progress adjustment starting point.
[0156] Among the multiple progress adjustment starting points in the target adjustment mapping data, the designated progress adjustment starting point is detected. If the designated progress adjustment starting point is detected, it indicates that the designated progress adjustment starting point is in the target adjustment mapping data and has a corresponding target adjustment end point. Then, the target adjustment end point corresponding to the designated progress adjustment starting point can be directly determined as the to-be-played point corresponding to the designated progress adjustment starting point.
[0157] If the specified progress adjustment starting point is not detected, it indicates that the specified progress adjustment starting point is not in the target adjustment mapping data, and the point to be played cannot be determined from the target adjustment mapping data. During the playback of the video to be played, the content of the adjacent playback points will be played faster. For example, if the current playback point is the 10th second of the video, the 11th second of the video will be played soon. Therefore, the point to be played can be determined based on the adjacent playback points of the specified progress adjustment starting point.
[0158] The adjacent playback point refers to a playback point that is played after the specified progress adjustment starting point and whose time distance from the specified progress adjustment starting point is less than a specified threshold. The specified threshold can be set according to actual needs. For example, the specified threshold can be set to 2, and the adjacent playback point is the next playback point of the specified progress adjustment starting point.
[0159] When determining the point to be played based on the adjacent playback point of the specified progress adjustment starting point, the adjacent playback point may be detected among the multiple progress adjustment starting points; if the adjacent playback point is detected, the target adjustment end point corresponding to the adjacent playback point in the target adjustment mapping data is determined as the point to be played; if the adjacent playback point is not detected, the preset playback point corresponding to the specified progress adjustment starting point is determined as the point to be played.
[0160] Similarly, adjacent playback points can be detected among multiple progress adjustment starting points; if an adjacent playback point is detected, the target adjustment end point corresponding to the adjacent playback point is directly determined as the point to be played; if the adjacent playback point is still not detected, the preset playback point corresponding to the current playback point is determined as the point to be played.
[0161] The preset play point refers to a play point after the specified progress adjustment starting point and the time distance from the specified progress adjustment starting point is the preset distance. The preset distance can be set according to actual needs. For example, it can be set to 10 seconds. If the specified progress adjustment starting point is the 20th second of the video to be played, the preset play point is the 30th second of the video to be played.
[0162] For example, the progress adjustment starting points in the target adjustment mapping data are the 10th second, the 13th second, and the 20th second, among which the target adjustment end point corresponding to the 13th second is the 90th second. If the progress adjustment starting point is specified as the 12th second, since the target adjustment mapping data does not have data for the 12th second, the data for the 13th second can be directly searched to determine the point to be played as the 90th second. If the progress adjustment starting point is specified as the 14th second, the preset distance is 10 seconds, since the target adjustment mapping data does not have data for the 14th second and the 15th second, the 24th second can be directly determined as the point to be played.
[0163] Then, the point to be played can be determined as a new designated adjustment starting point, and the step of returning to the target adjustment mapping data to determine the target adjustment end point corresponding to the designated progress adjustment starting point as the point to be played can be executed until the number of points to be played reaches the designated number.
[0164] 230. Preload a segment to be loaded, where the segment to be loaded is a video segment in the video to be played that takes the point to be played as a starting point.
[0165] The segment to be loaded refers to a video segment in the video to be played that takes the point to be played as the starting point. For example, if the point to be played is the 10th second of the video to be played, then the segment to be loaded is a video segment starting from the 10th second of the video to be played.
[0166] The aforementioned terminal can determine a specified number of points to be played according to the type of object it receives, and then for each point to be played, its corresponding segment to be loaded can be determined.
[0167] In some embodiments, the duration of each segment to be loaded, that is, the loading duration of the point to be played, can be the same, which is a preset duration. For example, the preset duration is 20 seconds. The two points to be played are determined as follows, which are the 50th and 100th seconds of the video to be played. Then the segment to be loaded corresponding to the 50th second is the video segment from the 50th to the 70th second, and the segment to be loaded corresponding to the 100th second is the video segment from the 100th to the 120th second.
[0168] In some embodiments, the duration of each segment to be loaded may be different. For example, the loading duration corresponding to each point to be played may be determined based on the object type; for each point to be played, the segment to be loaded with the loading duration is determined from the video to be played with the point to be played as the starting point; and the segment to be loaded is preloaded.
[0169] Different object types have different numbers of points to be played, and the loading durations corresponding to the points to be played may also be different. As an implementation, since the number of points to be played is the same for the same object type, the preset loading durations corresponding to the points to be played may be preset.
[0170] For example, if the object type is a frequent drag type, two points to be played can be determined, and the loading time corresponding to the first point to be played can be x seconds, and the loading time corresponding to the second point to be played can be y seconds. The first point to be played is in the video to be played, and the playback order is earlier than the second point to be played. Therefore, based on the preset loading time corresponding to each point to be played, the loading time corresponding to each point to be played can be determined.
[0171] As an implementation method, the loading ratio of each point to be played can be determined according to the object type, and the loading time corresponding to each point to be played can be determined according to the total loading time and the loading ratio. For example, if the object type is a frequent dragging type and there are 2 points to be played, the loading ratio of the points to be played is 3:2, that is, the loading time corresponding to the first point to be played accounts for 3 / 5 of the total loading time, and the loading time corresponding to the second point to be played accounts for 2 / 5 of the total loading time. If the total loading time is 60 seconds, the loading time corresponding to the first point to be played is 36 seconds, and the loading time corresponding to the second point to be played is 24 seconds.
[0172] Among them, the preset loading time and loading ratio can be obtained by the server after analyzing the start time and end time of the freeze in the operation data in order to minimize the possibility of freeze, and then the server sends it to the terminal so that the terminal can use it when needed.
[0173] Thus, after determining the loading time corresponding to each point to be played, the terminal can use each point to be played as a starting point, determine the to-be-loaded segment with the loading time from the video to be played, and preload the to-be-loaded segment. When preloading the to-be-loaded segment, the terminal can send segment request data to the video server or the content delivery network (Content Delivery Network, CDN) so that the to-be-loaded segment is saved in the terminal running the terminal to improve the smoothness of video playback. After the preloading of the to-be-loaded segment is completed, it can be loaded in a point-to-point manner to reduce the pressure on the video server.
[0174] It should be noted that the object may not adjust the progress. In order to ensure the smoothness of the current playback, in addition to preloading the segments to be loaded, a small segment after the current playback point can also be preloaded. Therefore, even if the object does not adjust the playback progress, there will be no lag when playing normally according to the current playback progress, which further improves the smoothness of video playback.
[0175] 240. In response to a preset progress adjustment operation for the video to be played, update the current playing point to the point to be played to play the segment to be loaded.
[0176] During the process of playing the video to be played, the terminal can detect the progress adjustment operation of the object, wherein the progress adjustment operation can be used to adjust the current playing point of the video to be played.
[0177] The progress adjustment operation may include a shortcut key operation, a sliding adjustment operation, a play point dragging operation, etc. Among them, the shortcut key operation refers to the object using a pre-set progress adjustment control, or a pre-set key, etc. to adjust the progress. For example, the key may refer to the left and right keys on the keyboard, the left key may adjust the current play point of the video to be played forward, and the right key may adjust the current play point of the video to be played backward.
[0178] The sliding adjustment operation may include fast sliding and slow sliding, wherein the sliding duration of the fast sliding is less than the preset duration, for example, it may be 1 second. When the terminal detects the sliding adjustment operation of the object, if the sliding duration is less than 1 second, it is a fast sliding, otherwise, it is a slow sliding. Among them, the slow sliding can be divided into ordinary sliding and highlight sliding. Ordinary sliding is to directly slide slowly on the video playback interface to adjust the current playback point, and highlight sliding is to adjust the current playback point by using the wonderful highlights of the video to be played.
[0179] It should be noted that, for normal sliding and point-to-point sliding, the final progress adjustment endpoint, i.e., the target waiting point, can be controlled by the object. However, for shortcut keys and fast sliding, the object is usually not clear about which specific playback point the operation can be adjusted to, i.e., the target waiting point is not controlled by the object. Therefore, in these two cases, the target progress adjustment data can be combined for optimization. For example, see Figure 2b , showing a processing framework diagram of different progress adjustment operations.
[0180] Among them, thumbnails and timelines can be displayed on the interface during normal sliding and highlight sliding, but the specific interface display effects are different. For example, please refer to Figure 2c , shows a schematic diagram of the interface during normal sliding. In which, during normal sliding, the progress bar of the video to be played, that is, the playing timeline, can be displayed, and the playing point corresponding to the current sliding and the video screen corresponding to the playing point, that is, the thumbnail, can also be displayed on the interface.
[0181] For another example, see 2d, which shows a schematic diagram of the interface when the highlights are slid. In the playback progress bar of the video to be played, the playback point where the highlights are located can be marked, for example, Figure 2d In (1), the play point corresponding to the highlight is the black circle in the progress bar. The object can click on the play point corresponding to any highlight, and the thumbnail and timeline of the highlight will be superimposed on the video interface, for example, Figure 2d (2) in which each thumbnail of a highlight has a corresponding playback point on the time axis. The object can slide each highlight to determine the target highlight to be selected. After selecting the target highlight, the object can directly jump to the playback point corresponding to the target highlight to play. Currently, the object can also directly jump to the playback point corresponding to the highlight. It should be noted that the highlight can be the scene switching point determined by the aforementioned server, which can be determined by the server and sent to the terminal.
[0182] Among them, during the quick sliding and shortcut key operation, the target point to be played can be determined from the aforementioned determined points to be played. For example, in response to the preset progress adjustment operation for the video to be played, the target point to be played can be determined from the specified number of points to be played; the video to be played can be controlled to jump from the current playing point to the target point to be played, so as to play the to-be-loaded segment corresponding to the target point to be played.
[0183] The preset progress adjustment operation refers to the quick sliding and shortcut key operation. During the playback of the video to be played, if the preset progress adjustment operation is detected, the target point to be played can be determined from the specified number of points to be played. Specifically, the point to be played closest to the current playback point can be determined as the target point to be played. For example, if the current playback point is the 20th second, and there are two points to be played, namely the 50th second and the 90th second, the 50th second can be determined as the target point to be played.
[0184] Then, the video to be played can be controlled to jump from the current playback point to the target playback point to play the to-be-loaded segment corresponding to the target playback point. Since the segment to be loaded has been preloaded, it can be played directly at this time without waiting, thereby achieving smooth playback of the video. For example, the object uses shortcut keys to adjust the progress of the video to be played. If the video to be played has a title and a previous review, the object needs to operate multiple times to skip the previous review. However, using the method provided in the embodiment of the present application, the previous review can be skipped with one operation, which is convenient to operate and can improve the adjustment experience of the object. At the same time, since the video segment at the point to be played is preloaded, there will be no jamming, which can also improve the viewing experience of the object.
[0185] In the video playback method provided by the embodiment of the present application, the terminal can obtain the target adjustment mapping data of the video to be played from the server; in the process of playing the data to be played, the current playback point and the target adjustment mapping data are used to determine the point to be played; then the point to be played is used as the starting point to determine the video segment to be loaded, and the video segment to be loaded is preloaded, and when the preset progress adjustment operation is detected, it jumps from the current playback point to the point to be played to play the video to be loaded. Since the video to be loaded has been preloaded, there will be no lag when jumping to play, thereby improving the smoothness of video playback.
[0186] The method described in the above embodiment will be further described in detail below.
[0187] like Figure 3a As shown, a video playback method is provided, which is jointly executed by the server and the terminal. The specific process is as follows:
[0188] 310. The server obtains playback progress adjustment data of the video to be played.
[0189] 320. The server adjusts the data according to the playback progress and generates prediction adjustment mapping data.
[0190] 330. The server performs scene analysis on the video to be played to obtain multiple scene switching points;
[0191] 340. The server updates the predicted adjustment mapping data according to the multiple scene switching points to obtain target adjustment mapping data.
[0192] 350. The server receives a playback request for a to-be-played video sent by the terminal, and sends target adjustment mapping data and an object type to the terminal.
[0193] 360. The terminal adjusts the mapping data according to the received object type and target, and determines a to-be-played point from the multiple play points.
[0194] 370. The terminal preloads the fragment to be loaded.
[0195] 380. In response to a preset progress adjustment operation for the video to be played, the terminal updates the current playing point to the to-be-played point to play the to-be-loaded segment.
[0196] The contents of 310 to 380 can be referred to in conjunction with the above-mentioned embodiments. Figure 3b , showing the overall architecture diagram of the video playback method. Figure 3b , for detailed explanation.
[0197] In the process of playing the video to be played, the terminal reports the relevant data of the progress adjustment operation detected to the server. For example, the data reported by the terminal can refer to the aforementioned Figure 1c The server can analyze and process these data to obtain the playback progress adjustment data of the video to be played. Then, for each progress adjustment starting point, the server can determine the frequency of each corresponding progress adjustment end point. For example, see Figure 3c , shows the frequency of each progress adjustment end point corresponding to the 100th second of the video playback, that is, the 100th second is the progress adjustment starting point. Of course, it can also be organized into a distribution chart, for example, refer to Figure 3d , shows a distribution diagram of the adjustment progress endpoint at the 100th second, wherein the horizontal axis represents each progress adjustment endpoint and the vertical axis represents the frequency. Then, the progress adjustment endpoint with the highest frequency, i.e., 115 seconds, can be determined as the predicted adjustment endpoint corresponding to 100 seconds.
[0198] When the server is transcoding the video to be played, it can use the ffmpeg tool set to obtain multiple scene switching points. Video transcoding refers to the process of converting a video file from one encoding format to another, by changing the video encoding method, resolution, frame rate, etc. to achieve better results when playing on different devices or platforms.
[0199] Optionally, the server can use ffmpeg commands, such as "ffmpeg -iinput.mp4-filter:v"select='gt(scene,0.4)',showinfo"-f null" to obtain multiple scene switching points. Among them, "-iinput.mp4" indicates the format of the input video file, which is MP4 format in this command; "-filter:v"select='gt(scene,0.4)" means applying a video filter, detecting scene switching points through a selector (select), and judging whether the scene similarity between frames is greater than a certain threshold. The threshold can be set according to actual needs, and is 0.4 in this command. showinfo is used to add frame-level information to the output, including the number of each frame and whether it is a scene switching point.
[0200] Then, using multiple scene switching points, the predicted adjustment end point corresponding to each progress adjustment starting point is corrected to the target adjustment end point to obtain target adjustment mapping data.
[0201] When the terminal needs to play the video to be played, it can send a corresponding play request to the server, so that the server can feed back the target adjustment mapping data and the object type to the terminal.
[0202] The terminal can determine a specified number of points to be played according to the object type, current play point and target adjustment mapping data. And for each point to be played, the point to be played can be used as a starting point to determine the corresponding loading time of the to-be-played video from the to-be-played segment for preloading.
[0203] Of course, when preloading the segments to be loaded, you can also load some video segments starting from the current playback point. When the object performs a preset progress adjustment operation, the target playback point can be determined from the playback points. For example, the playback point closest to the current playback point can be directly determined as the target playback point, and the target playback point can be jumped to play the segment to be loaded at the target playback point. Since the preloading has been performed, there will be no lag, and the playback can be smoothly jumped.
[0204] And when a preset adjustment operation is detected, it can jump to the determined target adjustment end point first, without the need to adjust the object multiple times, improving the object adjustment experience. Compared with the need to load the entire video as much as possible after each progress adjustment, loading a longer video in a shorter time, this application preloads the to-be-loaded clip at the to-be-played point, which can save bandwidth and improve the object's video playback experience.
[0205] As can be seen from the above, the video playback method provided by the embodiment of the present application can be obtained by the server in combination with the playback progress adjustment data and the scene switching point to obtain the target adjustment end point corresponding to each progress adjustment starting point, that is, when the video to be played is played to the progress adjustment starting point, there is a greater probability that the object will be adjusted to the target adjustment end point for playback. The server sends the target adjustment end point corresponding to each progress adjustment starting point to the terminal, and the terminal can determine the point to be played based on the data and the current playback point, and preload the video clip at the point to be played, so that after the object adjusts the current playback point, it can directly jump to the point to be played to play the preloaded video, avoiding video freezes, thereby improving the smoothness of video playback.
[0206] In order to better implement the above method, the embodiment of the present application also provides a video playback device, for example, Figure 4a As shown, the video playback device may include a data acquisition unit 410, a prediction unit 420, a scene analysis unit 430, an update unit 440, and a sending unit 450, as follows:
[0207] (I) Data Acquisition Unit 410
[0208] Used to obtain playback progress adjustment data of a video to be played, the playback progress adjustment data including a plurality of progress adjustment starting points and at least one progress adjustment end point corresponding to each of the progress adjustment starting points.
[0209] (ii) Prediction Unit 420
[0210] The method is used to generate predicted adjustment mapping data according to the multiple progress adjustment starting points and at least one progress adjustment endpoint corresponding to each of the progress adjustment starting points, wherein the predicted adjustment mapping data includes the multiple progress adjustment starting points and the predicted adjustment endpoint corresponding to each of the progress adjustment starting points.
[0211] In some embodiments, the prediction unit 420 further includes:
[0212] A frequency acquisition subunit, used for acquiring, for each of the progress adjustment starting points, the frequency of each progress adjustment end point corresponding to the progress adjustment starting point;
[0213] A prediction calculation subunit, configured to calculate a predicted adjustment endpoint corresponding to the progress adjustment starting point according to the frequency and the multiple progress adjustment endpoints;
[0214] A generating subunit is used to generate the predicted adjustment mapping data according to the predicted adjustment end point corresponding to each progress adjustment starting point.
[0215] (III) Scene analysis unit 430
[0216] Used to perform scene analysis processing on the video to be played to obtain multiple scene switching points.
[0217] (IV) Update Unit 440
[0218] The method is used to update the predicted adjustment mapping data according to the multiple scene switching points to obtain target adjustment mapping data, wherein the target adjustment mapping data includes the multiple progress adjustment starting points and a target adjustment end point corresponding to each progress adjustment starting point.
[0219] In some embodiments, the updating unit 440 further includes:
[0220] A distance calculation subunit is used to calculate the time distance between the predicted adjustment end point and each of the scene switching points for each progress adjustment starting point, so as to obtain multiple time distances;
[0221] A first updating subunit, configured to determine a scene switching point corresponding to the target distance as a target adjustment end point if the target distance is less than a preset threshold, wherein the target distance is a minimum distance among the multiple time distances;
[0222] A second updating subunit, configured to determine the predicted adjustment endpoint as a target adjustment endpoint if the target distance is not less than a preset threshold;
[0223] The target acquisition subunit is used to obtain target adjustment mapping data according to all target adjustment endpoints.
[0224] (V) Transmitting Unit 450
[0225] The target adjustment mapping data is used to send the target adjustment mapping data to the terminal so that the terminal preloads the video to be played based on the current playback point and the target adjustment mapping data during the process of playing the video to be played.
[0226] In some embodiments, the sending unit 450 further includes:
[0227] A request acquisition subunit, used to acquire a play request of a video to be played from a terminal, wherein the play request includes an object identifier;
[0228] A classification determination subunit, configured to determine the object type according to the object attribute data associated with the object identifier;
[0229] A sending subunit is used to send the target adjustment mapping data and the object type to the terminal according to the object type.
[0230] In specific implementation, the above units can be implemented as independent entities, or can be arbitrarily combined to be implemented as the same or several entities. The specific implementation of the above units can refer to the previous method embodiments, which will not be repeated here.
[0231] As can be seen from the above, the video playback device of this embodiment obtains the playback progress adjustment data of the video to be played, generates the predicted adjustment end point corresponding to each progress adjustment starting point using the playback progress adjustment data, performs scene analysis on the video to be played to obtain multiple scene switching points, and updates the predicted adjustment end point using multiple scene switching points to obtain the target adjustment end point corresponding to each progress adjustment starting point, so that the target adjustment end point is more accurate. Then it is sent to the terminal so that the terminal can preload the video according to the target adjustment end point and the current playback point during the process of playing the video to be played. Due to the preloading, the video with the progress adjustment can be played immediately after the user performs the progress adjustment operation without freezing, thereby improving the smoothness of the video playback.
[0232] In this embodiment, the method of the embodiment of the present application is described in detail by taking the video playback device specifically integrated in the terminal as an example. Figure 4b As shown, the video playback device may include a receiving unit 510, a to-be-played determination unit 520, a preloading unit 530, and a playback unit 540, as follows:
[0233] (I) Receiving Unit 510
[0234] Used to obtain target adjustment mapping data of a video to be played from a server, where the video to be played includes multiple play points.
[0235] (II) To-be-played Determining Unit 520
[0236] Used to determine a point to be played from the multiple play points based on the current play point of the video to be played and the target adjustment mapping data during the process of playing the video to be played.
[0237] In some embodiments, the target adjustment mapping data includes a plurality of progress adjustment starting points and a target adjustment end point corresponding to each of the progress adjustment starting points, and the to-be-played determination unit 520 further includes:
[0238] a quantity determination subunit, configured to determine a specified quantity according to an object type, the object type being obtained from the server;
[0239] A designated determination subunit, used to determine the current playback point as a designated progress adjustment starting point;
[0240] A to-be-played determination subunit is used to determine the to-be-played point corresponding to the specified progress adjustment starting point according to the multiple progress adjustment starting points and the target adjustment end point corresponding to each of the progress adjustment starting points;
[0241] The loop subunit is used to determine the to-be-played point as a new designated progress adjustment starting point, and return to execute the step of determining the to-be-played point corresponding to the designated progress adjustment starting point according to the multiple progress adjustment starting points and the target adjustment end point corresponding to each of the progress adjustment starting points, until the designated number of to-be-played points are determined.
[0242] In some embodiments, the to-be-played determination subunit is further used for:
[0243] Detecting the designated progress adjustment starting point among the multiple progress adjustment starting points;
[0244] If the designated progress adjustment starting point is detected, the target adjustment end point corresponding to the designated progress adjustment starting point in the target adjustment mapping data is determined as the point to be played;
[0245] If the specified progress adjustment starting point is not detected, the point to be played is determined according to the adjacent playing points of the specified progress adjustment starting point.
[0246] In some embodiments, the to-be-played determination subunit is further used for:
[0247] Detecting the adjacent playback points among the multiple progress adjustment starting points;
[0248] If the adjacent playback point is detected, the target adjustment end point corresponding to the adjacent playback point in the target adjustment mapping data is determined as the point to be played;
[0249] If the adjacent playback point is not detected, the preset playback point corresponding to the designated progress adjustment starting point is determined as the to-be-played point.
[0250] (III) Preloading Unit 530
[0251] Used to preload the to-be-loaded segment, where the to-be-loaded segment is a video segment in the to-be-played video that takes the to-be-played point as the starting point.
[0252] In some embodiments, the preloading unit 530 further includes:
[0253] The duration determination subunit is used to determine the loading duration corresponding to each to-be-played point according to the object type;
[0254] A segment determination subunit is used to determine, for each to-be-played point, a to-be-played segment of the to-be-played video with the loading time length from the to-be-played video, taking the to-be-played point as a starting point;
[0255] The preloading subunit is used to preload the segment to be loaded.
[0256] (IV) Playback Unit 540
[0257] Used to respond to a preset progress adjustment operation for the video to be played, update the current playing point to the to-be-played point, so as to play the to-be-loaded segment.
[0258] In some embodiments, the playback unit 540 further includes:
[0259] An adjustment response subunit, configured to determine a target to-be-played point from the specified number of to-be-played points in response to a preset progress adjustment operation for the to-be-played video;
[0260] The playing subunit is used to control the video to be played to jump from the current playing point to the target playing point to play the to-be-loaded segment corresponding to the target playing point.
[0261] Therefore, the embodiment of the present application can obtain the target adjustment mapping data of the video to be played from the server; in the process of playing the data to be played, the point to be played is determined by using the current play point and the target adjustment mapping data; then the video segment to be loaded is determined with the point to be played as the starting point, and the video segment to be loaded is preloaded, and when the preset progress adjustment operation is detected, it jumps from the current play point to the point to be played to play the video to be loaded. Since the video to be loaded has been preloaded, there will be no lag when jumping to play, thereby improving the smoothness of video playback.
[0262] The present application also provides an electronic device, which may be a terminal, a server, or other device. Figure 5 As shown, it shows a schematic diagram of the structure of the electronic device involved in the embodiment of the present application, specifically:
[0263] The electronic device may include components such as a processor 401 with one or more processing cores, a memory 402 with one or more computer-readable storage media, a power supply 403, an input module 404, and a communication module 405. Those skilled in the art will appreciate that Figure 5 The electronic device structure shown in the figure does not constitute a limitation on the electronic device, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0264] The processor 401 is the control center of the electronic device. It uses various interfaces and lines to connect various parts of the entire electronic device. By running or executing software programs and / or modules stored in the memory 402, and calling data stored in the memory 402, it performs various functions of the electronic device and processes data, thereby performing overall detection of the electronic device. In some embodiments, the processor 401 may include one or more processing cores; in some embodiments, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into the processor 401.
[0265] The memory 402 can be used to store software programs and modules. The processor 401 executes various functional applications and data processing by running the software programs and modules stored in the memory 402. The memory 402 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 402 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices. Accordingly, the memory 402 may also include a memory controller to provide the processor 401 with access to the memory 402.
[0266] The electronic device also includes a power supply 403 for supplying power to various components. In some embodiments, the power supply 403 can be logically connected to the processor 401 through a power management system, so as to manage charging, discharging, and power consumption through the power management system. The power supply 403 can also include any components such as one or more DC or AC power supplies, recharging systems, power failure detection circuits, power converters or inverters, and power status indicators.
[0267] The electronic device may further include an input module 404, which may be used to receive input digital or character information and generate keyboard, mouse, joystick, optical or trackball signal input related to user settings and function control.
[0268] The electronic device may further include a communication module 405. In some embodiments, the communication module 405 may include a wireless module. The electronic device may perform short-range wireless transmission through the wireless module of the communication module 405, thereby providing the user with wireless broadband Internet access. For example, the communication module 405 may be used to help the user send and receive emails, browse web pages, and access streaming media.
[0269] Although not shown, the electronic device may further include a display unit, etc., which will not be described in detail herein. Specifically in this embodiment, the processor 401 in the electronic device will load the executable files corresponding to the processes of one or more application programs into the memory 402 according to the following instructions, and the processor 401 will run the application programs stored in the memory 402, thereby implementing the steps in each method of the embodiments of the present application.
[0270] The specific implementation of the above operations can be found in the previous embodiments, which will not be described in detail here.
[0271] From the above, it can be seen that the present application combines the playback progress adjustment data and scene switching point of the video to be played, generates target adjustment mapping data and sends it to the terminal, so that the terminal can adjust the end point and the current playback point according to the target during the process of playing the video to be played, and preload the video. Due to the preloading, after the object adjusts the playback progress, the preloaded video can also be played immediately, which reduces the possibility of playback jams and thereby improves the smoothness of video playback.
[0272] A person of ordinary skill in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be completed by instructions, or by controlling related hardware through instructions. The instructions may be stored in a computer-readable storage medium and loaded and executed by a processor.
[0273] To this end, the present application embodiment provides a computer-readable storage medium, which stores a plurality of instructions, which can be loaded by a processor to execute the steps in any of the video playback methods provided in the present application embodiment. For example, the instructions can execute the steps in each method in the present application embodiment.
[0274] The storage medium may include: a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0275] According to one aspect of the present application, a computer program product or computer program is provided, the computer program product or computer program includes a plurality of instructions, the instructions are stored in a computer-readable storage medium. A processor of an electronic device reads the instructions from the computer-readable storage medium, and the processor executes the instructions, so that the electronic device executes the methods provided in various optional implementations of the video playback provided in the above embodiments.
[0276] Since the instructions stored in the storage medium can execute the steps in any video playback method provided in the embodiments of the present application, the beneficial effects that can be achieved by any video playback method provided in the embodiments of the present application can be achieved. Please refer to the previous embodiments for details and will not be repeated here.
[0277] The above is a detailed introduction to a video playback method, device, electronic device, storage medium and program product provided in the embodiments of the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for technical personnel in this field, according to the ideas of the present application, there will be changes in the specific implementation methods and application scopes. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A video playback method, characterized in that: The method comprises: Acquire playback progress adjustment data of the video to be played, wherein the playback progress adjustment data includes a plurality of progress adjustment starting points and at least one progress adjustment end point corresponding to each of the progress adjustment starting points; Generate prediction adjustment mapping data according to the multiple progress adjustment starting points and at least one progress adjustment endpoint corresponding to each of the progress adjustment starting points, the prediction adjustment mapping data including the multiple progress adjustment starting points and the prediction adjustment endpoint corresponding to each of the progress adjustment starting points; Performing scene analysis on the video to be played to obtain multiple scene switching points; According to the multiple scene switching points, the predicted adjustment mapping data is updated to obtain target adjustment mapping data, wherein the target adjustment mapping data includes the multiple progress adjustment starting points and a target adjustment end point corresponding to each progress adjustment starting point; The target adjustment mapping data is sent to the terminal so that the terminal preloads the video to be played based on the current playback point and the target adjustment mapping data during the process of playing the video to be played.
2. The method according to claim 1, characterized in that The generating of prediction adjustment mapping data according to the multiple progress adjustment starting points and at least one progress adjustment end point corresponding to each of the progress adjustment starting points includes: For each of the progress adjustment starting points, obtaining the frequency of each progress adjustment end point corresponding to the progress adjustment starting point; Calculate the predicted adjustment endpoint corresponding to the progress adjustment starting point according to the frequency and the multiple progress adjustment endpoints; The predicted adjustment mapping data is generated according to the predicted adjustment endpoint corresponding to each progress adjustment starting point.
3. The method according to claim 1, characterized in that The updating process of the predicted adjustment mapping data according to the multiple scene switching points to obtain target adjustment mapping data includes: For each predicted adjustment end point corresponding to each progress adjustment starting point, calculating the time distance between the predicted adjustment end point and each of the scene switching points to obtain multiple time distances; If the target distance is less than a preset threshold, the scene switching point corresponding to the target distance is determined as the target adjustment end point, and the target distance is the minimum distance among the multiple time distances; If the target distance is not less than a preset threshold, determining the predicted adjustment endpoint as the target adjustment endpoint; According to all target adjustment end points, target adjustment mapping data is obtained.
4. The method according to claim 1, characterized in that: The sending the target adjustment mapping data to the terminal includes: Acquire a playback request for a video to be played from a terminal, wherein the playback request includes an object identifier; Determining the object type according to the object attribute data associated with the object identifier; The target adjustment mapping data and the object type are sent to the terminal according to the object type.
5. A video playback method, characterized in that: The method comprises: Acquire target adjustment mapping data of a video to be played from a server, wherein the video to be played includes multiple play points; In the process of playing the video to be played, based on the current play point of the video to be played and the target adjustment mapping data, determining the point to be played from the multiple play points; Preloading the to-be-loaded segment, wherein the to-be-loaded segment is a video segment of the to-be-played video with the to-be-played point as the starting point; In response to a preset progress adjustment operation for the video to be played, the current playing point is updated to the point to be played, so as to play the segment to be loaded.
6. The method according to claim 5, characterized in that The target adjustment mapping data includes a plurality of progress adjustment starting points and a target adjustment end point corresponding to each of the progress adjustment starting points, and in the process of playing the video to be played, based on the current play point of the video to be played and the target adjustment mapping data, determining the point to be played from the plurality of play points, comprises: determining a specified number based on an object type, the object type being obtained from the server; Determine the current playback point as the designated progress adjustment starting point; Determine the to-be-played point corresponding to the designated progress adjustment starting point according to the multiple progress adjustment starting points and the target adjustment end point corresponding to each of the progress adjustment starting points; The point to be played is determined as a new designated progress adjustment starting point, and the step of determining the point to be played corresponding to the designated progress adjustment starting point according to the multiple progress adjustment starting points and the target adjustment end point corresponding to each of the progress adjustment starting points is returned to be executed until the designated number of points to be played is determined.
7. The method according to claim 6, characterized in that The step of determining the to-be-played point corresponding to the designated progress adjustment starting point according to the plurality of progress adjustment starting points and the target adjustment end point corresponding to each of the progress adjustment starting points comprises: Detecting the designated progress adjustment starting point among the multiple progress adjustment starting points; If the designated progress adjustment starting point is detected, the target adjustment end point corresponding to the designated progress adjustment starting point in the target adjustment mapping data is determined as the point to be played; If the specified progress adjustment starting point is not detected, the point to be played is determined according to the adjacent playing points of the specified progress adjustment starting point.
8. The method according to claim 7, characterized in that The step of adjusting the adjacent playback points of the starting point according to the specified progress to determine the point to be played includes: Detecting the adjacent playback points among the multiple progress adjustment starting points; If the adjacent playback point is detected, the target adjustment end point corresponding to the adjacent playback point in the target adjustment mapping data is determined as the point to be played; If the adjacent playback point is not detected, the preset playback point corresponding to the designated progress adjustment starting point is determined as the to-be-played point.
9. The method according to claim 6, characterized in that The preloading of the to-be-loaded fragments includes: Determine the loading time corresponding to each to-be-played point according to the object type; For each point to be played, taking the point to be played as a starting point, determining a segment to be loaded with the loading duration from the video to be played; Preload the to-be-loaded segment.
10. The method according to claim 7, characterized in that In response to a preset progress adjustment operation for the video to be played, updating the current play point to the point to be played to play the segment to be loaded, including: In response to a preset progress adjustment operation for the video to be played, determining a target point to be played from the specified number of points to be played; The video to be played is controlled to jump from the current playing point to the target playing point to play the to-be-loaded segment corresponding to the target playing point.
11. A video playback device, characterized in that: The device comprises: A data acquisition unit, configured to acquire playback progress adjustment data of a video to be played, wherein the playback progress adjustment data includes a plurality of progress adjustment starting points and at least one progress adjustment end point corresponding to each of the progress adjustment starting points; a prediction unit, configured to generate prediction adjustment mapping data according to the multiple progress adjustment starting points and at least one progress adjustment endpoint corresponding to each of the progress adjustment starting points, wherein the prediction adjustment mapping data includes the multiple progress adjustment starting points and the prediction adjustment endpoint corresponding to each of the progress adjustment starting points; A scene analysis unit, used to perform scene analysis processing on the video to be played to obtain multiple scene switching points; an updating unit, configured to update the predicted adjustment mapping data according to the multiple scene switching points to obtain target adjustment mapping data, wherein the target adjustment mapping data includes the multiple progress adjustment starting points and a target adjustment end point corresponding to each of the progress adjustment starting points; The sending unit is used to send the target adjustment mapping data to the terminal so that the terminal preloads the video to be played based on the current playback point and the target adjustment mapping data during the process of playing the video to be played.
12. A video playback device, characterized in that: The device comprises: A receiving unit, configured to obtain target adjustment mapping data of a video to be played from a server, wherein the video to be played includes a plurality of play points; a to-be-played determining unit, configured to determine a to-be-played point from the plurality of play points based on a current play point of the to-be-played video and the target adjustment mapping data during the process of playing the to-be-played video; A preloading unit, used for preloading a to-be-loaded segment, wherein the to-be-loaded segment is a video segment of the to-be-played video with the to-be-played point as a starting point; The playing unit is used to update the current playing point to the to-be-played point in response to a preset progress adjustment operation on the to-be-played video, so as to play the to-be-loaded segment.
13. An electronic device, characterized in that: It comprises a processor and a memory, wherein the memory stores a plurality of instructions; the processor loads instructions from the memory to execute the steps in the video playing method according to any one of claims 1 to 10.
14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to execute the steps in the video playback method according to any one of claims 1 to 10.
15. A computer program product, characterized in that The method comprises a plurality of instructions, and when the instructions are executed by a processor, the steps in the video playing method according to any one of claims 1 to 10 are implemented.