Display device and video playing method

By implementing cache persistent storage and metadata management in display devices, the shortcomings of the caching mechanism in streaming video services are solved, efficient, smooth and coherent video playback is achieved, and the user experience is optimized.

CN120730118APending Publication Date: 2025-09-30HISENSE ELECTRONICS TECH SHENZHEN CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510749249.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-05
Publication Date
2025-09-30

AI Technical Summary

Technical Problem

In existing streaming video services, the temporary caching mechanism cannot adapt to the complexity of user behavior and the diversification of network environments, resulting in redundant traffic, playback interruptions and resource waste, affecting the continuity of user experience.

Method used

By implementing cache persistent storage in the display device, cached video segments are played first and retrieved from the storage when played again, reducing network downloads. Combined with metadata management, seamless connection and smooth playback of video segments are ensured.

Benefits of technology

Save bandwidth, reduce latency, optimize user experience, and improve the continuity and efficiency of video playback.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120730118A_ABST
    Figure CN120730118A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a display device and a video playing method, the display device plays a target video on a playing interface, and in response to a received instruction of exiting from the playing interface, a cached first video fragment of the target video and metadata of the first video fragment are acquired; storing the first video fragment and the metadata in a memory; in response to a received instruction of playing the target video, obtaining a first video fragment of the target video from the memory; playing the first video fragment on a playing interface; based on the metadata, controlling a communicator to send a video request to a server, and receiving at least one second video fragment of the target video sent by the server; and playing each second video fragment on the playing interface. According to the embodiment of the invention, the cache content is played preferentially through cache persistent storage, the bandwidth is saved, and the user experience is optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of display devices, and in particular to a display device and a video playback method. Background Art

[0002] Driven by the rapid development of network technology, streaming video services have become a core scenario for digital content consumption. Currently, mainstream platforms generally adopt a temporary caching mechanism, using dynamic sharding caching technology to achieve smooth video playback. However, this mechanism was originally designed with short-term network optimization as its core goal. Its caching strategy, state management, and resource reuse logic are no longer able to adapt to the new demands of complex user behavior (such as repeated on-demand playback) and diverse network environments (such as weak network connections). The redundant traffic, playback interruptions, and resource waste caused by flaws in the caching mechanism not only increase the platform's annual bandwidth costs several times, but also severely weaken the consistency of the user experience. Summary of the Invention

[0003] To solve the above problems, the embodiments of the present application provide a display device and a video playback method, which, through cached persistent storage, prioritizes playing cached content, saves bandwidth, and optimizes user experience. Specifically:

[0004] A first aspect of an embodiment of the present application provides a display device, including:

[0005] A display configured to display a playback interface;

[0006] a communicator configured to perform data communication with the server;

[0007] Memory;

[0008] The controller is configured as:

[0009] Playing a target video on the playback interface, and in response to receiving an instruction to exit the playback interface, obtaining a cached first video segment of the target video and metadata of the first video segment;

[0010] Storing the first video segment and the metadata in the memory;

[0011] In response to receiving an instruction to play the target video, obtaining the first video segment of the target video from the memory;

[0012] Play the first video segment on the playback interface;

[0013] Based on the metadata, controlling the communicator to send a video request to the server, and receiving at least one second video segment of the target video that is located after the first video segment sent by the server;

[0014] Play each of the second video segments on the playback interface.

[0015] The above technical solution has the following beneficial effects or advantages: by persistently storing the first video segment, when the target video is played again, the first video segment can be played first without re-downloading the first video segment, thereby saving bandwidth, reducing latency, and optimizing user experience.

[0016] In some embodiments, before the controller executes storing the first video segment and the metadata in the memory, the controller is further configured to:

[0017] Controlling a target application to retrieve a historical video ID from a preset cache mapping table in the memory; the target application is an application that plays the target video;

[0018] If a historical video corresponding to a historical video ID corresponding to a historical video played by the target application exists in the preset cache mapping table, obtaining a first number of the historical video IDs corresponding to the historical video played by the target application in the preset cache mapping table, and if the first number is less than a first preset threshold, storing the first video segment and the metadata in the memory;

[0019] If the historical video ID corresponding to the historical video played by the target application does not exist in the preset cache mapping table, the second number of the applications associated with the preset cache mapping table is obtained, and if the second number is less than a second preset threshold, the first video fragment and the metadata are stored in the memory.

[0020] The above technical solution has the following beneficial effects or advantages: by considering the number of applications and the number of first video segments corresponding to each application, it is ensured that the first video segments of the target video and the metadata of the first video segments are successfully stored in the memory.

[0021] In some embodiments, the controller executes storing the first video segment and the metadata in the memory, and is specifically configured to:

[0022] The first video segment and the metadata are stored in a preset cache directory in the memory; the preset cache directory of the first video segment is set independently from the remaining preset cache directories in the memory; the preset cache directory is a non-expiring cache directory.

[0023] The above technical solution has the following beneficial effects or advantages: it not only avoids the problem of mutual interference between multiple first video fragments and the metadata of each first video fragment, but also prevents the corresponding first video fragments and the metadata of the first video fragments from being cleared in a short period of time, that is, realizes the persistent storage of the corresponding first video fragments and the metadata of the first video fragments.

[0024] In some embodiments, the metadata includes a first preset duration, where the first preset duration is the duration of the corresponding first video segment;

[0025] After the controller executes storing the first video segment and the metadata in the memory, the controller is further configured to:

[0026] Add the target video ID and the first preset duration corresponding to the target video to the preset cache mapping table.

[0027] The above technical solution has the following beneficial effects or advantages: when the target video is played again, the subsequent video content of the first video segment of the target video can be downloaded from the server according to the first preset duration, and the number of associated applications and the number of first video segments corresponding to each application can be quickly determined by searching the cache mapping table, thereby ensuring that the first video segment of the target video and the first video segment are successfully stored in the memory.

[0028] In some embodiments, the metadata further includes a check value and a fragment index; the check value is used to determine whether the corresponding first video fragment is updated;

[0029] The controller executes, in response to receiving an instruction to play the target video, obtaining the first video segment of the target video from the memory, and is specifically configured to:

[0030] In response to receiving an instruction to play the target video, obtaining the target video ID;

[0031] searching the preset cache mapping table based on the target video ID, and sending a verification request to the server if the historical video ID matching the target video ID exists in the preset cache mapping table;

[0032] receiving a comparison value sent by the server;

[0033] If the check value of the first video segment matches the comparison value, obtaining the first video segment of the target video from the memory;

[0034] If the check value of the first video segment does not match the comparison value, deleting the first video segment and the metadata from the memory;

[0035] The first video segment takes the next moment after exiting the playback interface as the starting point and the moment determined by the first preset duration and the starting point as the ending point; the moment is the moment on the timeline of the target video.

[0036] The above technical solution has the following beneficial effects or advantages: it ensures that the video content of the first video segment of the target video being played is normal, thereby improving user satisfaction.

[0037] In some embodiments, before the controller controls the communicator to send a video request to the server based on the metadata and receives at least one second video segment of the target video sent by the server, the controller is further configured to:

[0038] Generate a request header based on the target video ID and the first preset duration of the first video segment;

[0039] Sending the request header to the server;

[0040] Receive at least one second video segment sent by the server.

[0041] The above technical solution has the following beneficial effects or advantages: it ensures seamless connection between the first video segment and the second video segment.

[0042] In some embodiments, before the controller plays each of the second video segments on the playback interface, the controller is further configured to:

[0043] Based on the timeline of the target video, the first video segment and each of the second video segments are spliced.

[0044] The above technical solution has the following beneficial effects or advantages: it ensures the smoothness of the first video segment and each second video segment during the playback process.

[0045] In some embodiments, the controller performs playing of the first video segment on the playback interface, and is specifically configured to:

[0046] During the process of playing the first video segment on the playback interface, if at least one second video segment has been downloaded to the memory, the target application is controlled to preload at least one second video segment.

[0047] The above technical solution has the following beneficial effects or advantages: it ensures the smoothness of the first video segment and the adjacent second video segment during playback.

[0048] In some embodiments, the controller is further configured to:

[0049] In response to receiving the g-th instruction to play the target video, controlling the target application to play the first video segment in the playback interface for the (g-1)th time and then exiting the playback interface to store the first video segment in the memory;

[0050] In response to receiving the g-th instruction to exit the playback interface, controlling the target application to delete the first video segment stored in the memory when exiting the playback interface (g-1) times; g is an integer greater than or equal to 2.

[0051] The above technical solution has the following beneficial effects or advantages: it saves storage space of the memory.

[0052] A second aspect of the present application provides a video playback method, including:

[0053] Playing a target video on the playback interface, and in response to receiving an instruction to exit the playback interface, obtaining a cached first video segment of the target video and metadata of the first video segment;

[0054] Storing the first video segment and the metadata in the memory;

[0055] In response to receiving an instruction to play the target video, obtaining the first video segment of the target video from the memory;

[0056] Play the first video segment on the playback interface;

[0057] Sending a video request to a server based on the metadata, and receiving at least one second video segment of the target video that follows the first video segment from the server;

[0058] Play each of the second video segments on the playback interface.

[0059] The display device provided by the embodiment of the present application stores a cached first video segment of the target video and the metadata of the first video segment in a memory after exiting the playback interface of the target video. When the target video needs to be played again, the first video segment is retrieved from the memory and played on the playback interface. At the same time, the subsequent video content of the first video segment is downloaded based on the metadata and played. The subsequent video content is played. The persistent storage of the first video segment is achieved, so that when the target video is played again, the first video segment can be played first without re-downloading the first video segment, thereby saving bandwidth, reducing latency, and optimizing the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0061] Figure 1 A schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application;

[0062] Figure 2 A schematic diagram of the hardware configuration of a display device provided in some embodiments of the present application;

[0063] Figure 3 A schematic diagram of software configuration of a display device provided in some embodiments of the present application;

[0064] Figure 4 An information interaction sequence diagram of a video playback method provided in some embodiments of the present application;

[0065] Figure 5 A schematic diagram of a first process for storing a first video segment and metadata of the first video segment provided in some embodiments of the present application;

[0066] Figure 6 A schematic diagram of a second process for storing a first video segment and metadata of the first video segment provided in some embodiments of the present application;

[0067] Figure 7 A schematic diagram of a third process for storing a first video segment and metadata of the first video segment provided in some embodiments of the present application;

[0068] Figure 8 A schematic diagram of a fourth process of storing a first video segment and metadata of the first video segment provided in some embodiments of the present application;

[0069] Figure 9 A schematic diagram of a process of step S406 provided in some embodiments of the present application;

[0070] Figure 10 A schematic diagram of a process of requesting a second video segment from a server provided in some embodiments of the present application;

[0071] Figure 11 A flowchart of a video playback method provided in some embodiments of the present application. DETAILED DESCRIPTION

[0072] The following embodiments are described in detail, with examples illustrated in the accompanying drawings. When the following description refers to the drawings, identical numbers in different figures represent identical or similar elements unless otherwise indicated. The embodiments described in the following embodiments are not intended to represent all possible implementations consistent with the present application. They are merely examples of systems and methods consistent with certain aspects of the present application, as detailed in the claims.

[0073] It should be noted that the brief descriptions of terms in this application are only for the purpose of facilitating the understanding of the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise specified, these terms should be understood according to their ordinary and usual meanings.

[0074] In the specification and claims of this application and the accompanying drawings, the terms "first," "second," "third," etc. are used to distinguish similar or similar objects or entities, and are not necessarily intended to limit a particular order or sequence, unless otherwise noted. It should be understood that the terms used in this manner are interchangeable under appropriate circumstances.

[0075] The terms "comprise," "include," and "have," and any variations thereof, are intended to cover but not exclude inclusion; for example, a product or device comprising a list of components is not necessarily limited to all the components expressly listed but may include other components not expressly listed or inherent to such product or device.

[0076] The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functionality associated with that element.

[0077] Figure 1 This is a schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application. Figure 1As shown in FIG, a user can operate the display device 200 through touch operation, the mobile terminal 300, and the control device 100. The control device 100 is used to receive operation instructions input by the user and convert the operation instructions into control instructions that the display device 200 can recognize and respond to. For example, the control device 100 can be a remote control, a stylus pen, a handle, etc.

[0078] In some examples, the display device 200 generally refers to a device capable of displaying images and processing data. For example, the display device 200 includes, but is not limited to, a smart TV, a mobile terminal, a computer, a monitor, an advertising screen, a wearable device, a virtual reality device, an augmented reality device, etc. The present embodiment does not limit the type of the display device 200.

[0079] The mobile terminal 300 can function as a control device for performing human-computer interaction between a user and the display device 200. The mobile terminal 300 can also function as a communication device, establishing a communication connection with the display device 200 for data exchange. In some embodiments, the mobile terminal 300 can install software applications with the display device 200, establishing a communication connection via a network communication protocol to achieve one-to-one control operations and data communication. Audio and video content displayed on the mobile terminal 300 can also be transmitted to the display device 200 for synchronized display.

[0080] In some embodiments, the mobile terminal 300 or other electronic devices can also simulate the functions of the control device 100 by running an application program for controlling the display device 200 .

[0081] like Figure 1 As shown in FIG, the display device 200 also communicates data with the server 400 through various communication methods. For example, the display device 200 can be connected to the server 400 through a local area network (LAN), a wireless local area network (WLAN), and other networks.

[0082] The display device 200 may provide a broadcast receiving television function, and may also additionally provide an intelligent network television function with a computer support function, including but not limited to network television, smart TV, Internet Protocol television (IPTV), etc.

[0083] Figure 2 Some embodiments of this application provide Figure 1 2 is a block diagram of the hardware configuration of the display device 200.

[0084] In some embodiments, the display device 200 may include at least one of a tuner 210, a communication device 220, a detector 230, a device interface 240, a controller 250, a display 260, an audio output device 270, a memory, a power supply, and a user input interface.

[0085] In some embodiments, detector 230 is used to collect signals from the external environment or external interactions. For example, detector 230 may include a light receiver, such as a sensor for collecting ambient light intensity; or an image collector, such as a camera, for collecting external environmental scenes, user attributes, or user interaction gestures; or a sound collector, such as a microphone, for receiving external sounds.

[0086] In some embodiments, the display 260 includes a display component for presenting images and a driver component for driving image display. The display 260 is configured to receive and display image signals output from the controller 250. For example, the display 260 can be used to display video content, image content, menu control interface components, and user control UI interfaces.

[0087] In some embodiments, the communication device 220 is a component used to communicate with an external device or server 400 according to various communication protocol types. The display device 200 can be provided with multiple communication devices 220 depending on the supported communication methods. For example, if the display device 200 supports wireless network communication, the display device 200 can be provided with a communication device 220 including WiFi functionality. If the display device 200 supports Bluetooth connection communication, the display device 200 needs to be provided with a communication device 220 including Bluetooth functionality.

[0088] The communication device 220 can establish a communication connection between the display device 200 and an external device or server 400 via a wireless or wired connection. A wired connection can connect the display device 200 to an external device via a data cable, an interface, or other components. A wireless connection can connect the display device 200 to an external device via a wireless signal or wireless network. The display device 200 can establish a connection with an external device directly or indirectly through a gateway, router, or connection device.

[0089] In some embodiments, the controller 250 may include at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processor, and a power processor, and first to nth interfaces for input / output. The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in a memory. The controller 250 controls the overall operation of the display device 200.

[0090] In some embodiments, the controller 250 and the tuner 210 may be located in different separate devices, that is, the tuner 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.

[0091] In some embodiments, the user may input a user command through a graphical user interface (GUI) displayed on the display 260 , and the user input interface receives the user input command through the graphical user interface (GUI).

[0092] In some embodiments, the audio output device 270 may be a local speaker of the display device 200, or an external audio output device connected to the display device 200. For the external audio output device connected to the display device 200, the display device 200 may further be provided with an external audio output terminal, through which the audio output device may be connected to the display device 200 to output the sound of the display device 200.

[0093] In some embodiments, the user input interface 280 may be configured to receive instructions from a user.

[0094] To facilitate user interaction, in some embodiments, the display device 200 may run an operating system. An operating system is a computer program used to manage and control the hardware and software resources of the display device 200. The operating system can control the display device to provide a user interface. For example, the operating system can directly control the display device to provide a user interface, or it can provide a user interface by running an application program. The operating system also allows the user to interact with the display device 200.

[0095] It should be noted that the operating system can be a native operating system based on a specific operating platform, a third-party operating system deeply customized based on a specific operating platform, or an independent operating system specially developed for display devices.

[0096] The operating system can be divided into different modules or layers according to the functions implemented, e.g. Figure 3 As shown, in some embodiments, the system is divided into four layers, from top to bottom, namely, the application layer (referred to as "application layer"), the application framework layer (referred to as "framework layer"), the system library layer and the kernel layer.

[0097] In some embodiments, the application layer provides services and interfaces for applications, enabling the display device 200 to run applications and interact with the user based on the applications. The application layer can host at least one application, which can include built-in window programs, system settings programs, clock programs, and the like, or applications developed by third-party developers. In specific implementations, the application packages in the application layer are not limited to the examples above.

[0098] The framework layer provides applications with an application programming interface (API) and programming framework. The application framework layer includes predefined functions. The application framework layer acts as a processing center, determining the actions taken by applications in the application layer. Through the API, applications can access system resources and services during execution.

[0099] like Figure 3 As shown, in the embodiment of the present application, the application framework layer includes a view system, managers, content providers, etc., wherein the view system can design and implement the interface and interaction of the application, and the view system includes lists, grids, text boxes, buttons, etc. The manager includes at least one of the following modules: an activity manager for interacting with all activities running in the system; a location manager for providing system services or applications with access to the system location service; a package manager for retrieving various information related to the application packages currently installed on the device; a notification manager for controlling the display and clearing of notification messages; and a window manager for managing icons, windows, toolbars, wallpapers, and desktop widgets on the user interface.

[0100] In some embodiments, the activity manager is used to manage the lifecycle of each application and common navigation back functions, such as controlling application exit, opening, and back. The window manager is used to manage all window programs, such as obtaining the display screen size, determining whether there is a status bar, locking the screen, taking screenshots, and controlling changes in display windows, such as shrinking, shaking, or distorting the display window.

[0101] In some embodiments, the system runtime layer can provide support for the framework layer. When the framework layer is used, the operating system will run the instruction library contained in the system runtime layer, such as the C / C++ instruction library, to implement the functions to be implemented by the framework layer.

[0102] In some embodiments, the kernel layer is a functional layer between the hardware and software of the display device 200. The kernel layer can implement functions such as hardware abstraction, multitasking, and memory management. Figure 3As shown, the kernel layer can be configured with hardware drivers, and the drivers included in the kernel layer can be at least one of the following drivers: audio driver, display driver, Bluetooth driver, camera driver, WIFI driver, USB driver, HDMI driver, sensor driver (such as fingerprint sensor, temperature sensor, pressure sensor, etc.), and power driver, etc.

[0103] It should be noted that the above example is only a simple division of the operating system functions and does not constitute a limitation on the specific operating system form of the display device 200 in the embodiment of the present application. Depending on factors such as the function of the display device and the type of operating system, the number of levels and specific level types contained in the operating system may be expressed in other forms.

[0104] In the related art, current streaming video services generally adopt a temporary caching mechanism.

[0105] In some cases, the system's default caching strategy is often relied upon, causing users to re-download the entire video when repeatedly playing it, resulting in significant redundant data usage. For example, the default caching strategy uses an elimination algorithm or clears the cache upon app exit.

[0106] In some examples, the server records the playback progress. If the user switches devices or the server state is lost, continuous playback across terminals / sessions cannot be achieved. For example, the server records the playback progress by binding it to a session identifier (Session ID).

[0107] In some cases, the temporary cache mechanism in a weak network environment often takes more than 3 seconds to load the first frame due to the lack of local cache support, and the loading rate is high. For example, a weak network environment is an environment with low bandwidth (<1Mbps) or high latency (>200ms).

[0108] In some examples, a large number of video requests are duplicate content because the temporary cache is recycled, but the relevant technology cannot effectively reuse the historical cache, resulting in resource waste and increased server bandwidth costs.

[0109] In order to solve the above technical problems, an embodiment of the present application provides a display device that, in response to receiving an instruction to exit the playback interface, actively caches the first video segment that has been cached in the target video into a memory. When the same target video is played again, the first video segment stored in the memory is played first, and at least one second video segment is downloaded according to the duration of the first video segment, and each second video segment is played. The technical solution of the present application realizes that when the same target video is played again, only at least one second video segment that is not cached in the target video needs to be downloaded through the network, thereby realizing the parallel "local cache playback" and "network broadcast and storage", which not only avoids the repeated downloading of the first video segment that has been cached in the target video, but also saves bandwidth, reduces latency, and thus improves the user experience.

[0110] Figure 4 This is a timing diagram of information interaction of a video playback method provided in some embodiments of the present application. Figure 4 , the video playback method provided by the embodiment of the present application is described in detail. The video playback method includes the following steps S401 to S409.

[0111] In step S401, the controller controls the target application to play the target video in the playback interface. In response to receiving an instruction to exit the playback interface, the controller executes an operation to control the target application to obtain a first video segment of the target video that has been cached and metadata of the first video segment.

[0112] In some examples, in response to receiving an instruction to play a target video, the controller controls the target application to play the target video on the playback interface. To ensure a balance between smooth playback of the target video and bandwidth conservation, in an embodiment of the present application, while playing the target video, the target application downloads and caches subsequent video content in advance. As the target video continues to play, the subsequent video content downloaded and cached in advance is also continuously updated. Caching here refers to storing the first video segment in the memory of the target application, that is, using the memory of the target application as a temporary storage location for the first video segment.

[0113] For example, for each target video, the first video segment corresponding to the target video is not fixed. This is because the subsequent video content downloaded and cached in advance is constantly updated as the target video is played. Therefore, the video content of the first video segment corresponding to the target video is different when the playback interface is exited.

[0114] In some examples, in order to quickly find the first video segment of the target video when the target application plays the same target video again, thereby reducing delay, in an embodiment of the present application, the metadata includes a first preset duration, a check value, and a segment index; the check value is used to determine whether the corresponding first video segment is normal; the segment index is used to determine the storage location of the first video segment in the memory; the first preset duration is the duration of the corresponding first video segment.

[0115] For example, metadata may also include other information describing the attributes and content of the video. For example, a timestamp, which is the absolute time when the playback interface is exited, is "xx year xx month xx day xx hour". The checksum is the entity tag (ETag) value.

[0116] In some examples, to allow for seamless playback of subsequent video content corresponding to the moment the playback interface was exited upon receiving a command to play the same target video, the first video segment begins at the moment following the moment the playback interface was exited and ends at the moment determined by the first preset duration and the starting point. The moment the playback interface was exited can also be represented as a playback breakpoint.

[0117] Exemplarily, the duration between the moment corresponding to the end point and the moment corresponding to the start point is the first preset duration.

[0118] Exemplarily, the time is a time on the timeline of the target video, and the time is a relative time of exiting the playback interface. For example, the time is "xx hours xx minutes xx seconds".

[0119] In step S402, the target application obtains a first video segment of the target video that has been cached and metadata of the first video segment.

[0120] In some examples, to optimize the user experience, for each target video, in response to receiving the tth instruction to exit the playback interface, the controller controls the target application to obtain the tth first video segment that has been cached and metadata for the tth first video segment; and in response to receiving the (t+1)th instruction to exit the playback interface, the controller controls the target application to obtain the (t+1)th first video segment that has been cached and metadata for the (t+1)th first video segment. t is an integer greater than or equal to 1.

[0121] For example, for each target video, the controller may receive multiple instructions to exit the playback interface and multiple instructions to replay. In this case, for each instruction to exit the playback interface, a first video segment that has been cached and metadata of the first video segment are obtained.

[0122] For example, the duration between the moment corresponding to the tth instruction to exit the playback interface and the moment corresponding to the (t+1)th instruction to exit the playback interface may be large or small, but the video content of the tth first video segment and the (t+1)th first video segment are different, and the metadata of the tth first video segment and the metadata of the (t+1)th first video segment are also different.

[0123] In some examples, in order to save storage space of the memory, in an embodiment of the present application, for each target video being played in the playback interface, the controller controls the target application to obtain the first video segment that has been cached and the metadata of the first video segment in response to receiving an instruction to exit the playback interface. However, if the target application determines that the target video has been played, that is, the moment of exiting the playback interface is the end moment of the target video, the first video segment corresponding to the target video and the metadata of the first video segment will no longer be stored in the memory.

[0124] For example, if a user is interested in the currently playing target video, they may watch the entire target video. In this scenario, the moment they exit the playback interface is the end moment of the target video on the timeline. However, the target application's memory may still have the last video segment cached, and the user has actually watched the video content of the first video segment. Therefore, the last video segment and its metadata are no longer stored in the memory.

[0125] In some examples, in order to save storage space of the memory, the controller controls the target application to obtain the first video segment that has been cached and the metadata of the first video segment in response to receiving an instruction to exit the playback interface, compares the first preset duration of the first video segment and the duration of the unplayed portion of the target video, and if the first preset duration of the first video segment is greater than the duration of the unplayed portion of the target video, the first video segment and the metadata of the first video segment are no longer stored in the memory.

[0126] For example, when the user is interested in the target video currently being played, but the user does not like to watch the ending of the target video and other video content, the control may receive an instruction to exit the playback interface in advance. In this scenario, the target video has actually been played to the end and is about to be completely played. The user is unlikely to replay the target video again, or the user is unlikely to replay the target video at the moment of exiting the playback interface. Therefore, there is no need to store the ending of the target video that has not been played, that is, there is no need to store the metadata of the first video segment and the first video segment in the memory. For example, the ending includes content such as the ending song that does not contain the plot.

[0127] In some examples, in order to save storage space of the memory, the controller controls the target application to obtain the first video segment that has been cached and the metadata of the first video segment in response to receiving an instruction to exit the playback interface, compares the actual length of the first video segment with the first preset length, and if the actual length of the first video segment is less than the first preset length, the first video segment and the metadata of the first video segment are no longer stored in the memory.

[0128] For example, if a user is not interested in the currently playing target video, they may choose to exit the playback interface after watching it for only a short time, and the target application will not have time to cache a first video segment of the first preset duration. In this scenario, the user will most likely not play the target video again, and therefore, the first video segment and its metadata will not be stored in the memory.

[0129] In step S403 , the target application sends the first video segment and metadata to the storage.

[0130] In some examples, in the related art, part of the video content of the target video is often cached based on the default caching strategy. After exiting the playback interface, this part of the video content will be cleared, or it will be cleared in a short time. This will cause the user to play the target video again. The previously cached part of the video content no longer exists, and it is still necessary to download this part of the video content again. In order to avoid being cleared in a short time and to ensure the security of the first video segment during the storage process, an embodiment of the present application encrypts and stores the first video segment and metadata in a preset cache directory in the memory. For example, the memory is an embedded multimedia memory card (EMMC) or a universal flash storage (UFS).

[0131] Exemplarily, for each first video segment, the first video segment and the metadata of the first video segment are independently encrypted, for example, by symmetric encryption or asymmetric encryption.

[0132] In some examples, since the first video segments of different target videos and the metadata of each first video segment are stored in the memory at the same time, these multiple first video segments and the metadata of each first video segment that are simultaneously present in the memory may interfere with each other. In order to avoid the problem of mutual interference between multiple first video segments and the metadata of each first video segment, in an embodiment of the present application, for each first video segment and the metadata of each video segment, the preset cache directory corresponding to the metadata of the first video segment and the metadata of the first video segment is independently set from the remaining preset cache directories in the memory. That is, the first video segment and the metadata corresponding to the first video segment have a unique independently set preset cache directory, thereby isolating different first video segments and the metadata of each first video segment.

[0133] Exemplarily, the preset cache directory is a non-expiring cache directory, thereby preventing the corresponding first video segment and the metadata of the first video segment from being cleared in a short period of time, that is, realizing the persistent storage of the corresponding first video segment and the metadata of the first video segment.

[0134] Figure 5 The first method of storing the first video segment and metadata of the first video segment is provided in some embodiments of the present application. Figure 5 As shown, before step 403, the method further includes steps S501 to S503 as shown below.

[0135] In some examples, before storing the first video segment of the target video and the metadata of the first video segment in the memory, two dimensions of factors need to be considered. One dimension is the first number of first video segments corresponding to each application associated with the preset cache mapping table in the memory; the other dimension of factor is the second number of applications associated with the preset cache mapping table. By considering these two dimensions of factors, it is ensured that the first video segment of the target video and the metadata of the first video segment are successfully stored in the memory.

[0136] In step S501 , the controller controls the target application to retrieve a preset cache mapping table in the memory.

[0137] Wherein, at least one historical video ID and a first preset duration corresponding to each historical video ID are stored in the preset cache mapping table.

[0138] In some examples, for each historical video ID, a mapping relationship between the historical video ID and a first preset duration is established through a preset cache mapping table. When the target video ID is consistent with the historical video ID, the offset of the first video segment corresponding to the target video ID can be quickly determined through the first preset duration, thereby quickly downloading the subsequent video content of the first video segment.

[0139] In step S502 , if the preset cache mapping table contains the historical video IDs played by the target application, the controller controls the target application to obtain a first number of historical video IDs played by the target application in the preset cache mapping table.

[0140] Exemplarily, the ID is a URL hash value (Uniform Resource Locator Hash Value).

[0141] In step S503 , if the first number is less than a first preset threshold, the controller controls the target application to store the first video segment and metadata in the memory.

[0142] In some examples, since the storage space of the memory is fixed, it is impossible to store data in the memory all the time. Therefore, before storing the first video segment and metadata of the target video, it is necessary to first determine whether there is any remaining storage space in the memory so that the first video segment and metadata of the target video can be successfully stored in the memory. In an embodiment of the present application, a first preset threshold is preset. For each historical video played by an application, the memory is only allowed to store the first video segment of the historical video of the first preset threshold that was last played by the application. Therefore, if the first number is less than the first preset threshold, indicating that there is still storage space, the first video segment and metadata of the target video are directly stored in the memory.

[0143] For example, for each application, the memory is only allowed to store the first video segments of the last n historical videos played by the application. If the first number is less than n, indicating that there is remaining storage space in the memory, the first video segment of the target video and metadata are directly stored in the memory. n is an integer greater than or equal to 1.

[0144] For example, the first preset threshold is 3.

[0145] It should be noted that the above step S502 is only one implementation method.

[0146] Figure 6 The second method of storing the first video segment and the metadata of the first video segment is provided in some embodiments of the present application. Figure 6As shown, before step 403, the method further includes steps S601 to S603 as shown below.

[0147] In step S601 , the controller controls the target application to retrieve a historical video ID from a preset cache mapping table in the memory.

[0148] In step S602, if the historical video ID played by the target application does not exist in the preset cache mapping table, a second number of applications associated with the preset cache mapping table is obtained.

[0149] In some examples, multiple applications may be running on the display device. A user may use each application to play a different target video. Therefore, at least one historical video ID in the preset cache mapping table may correspond to one or more applications. That is, the preset cache mapping table is associated with at least one application, thereby determining the second quantity.

[0150] In step S603, if the second number is less than a second preset threshold, the first video segment and metadata are stored in a memory.

[0151] In some examples, in order to prevent the first video segment of the target video and the metadata of the first video segment from being unable to be stored in the memory, the first video segments of multiple historical videos stored in the memory can only correspond to a first preset threshold number of applications at most, that is, the preset cache mapping table can only correspond to a first preset threshold number of applications at most.

[0152] For example, when i historical videos corresponding to i IDs in the preset cache mapping table are all played by application A, and m historical videos corresponding to the remaining m IDs in the preset cache mapping table are all played by application B, and neither application A nor application B is the target application, then if the second number is less than a second preset threshold, indicating that there is remaining storage space, the first video segment and metadata of the target video are directly stored in the memory. i and m are integers greater than or equal to 1.

[0153] For example, the second preset threshold is 10.

[0154] Figure 7 The third method of storing the first video segment and metadata of the first video segment is provided in some embodiments of the present application. Figure 7 As shown, before step 403, the method further includes steps S701 to S703 as shown below.

[0155] In step S701 , the controller controls the target application to retrieve a historical video ID from a preset cache mapping table in the memory.

[0156] In step S702 , if the preset cache mapping table contains the historical video IDs played by the target application, the controller controls the target application to obtain a first number of historical video IDs played by the target application in the preset cache mapping table.

[0157] In step S703, if the first number is equal to the first preset threshold, a first video segment of a historical video played by the target application is deleted, and then the first video segment of the target video and metadata of the first video segment are stored in the memory.

[0158] For example, when the i historical videos corresponding to the i IDs in the preset cache mapping table are all played by application A, and the m historical videos corresponding to the remaining m IDs in the preset cache mapping table are all played by application B, and application A and application B are not the target applications, then when the second number is equal to the second preset threshold, it indicates that there is no remaining storage space, and it is necessary to delete the first video segments of all historical videos related to the application with the longest storage time and the metadata of each first video segment according to the first-in-first-out principle to obtain free storage space, and then store the first video segment and metadata of the target video in the free storage space in the memory.

[0159] Figure 8 The fourth flow chart of storing the first video segment and metadata of the first video segment provided in some embodiments of the present application is as follows. Figure 8 As shown, before step 403, the method further includes steps S801 to S803 as shown below.

[0160] In step S801 , the controller controls the target application to retrieve a preset cache mapping table in the memory.

[0161] In step S802 , if the historical video ID played by the target application does not exist in the preset cache mapping table, the controller controls the target application to obtain a second number of applications associated with the preset cache mapping table.

[0162] In step S803, if the second number is equal to the second preset threshold, the first video segments of all historical videos played by an application and the metadata of each first video segment are deleted, and then the first video segment of the target video and the metadata of the first video segment are stored in the memory.

[0163] For example, when the i historical videos corresponding to the i IDs in the preset cache mapping table are all played by application A, and the m historical videos corresponding to the remaining m IDs in the preset cache mapping table are all played by application B, and application A and application B are not target applications, then when the second number is equal to the second preset threshold, it indicates that there is no remaining storage space, and it is necessary to delete the first video segments of all historical videos related to the application with the longest storage time and the metadata of each first video segment according to the first-in-first-out principle to obtain free storage space, and then store the first video segment and metadata of the target video in the free storage space in the target memory.

[0164] In some examples, after the controller controls the target application to send the first video segment and the metadata of the first video segment to the memory, the controller adds the target video ID and the first preset duration corresponding to the target video to the preset cache mapping table, so that when receiving an instruction to play the target video again, the preset cache mapping table can be retrieved by the target video ID to obtain the first preset duration corresponding to the target video ID, thereby downloading the subsequent video content of the first video segment corresponding to the first preset duration through the first preset duration. In addition, by searching the cache mapping table, the number of associated applications and the number of first video segments corresponding to each application can be quickly determined, thereby ensuring that the first video segment of the target application and the first video segment are successfully stored in the memory.

[0165] In some examples, in order to quickly find the first video segment that matches the target video ID, in an embodiment of the present application, the controller further controls the target application to store a mapping relationship between the target video ID and the storage path.

[0166] In step S404 , the controller controls the memory to store the first video segment and metadata.

[0167] In step S405 , in response to receiving the instruction to play the target video, the controller controls the target application to obtain the first video segment of the target video from the memory.

[0168] In step S406, the target application obtains the first video segment of the target video from the memory.

[0169] Figure 9 A flow chart of step S406 is provided for some embodiments of the present application. Figure 9 , step S406 provided in the embodiment of the present application is described in detail.

[0170] In some examples, the above step S406 includes the following steps S4061 to S4064:

[0171] In step S4061 , the target application obtains the target video ID.

[0172] In some examples, in response to receiving an instruction to play a target video, the controller controls the target application to obtain the target video ID directly from a URL or by calling an API.

[0173] In step S4062, the target application searches the preset cache mapping table based on the target video ID, and sends a verification request to the server if a historical video ID matching the target video ID exists in the preset cache mapping table.

[0174] In some examples, if there is a historical video ID that is consistent with the target video ID in the preset cache mapping table, it indicates that the target video has been played by the target application before, and the corresponding first video segment is stored in the memory. However, in some scenarios, the first video segment of the target video stored in the server may have been updated, that is, the video content corresponding to the first video segment of the target video may be inconsistent with the corresponding video content in the server, or the first video segment of the target video has an abnormality. Then, playing the first video segment of the target video on the playback interface will greatly reduce the user's satisfaction. Therefore, before playing the first video segment of the target video on the playback interface, it is necessary to first verify whether the first video segment of the target video has been updated. In order to verify the first video segment of the target video, an embodiment of the present application sends a verification request to the server.

[0175] In step S4063, the target application receives the comparison value sent by the server.

[0176] In some examples, the controller controls the target application to receive the comparison value sent by the server based on the network.

[0177] Exemplarily, the comparison value is an Etag value of the video content corresponding to the first video segment of the target video in the server.

[0178] In step S4064, if the check value of the first video segment matches the comparison value sent by the server, the controller controls the target application to obtain the first video segment of the target video from the memory.

[0179] In some examples, the target application obtains a verification value from a preset cache directory corresponding to the target video, compares the verification value with the comparison value, and if the verification value of the first video segment is consistent with the comparison value sent by the server, it indicates that the first video segment is normal, and the first video segment of the target video is obtained from the memory.

[0180] It should be noted that the above step S4064 is only one implementation method.

[0181] In other examples, if the check value of the first video segment does not match the comparison value sent by the server, the controller controls the target application to delete the first video segment of the target video and the metadata of the first video segment in the memory.

[0182] For example, if the check value of the first video segment does not match the comparison value, it indicates that the video content corresponding to the first video segment of the target video in the server has been updated, that is, the video content of the first video segment of the target video in the memory is abnormal, and thus the first video segment of the target video can no longer be played on the playback interface. In order to save storage space in the memory, the abnormal first video segment of the target video and the metadata of the first video segment are deleted from the memory.

[0183] In step S407, the target application plays the first video segment on the playback interface.

[0184] In some examples, in response to receiving an instruction to play the target video, the controller controls the target application to display the video content corresponding to the last time the playback interface was exited on the playback interface, and then starts playing from the starting point of the first video segment.

[0185] In other examples, since the abnormal first video segment and the metadata of the first video segment cannot be played again on the playback interface, the next moment after exiting the playback interface is used as the starting point, part of the video content corresponding to the first video segment of the target video is re-downloaded based on the network, and the re-downloaded part of the video content is played on the playback interface, thereby improving user satisfaction.

[0186] In step S408, the target application controls the communicator to send a video request to the server based on the metadata, and receives at least one second video segment following the first video segment in the target video sent by the server.

[0187] Figure 10 A schematic diagram of a process of requesting a second video segment from a server is provided in some embodiments of the present application. Figure 10 As shown, before step 408, the method further includes steps S1001 to S1003 as shown below.

[0188] In step S1001 , the target application generates a request header based on the target video ID and a first preset duration of the first video segment.

[0189] In some examples, a Range request header is generated based on the target video ID and the first preset duration of the first video segment. For example, a Range request header of (bytes=16-200) indicates that the download starts at the 16th second and downloads the video content from 16 to 200 seconds. It should be noted that the method for generating the Range request header can be directly obtained from the relevant technology and will not be repeated in the embodiments of this application.

[0190] In step S1002 , the target application sends a request header to the server.

[0191] In some examples, the target application sends the checksum and the request header to a content delivery network (CDN). However, if the CDN does not have the corresponding at least one second video segment, the CDN requests the at least one second video segment from the server.

[0192] In step S1003, the target application receives at least one second video segment sent by the server.

[0193] In some examples, the controller controls the target application to receive at least one second video segment sent by the CDN, or to receive at least one second video segment sent by the server.

[0194] For example, when the server sends the video content after the playback breakpoint to the target application, the server sends at least one second video segment to the target application using the size of one second video segment as a unit. The size of the second video segment can be set according to actual needs.

[0195] In step S409, the target application plays each second video segment on the play interface.

[0196] In some examples, in order to ensure that the first video segment and an adjacent second video segment can be seamlessly connected to ensure smooth playback, in an embodiment of the present application, the controller controls the target application to splice the first video segment and an adjacent second video segment based on the timeline of the target video before playing each second video segment on the playback interface.

[0197] In some examples, while a second video segment is played on a playback interface, subsequent second video segments are dynamically spliced ​​based on a timeline.

[0198] In some examples, during the playback of the first video segment on the playback interface, if at least one second video segment has been downloaded to the memory, the target application is controlled to preload the at least one second video segment.

[0199] For example, when the first video segment is played on the playback interface, if the second video segment has been downloaded to the memory, the controller controls the target application to pre-load the subsequent second video segment into the memory of the target application to reduce playback delay and thus improve user satisfaction.

[0200] In some examples, for a target video, in response to receiving the gth instruction to play the target video, the controller controls the target application to play, in the playback interface, the first video segment stored in the memory when the (g-1)th playback interface was exited. In response to receiving the gth instruction to exit the playback interface, the controller controls the target application to delete the first video segment of the target video and metadata of the first video segment to save storage space. g is an integer greater than or equal to 2.

[0201] The display device provided by the embodiment of the present application stores a first video segment of the target video that has been cached and the metadata of the first video segment in a memory after exiting the playback interface of the target video. When the target video needs to be played again, the first video segment is retrieved from the memory and played on the playback interface. At the same time, the subsequent video content of the first video segment is downloaded based on the metadata and played. The persistent storage of the first video segment is achieved, so that when the target video is played again, the first video segment can be played first without re-downloading the first video segment, thereby saving bandwidth, reducing latency, and optimizing the user experience.

[0202] Figure 11 This is a flow chart of a video playback method provided in some embodiments of the present application. Figure 11 As shown, the video playback method includes steps S1101 to S1106 as shown below.

[0203] In step S1101, a target video is played on a playback interface, and in response to receiving an instruction to exit the playback interface, a first video segment of the target video that has been cached and metadata of the first video segment are obtained;

[0204] In step S1102, the first video segment and metadata are stored in a memory;

[0205] In step S1103, in response to receiving an instruction to play a target video, a first video segment of the target video is obtained;

[0206] In step S1104, the first video segment is played on the playback interface;

[0207] In step S1105, based on the metadata, the communicator is controlled to send a video request to the server, and at least one second video segment located after the first video segment in the target video sent by the server is received;

[0208] In step S1106, each second video segment is played on the playback interface.

[0209] In some embodiments, before storing the first video segment and metadata in the memory, the method further includes:

[0210] Controlling a target application to retrieve a historical video ID from a preset cache mapping table in a memory; the target application is an application that plays a target video;

[0211] If a historical video corresponding to a historical video ID corresponding to a historical video played by the target application exists in the preset cache mapping table, obtaining a first number of historical video IDs corresponding to the historical videos played by the target application in the preset cache mapping table, and if the first number is less than a first preset threshold, storing the first video segment and metadata in the memory;

[0212] If the historical video ID corresponding to the historical video played by the target application does not exist in the preset cache mapping table, the second number of applications associated with the preset cache mapping table is obtained. If the second number is less than the second preset threshold, the first video segment and metadata are stored in the memory.

[0213] In some embodiments, the controller executes storing the first video segment and metadata to the memory, and is specifically configured to:

[0214] The first video segment and metadata are stored in a preset cache directory in the memory; the preset cache directory of the first video segment is set independently from the remaining preset cache directories in the memory; the preset cache directory is a non-expiring cache directory.

[0215] In some embodiments, the metadata includes a first preset duration, where the first preset duration is the duration of the corresponding first video segment;

[0216] After storing the first video segment and metadata in the memory, the method further includes:

[0217] The target video ID and the first preset duration corresponding to the target video are added to the preset cache mapping table.

[0218] In some embodiments, the metadata further includes a check value and a fragment index; the check value is used to determine whether the corresponding first video fragment is updated;

[0219] In response to receiving an instruction to play a target video, obtaining a first video segment of the target video from a memory includes:

[0220] In response to receiving an instruction to play a target video, obtaining a target video ID;

[0221] Search the preset cache mapping table based on the target video ID, and if there is a historical video ID matching the target video ID in the preset cache mapping table, send a verification request to the server;

[0222] Receive the comparison value sent by the server;

[0223] If the check value of the first video segment matches the comparison value, obtaining the first video segment of the target video from the memory;

[0224] If the check value of the first video segment does not match the comparison value, deleting the first video segment and the metadata in the memory;

[0225] The first video segment takes the next moment after exiting the playback interface as the starting point and the moment determined by the first preset duration and the starting point as the ending point; the moment is the moment on the timeline of the target video.

[0226] In some embodiments, before controlling the communicator to send a video request to the server based on the metadata and receiving at least one second video segment of the target video sent by the server, the method further includes:

[0227] Generate a request header based on the target video ID and a first preset duration of the first video segment;

[0228] Send the request header to the server;

[0229] Receive at least one second video segment sent by the server.

[0230] In some embodiments, before playing each second video segment on the playback interface, the method further includes:

[0231] Based on the timeline of the target video, the first video segment and each second video segment are spliced.

[0232] In some embodiments, playing the first video segment on the playback interface includes:

[0233] During the process of playing the first video segment on the play interface, if at least one second video segment has been downloaded to the memory, the target application is controlled to preload the at least one second video segment.

[0234] In some embodiments, the method further comprises:

[0235] In response to receiving the g-th instruction to play the target video, controlling the target application to play the first video segment stored in the memory when exiting the playback interface for the (g-1)th time on the playback interface;

[0236] In response to receiving the g-th instruction to exit the playback interface, the target application is controlled to delete the first video segment stored in the memory when exiting the playback interface (g-1) times; g is an integer greater than or equal to 2.

[0237] In an embodiment of the present application, after exiting the playback interface of a target video, a cached first video segment of the target video and the metadata of the first video segment are stored in a memory. When the target video needs to be played again, the first video segment is retrieved from the memory and played on the playback interface. At the same time, the subsequent video content of the first video segment is downloaded based on the metadata and played. This achieves persistent storage of the first video segment, so that when the target video is played again, the first video segment can be played first without having to re-download the first video segment, thereby saving bandwidth, reducing latency, and optimizing the user experience.

[0238] For ease of explanation, the above description has been made in conjunction with specific embodiments. However, the above discussion of some embodiments is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Based on the above teachings, various modifications and variations can be obtained. The above embodiments are selected and described to better explain the content of this disclosure, thereby enabling those skilled in the art to better use the embodiments.

Claims

1. A display device, characterized in that: include: A display configured to display a playback interface; a communicator configured to perform data communication with the server; Memory; The controller is configured as: Playing a target video on the playback interface, and in response to receiving an instruction to exit the playback interface, obtaining a cached first video segment of the target video and metadata of the first video segment; Storing the first video segment and the metadata in the memory; In response to receiving an instruction to play the target video, obtaining the first video segment of the target video from the memory; Play the first video segment on the playback interface; Based on the metadata, controlling the communicator to send a video request to the server, and receiving at least one second video segment of the target video that is located after the first video segment sent by the server; Play each of the second video segments on the playback interface.

2. The display device according to claim 1, wherein Before the controller executes the step of storing the first video segment and the metadata in the memory, the controller is further configured to: Controlling a target application to retrieve a historical video ID from a preset cache mapping table in the memory; the target application is an application that plays the target video; If a historical video corresponding to a historical video ID corresponding to a historical video played by the target application exists in the preset cache mapping table, obtaining a first number of the historical video IDs corresponding to the historical video played by the target application in the preset cache mapping table, and if the first number is less than a first preset threshold, storing the first video segment and the metadata in the memory; If the historical video ID corresponding to the historical video played by the target application does not exist in the preset cache mapping table, the second number of the applications associated with the preset cache mapping table is obtained, and if the second number is less than a second preset threshold, the first video fragment and the metadata are stored in the memory.

3. The display device according to claim 1, wherein The controller executes storing the first video segment and the metadata in the memory, and is specifically configured to: The first video segment and the metadata are stored in a preset cache directory in the memory; the preset cache directory corresponding to the first video segment is independently set from the remaining preset cache directories in the memory; the preset cache directory is a non-expiring cache directory.

4. The display device according to claim 2, wherein: The metadata includes a first preset duration, where the first preset duration is the duration of the corresponding first video segment; After the controller executes storing the first video segment and the metadata in the memory, the controller is further configured to: Add the target video ID and the first preset duration corresponding to the target video to the preset cache mapping table.

5. The display device according to claim 4, wherein: The metadata also includes a check value and a fragment index; the check value is used to determine whether the corresponding first video fragment is updated; The controller executes, in response to receiving an instruction to play the target video, obtaining the first video segment of the target video from the memory, and is specifically configured to: In response to receiving an instruction to play the target video, obtaining the target video ID; searching the preset cache mapping table based on the target video ID, and sending a verification request to the server if the historical video ID matching the target video ID exists in the preset cache mapping table; receiving a comparison value sent by the server; If the check value of the first video segment matches the comparison value, obtaining the first video segment of the target video from the memory; If the check value of the first video segment does not match the comparison value, deleting the first video segment and the metadata from the memory; The first video segment takes the next moment after the moment of exiting the playback interface as a starting point and takes the moment determined by the first preset duration and the starting point as an ending point; The moment is the moment on the timeline of the target video.

6. The display device according to claim 4, wherein: Before the controller controls the communicator to send a video request to the server based on the metadata and receives at least one second video segment of the target video sent by the server, the controller is further configured to: Generate a request header based on the target video ID and the first preset duration of the first video segment; Sending the request header to the server; Receive at least one second video segment sent by the server.

7. The display device according to claim 5, wherein: Before the controller plays each of the second video segments on the playback interface, the controller is further configured to: Based on the timeline of the target video, the first video segment and each of the second video segments are spliced.

8. The display device according to claim 1, wherein The controller plays the first video segment on the playback interface, and is specifically configured to: During the process of playing the first video segment on the playback interface, if at least one second video segment has been downloaded to the memory, the target application is controlled to preload at least one second video segment.

9. The display device according to claim 1, wherein The controller is further configured to: In response to receiving the g-th instruction to play the target video, controlling the target application to play the first video segment in the playback interface for the (g-1)th time and then exiting the playback interface to store the first video segment in the memory; In response to receiving the g-th instruction to exit the playback interface, controlling the target application to delete the first video segment stored in the memory when exiting the playback interface (g-1) times; g is an integer greater than or equal to 2.

10. A video playback method, characterized in that: include: Playing a target video on the playback interface, and in response to receiving an instruction to exit the playback interface, obtaining a cached first video segment of the target video and metadata of the first video segment; Storing the first video segment and the metadata in the memory; In response to receiving an instruction to play the target video, obtaining the first video segment of the target video from the memory; Play the first video segment on the playback interface; Sending a video request to a server based on the metadata, and receiving at least one second video segment of the target video that follows the first video segment from the server; Play each of the second video segments on the playback interface.