A display device and a method for displaying video playback records.
By generating and saving animated images of video files as thumbnails in the display device, the problem of simultaneous display of multiple videos in the prior art is solved, thus improving the user experience of the display device.
Patent Information
- Application Number
- CN202311387759.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-24
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2043-10-24
AI Technical Summary
Existing display devices do not support the synchronous dynamic display of multiple videos in the video playback history, and the player application initialization takes a long time, causing delays. They only support the dynamic display of the currently selected item.
An animated image is generated by capturing a preset number of image frames from a video file on a display device, and then associated with historical videos and saved to a cache directory. Thumbnails are generated to achieve synchronized dynamic display of multiple videos.
It enables the synchronous and dynamic display of multiple video playback records, reduces the initialization delay of the player application, and improves the user experience.
Smart Images

Figure CN119893194B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of display device technology, and in particular to a display device and a method for displaying video playback records. Background Technology
[0002] Display devices refer to terminal devices capable of outputting specific display images, such as smart TVs, communication terminals, smart advertising screens, and projectors. Taking smart TVs as an example, smart TVs are television products based on Internet application technologies, possessing open operating systems and chips, and having open application platforms. They enable two-way human-computer interaction and integrate multiple functions such as audio-visual, entertainment, and data to meet diverse and personalized user needs.
[0003] Display devices can play corresponding video files based on the player application. To improve user experience, the player application supports a playback history function, which records information such as recently watched video content, playback time, and playback progress, so that users can quickly find previously watched content or continue watching from where they left off.
[0004] To display historical playback records, the display device can capture the first frame or a keyframe from the video file and generate a thumbnail. To improve user experience, the display device can also implement dynamic display based on focus control, looping a fixed-length segment of the video file when it gains focus. However, because the player application initialization takes a long time, playback may be delayed, and multi-channel playback is not supported; only the currently selected item can be dynamically displayed. Summary of the Invention
[0005] This application provides a display device and a method for displaying video playback records to solve the problem that video playback records do not support the synchronous dynamic display of multiple videos.
[0006] In a first aspect, this application provides a display device, including a display and a controller. The display is configured to display an application interface of a player application; the controller is configured to execute the following program steps:
[0007] In response to a display command for displaying the playback history interface, the video playback history is obtained, which includes historical videos played by the player application within a preset time period;
[0008] Access the cache directory of the player application;
[0009] The system queries the cache directory for animated images associated with the historical videos, which are generated based on image frames extracted from the historical videos.
[0010] Generate thumbnails of the historical videos based on the animated graph, and control the display to show the thumbnails of the historical videos.
[0011] Secondly, this application also provides a method for displaying video playback records, applied to the aforementioned display device, the method comprising:
[0012] In response to a display command for displaying the playback history interface, the video playback history is obtained, which includes historical videos played by the player application within a preset time period;
[0013] Access the cache directory of the player application;
[0014] The system queries the cache directory for animated images associated with the historical videos, which are generated based on image frames extracted from the historical videos.
[0015] Generate thumbnails of the historical videos based on the animated graph, and control the display to show the thumbnails of the historical videos.
[0016] As can be seen from the above technical solutions, this application provides a display device and a method for displaying video playback records. The method can respond to a display command for displaying a playback record interface, acquire video playback records, wherein the video playback records include historical videos played by a player application within a preset time period. The method calls the player application's cache directory and queries the cache directory for animated images associated with historical videos, wherein the animated images are generated based on image frames captured from the historical videos. Finally, it generates thumbnails of the historical videos based on the animated images and controls the display to show the thumbnails of the historical videos. This method can pre-capture and save a preset number of image frames from the video file, and dynamically display the pre-stored image frames when displaying the video playback record, solving the problem that video playback records do not support the simultaneous dynamic display of multiple videos. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is a schematic diagram illustrating an operational scenario between a display device and a control device provided in some embodiments of this application;
[0019] Figure 2 This is a schematic diagram of the hardware configuration of the control device provided in some embodiments of this application;
[0020] Figure 3 This is a schematic diagram of the hardware configuration of a display device provided in some embodiments of this application;
[0021] Figure 4 This is a schematic diagram of the software configuration of a display device provided in some embodiments of this application;
[0022] Figure 5 Display system structure diagrams provided for some embodiments of this application;
[0023] Figure 6 A schematic diagram of the playback record interface provided in some embodiments of this application;
[0024] Figure 7 A flowchart illustrating a method for displaying video playback records provided in some embodiments of this application;
[0025] Figure 8 This is a schematic diagram illustrating the process of capturing image frames during video playback, provided in some embodiments of this application.
[0026] Figure 9 A schematic diagram illustrating the process of capturing image frames when video playback exits, provided in some embodiments of this application;
[0027] Figure 10 A schematic diagram illustrating the process of generating thumbnails provided for some embodiments of this application;
[0028] Figure 11 A schematic diagram of an interface for generating thumbnails based on image frames captured during video playback, provided in some embodiments of this application;
[0029] Figure 12 A schematic diagram of an interface for generating thumbnails based on image frames captured when a video exits playback, provided in some embodiments of this application;
[0030] Figure 13 A schematic diagram illustrating the process of deleting target playback records provided in some embodiments of this application;
[0031] Figure 14 This is a schematic diagram illustrating the process of deleting a target video according to some embodiments of this application. Detailed Implementation
[0032] To make the objectives, technical solutions, and advantages of the exemplary embodiments of this application clearer, the technical solutions in the exemplary embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described exemplary embodiments are only some embodiments of this application, and not all embodiments.
[0033] Based on the exemplary embodiments shown in this application, all other embodiments obtained by those skilled in the art without inventive effort are within the scope of protection of this application. Furthermore, although the disclosures in this application are presented by way of one or more exemplary examples, it should be understood that each aspect of these disclosures can constitute a complete technical solution on its own.
[0034] It should be understood that the terms "first," "second," "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate, for example, to allow implementation in orders other than those given in the embodiments illustrated or described in this application.
[0035] Furthermore, the terms “comprising” and “having”, and any variations thereof, are intended to cover but not exclusively include, for example, a product or device that includes a series of components is not necessarily limited to those that are explicitly listed, but may include other components that are not explicitly listed or that are inherent to such product or device.
[0036] The display device provided in this application can have various implementation forms, such as a television, a smart television, a laser projection device, a monitor, an electronic bulletin board, an electronic table, etc. Figure 1 and Figure 3 This is one specific embodiment of the display device of this application.
[0037] Figure 1 This is a schematic diagram illustrating the operational scenario between the display device and the control unit according to the embodiment. Figure 1 As shown, the user can operate the display device 200 through the smart device 300 or the control device 100.
[0038] In some embodiments, the control device 100 may be a remote control. Communication between the remote control and the display device includes infrared protocol communication, Bluetooth protocol communication, and other short-range communication methods, controlling the display device 200 wirelessly or via wired means. Users can control the display device 200 by inputting user commands through buttons on the remote control, voice input, control panel input, etc.
[0039] In some embodiments, a smart device 300 (such as a mobile terminal, tablet computer, computer, laptop computer, etc.) may also be used to control the display device 200. For example, an application running on the smart device may be used to control the display device 200.
[0040] In some embodiments, the display device 200 may receive instructions not through the aforementioned smart device or control device, but through touch or gestures.
[0041] In some embodiments, the display device 200 can also be controlled in ways other than the control device 100 and the smart device 300. For example, it can be controlled by directly receiving the user's voice commands through a module configured inside the display device 200 for acquiring voice commands, or it can be controlled by receiving the user's voice commands through a voice control device set outside the display device 200.
[0042] In some embodiments, the display device 200 also communicates with the server 400. The display device 200 may communicate via a local area network (LAN), wireless local area network (WLAN), and other networks. The server 400 may provide various content and interactive features to the display device 200. The server 400 may be a cluster or multiple clusters, and may include one or more types of servers.
[0043] Figure 2 An exemplary block diagram of the configuration of the control device 100 according to an exemplary embodiment is shown. Figure 2 As shown, the control device 100 includes a controller 110, a communication interface 130, a user input / output interface 140, a memory, and a power supply. The control device 100 can receive user input operation commands and convert the operation commands into commands that the display device 200 can recognize and respond to, thus acting as an intermediary for interaction between the user and the display device 200.
[0044] like Figure 3 As shown, the display device 200 includes at least one of a tuner 210, a communicator 220, a detector 230, a device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a communication device interface 280.
[0045] In some embodiments, the controller includes a processor, a video processor, an audio processor, a graphics processor, RAM, ROM, and a first interface to an nth interface for input / output.
[0046] The display 260 includes a display screen assembly for presenting images, a driving assembly for driving image display, a component for receiving image signals from the controller output, and a user control UI interface for displaying video content, image content, menu control interface, and user control UI interface.
[0047] The display 260 can be an LCD display, an OLED display, or a projection display, and can also be a projection device and a projection screen.
[0048] The communicator 220 is a component used to communicate with external devices or servers according to various communication protocol types. For example, the communicator may include at least one of the following: a Wi-Fi module, a Bluetooth module, a wired Ethernet module, other network communication protocol chips or near-field communication protocol chips, and an infrared receiver. The display device 200 can establish the transmission and reception of control signals and data signals with the control device 100 or the server 400 through the communicator 220.
[0049] The communication device interface 280 can be used to receive control signals from the control device 100 (such as an infrared remote control).
[0050] Detector 230 is used to collect signals from the external environment or to interact with the external environment. For example, detector 230 includes a light receiver, a sensor for collecting ambient light intensity; or, detector 230 includes an image acquisition device, such as a camera, which can be used to collect external environmental scenes, user attributes, or user interaction gestures; or, detector 230 includes a sound acquisition device, such as a microphone, for receiving external sounds.
[0051] Device interface 240 may include, but is not limited to, one or more of the following: High Definition Multimedia Interface (HDMI), analog or high-definition component input interface (component), composite video input interface (CVBS), USB input interface (USB), RGB port, etc. It may also be a composite input / output interface formed by multiple interfaces mentioned above.
[0052] The tuner / demodulator 210 receives broadcast television signals via wired or wireless means, and demodulates audio and video signals, such as EPG data signals, from multiple wireless or wired broadcast television signals.
[0053] 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.
[0054] The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200. For example, in response to receiving a user command to select a UI object to display on the monitor 260, the controller 250 can execute operations related to the object selected by the user command.
[0055] In some embodiments, the controller includes at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processing unit (GPU), a RAM (Random Access Memory), a ROM (Read-Only Memory), a first to an nth interface for input / output, a communication bus, etc.
[0056] Users can input commands through a graphical user interface (GUI) displayed on the monitor 260, and the user input interface receives the user input commands through the GUI. Alternatively, users can input commands by entering specific sounds or gestures, and the user input interface receives the user input commands by recognizing the sounds or gestures through sensors.
[0057] A "user interface" is the medium through which an application or operating system interacts and exchanges information with the user. It converts information from its internal form to a form that the user can accept. A common form of user interface is the graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be an icon, window, control, or other interface element displayed on the screen of an electronic device. Controls can include visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets.
[0058] like Figure 4 As shown, in some embodiments, the system is divided into four layers, from top to bottom: the Applications layer (referred to as the "Application Layer"), the Application Framework layer (referred to as the "Framework Layer"), the Android runtime and system library layer (referred to as the "System Runtime Layer"), and the kernel layer.
[0059] In some embodiments, at least one application runs in the application layer. These applications may be Windows programs, system settings programs, or clock programs that come with the operating system; they may also be applications developed by third-party developers. In specific implementations, the application packages in the application layer are not limited to the examples above.
[0060] The framework layer provides application programming interfaces (APIs) and a programming framework for applications. The application framework layer includes predefined functions. It acts as a central processing unit, determining the actions taken by applications within the application layer. Through the API, applications can access system resources and obtain system services during execution.
[0061] like Figure 4 As shown, the application framework layer in this embodiment includes managers, content providers, etc., wherein the managers include at least one of the following modules: ActivityManager, which interacts with all activities running in the system; LocationManager, which provides access to system location services for system services or applications; PackageManager, which retrieves various information related to application packages currently installed on the device; NotificationManager, which controls the display and clearing of notification messages; and WindowManager, which manages icons, windows, toolbars, wallpapers, and desktop widgets on the user interface.
[0062] In some embodiments, the Activity Manager manages the lifecycle of individual applications and common navigation and back functions, such as controlling application exit, opening, and back actions. The Window Manager manages all window programs, such as obtaining the screen size, determining if a status bar is present, locking the screen, capturing the screen, and controlling display window changes (e.g., shrinking the display window, shaking the display, distorting the display, etc.).
[0063] In some embodiments, the system runtime library layer provides support for the upper layer, namely the framework layer. When the framework layer is used, the Android operating system runs the C / C++ libraries contained in the system runtime library layer to implement the functions that the framework layer needs to perform.
[0064] In some embodiments, the kernel layer is a layer between hardware and software. For example... Figure 4 As shown, the kernel layer includes 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.
[0065] The display device 200 can display specific images, such as playback screens, control interfaces, and other application interfaces. Depending on the application developer or operator, the applications installed on the display device 200 can take many forms, such as system applications and third-party applications. When the display 260 shows a list of applications, the user can select one application and control the display device 200 to run that application to achieve its functions.
[0066] like Figure 5 As shown, the display device 200 can render and display images in real time through an image producer module, an image renderer module, a compositer module, a video processing unit (VPU) hardware module, and a screen.
[0067] During the display process, the graphics interface (OpenGLES) of the image generation module can connect to the application on the display device 200 to generate image content and pass it to the image rendering module. The image rendering module controls the display content on the monitor 260, that is, it renders the image content through the user interaction layer (UI layer) or video layer based on the image content. To obtain a better display effect, the image content of the UI layer can be rendered by the GPU component, thereby forming a screen frame for display in the compositing module. The compositing module can form the screen content through software or hardware; for example, the compositing module can be a hardware compositing (HWC) module.
[0068] The compositing module stores image frames using frame buffers and video buffers, and the video processing module forms the image content on the corresponding layers. Specifically, image frames generated during video playback form the image content through the video plane, while image frames from other images (such as touch traces and graphics) form the image content through the primary OSD plane. Finally, the display device 200 uses the blending unit of the video processing module to form the final image, which is then displayed on the monitor 260.
[0069] In some embodiments, the display device 200 may install a player application to play corresponding video files, thereby enabling functions such as local video playback, online on-demand streaming, and live TV broadcasts. The player application can be a system application or a third-party application developed based on a specific display device type and user needs.
[0070] To enhance user experience, the player application can support a playback history function. When the display device 200 runs the player application, it can record video playback information such as the content watched, playback time, and playback progress within a preset time period. When the user wants to view the video playback history, the display device 200 can retrieve the recorded video playback history and control the monitor 260 to display it, allowing the user to quickly find previously viewed content or continue watching from where they left off.
[0071] In some embodiments, the display of video playback records can be varied. For example, the display device 200 can display information such as the video title, playback time, and playback progress of the video files in the playback record, and sort them according to viewing date, viewing time, etc. To facilitate user browsing, the display device 200 can display the video playback record as thumbnails. A thumbnail is a small image generated after compressing the original image. The display device 200 can capture the first frame or a key frame from the video file, compress it into a thumbnail of a preset size, and display it on the user interface according to a preset display area.
[0072] To improve user experience, video playback history can also be dynamically displayed. The display device 200 can dynamically display the video playback history based on focus control. When the video file gains focus, a fixed-length segment of the video file is played in a loop based on the player application. However, because the player application initialization takes a long time, it will cause playback delays, and it does not support multi-channel playback; it only supports dynamic display of the currently selected item.
[0073] For example, a media player is installed on the display device 200. Based on this, video files can be played. Simultaneously, the display device 200 can record information such as the video files played within a preset time period, playback time, and playback progress, and store this information in a pre-built database at the application layer of the display device 200. When a user inputs a display command for the playback history interface, the relevant information of the video playback history can be retrieved from the database, and the display 260 can be controlled to display the video playback history according to a preset display method.
[0074] like Figure 6 The diagram shown is a schematic representation of the playback history interface provided in this application embodiment. It includes video files played within a preset time period. When a user controls the focus of the display device 200 to switch to video 1 using a specific interaction strategy, the display device 200 can initialize the media player and loop fixed-length segments from video 1 based on the media player. Because the media player initialization takes a long time, playback is delayed, preventing immediate playback when the user switches focus to video 1, thus reducing the user experience.
[0075] Furthermore, the media player only supports single-channel playback and dynamically displays only the video file that has the focus. When the user switches the focus to video 2, the display device 200 needs to exit the playback of video 1, reinitialize the media player, and make it loop a fixed-length segment of video 2, which takes a long time.
[0076] To address the issue that video playback records do not support the simultaneous dynamic display of multiple videos, some embodiments of this application provide a method for displaying video playback records, applied to a display device 200. The display device 200, capable of applying the video playback record display method, includes a display 260 and a controller 250. The display 260 is configured to display the application interface of a player application. The controller 250 is configured to execute the aforementioned video playback record display method, such as... Figure 7 As shown, Figure 7 A flowchart illustrating the method for displaying video playback records provided in this application embodiment specifically includes the following:
[0077] When the display device 200 runs a player application, it can play video files based on the player application. For the video file being played, a preset number of image frames can be captured from the video file, and the preset number of image frames can be converted into animated GIFs. The animated GIFs are then associated with the video file and saved to the cache directory of the player application.
[0078] When a user wants to view the video playback history, they can send a display command to the display device 200 to display the playback history interface. In response to the display command, the display device 200 can retrieve the video playback history of the player application from the application layer database. The video playback history includes historical videos played by the player application within a preset time period.
[0079] After obtaining the video playback history, the display device 200 can call the cache directory of the player application, query the dynamic image associated with the historical video in the cache directory, generate a thumbnail of the historical video based on the dynamic image, and control the display 260 to display the thumbnail of the historical video, thereby realizing the dynamic display of multiple videos.
[0080] Understandably, for a video file being played, the display device 200 captures a preset number of keyframes from the video file and converts them into animated GIFs for storage. When displaying the video playback record, the saved animated GIFs are compressed into thumbnails of a preset size and displayed on the user interface according to a preset display area, thereby achieving synchronous dynamic display of multiple videos in the video playback record.
[0081] In some embodiments, the display device 200 can capture image frames from a video file while the video file is playing. Since the display device 200 plays video files based on a video plane, meaning that image frames generated during video playback form the screen content through the video plane, the display device 200 can invoke the video plane's screenshot function when playing video using a player application. This allows it to perform screenshot operations on the video plane's display at a preset frequency, thereby capturing image frames from the current video.
[0082] The preset frequency is the interval between screenshot operations, which can be set according to actual needs. For example, during video playback, the display device 200 can perform a screenshot operation on the video layer every 1ms to capture one image frame.
[0083] Since the aspect ratio of an image frame may differ from that of the thumbnail displayed subsequently, the display device 200, after acquiring the image frame, can detect its size and compare it with a preset thumbnail size. If the image frame size is the same as the preset thumbnail size, no processing is performed. If the image frame size is different from the preset thumbnail size, the image frame is compressed according to the preset thumbnail size to make its aspect ratio consistent with that of the thumbnail displayed subsequently.
[0084] After capturing a first threshold number of image frames from the video layer at a preset frequency, the first threshold number of image frames can be converted into a dynamic image, and the association between the dynamic image and the current video can be established. Finally, the dynamic image is stored in the cache directory of the player application.
[0085] In some embodiments, the display device 200 may capture image frames of the current video at a preset frequency when the video starts playing, and stop the capture operation after capturing a first number of image frames.
[0086] To reduce the occurrence of invalid image frames (such as black screens or empty frames) during video playback, the display device 200 can capture image frames of the current video at a preset frequency after a preset time has elapsed since the video began playing, and stop the capture operation after capturing a first threshold number of image frames. For example, the display device 200 can invoke the video layer's screenshot function 3 seconds after the video begins playing, perform screenshot operations on the video layer's display screen at a preset frequency, and stop the screenshot operation after capturing a first threshold number of image frames.
[0087] In some embodiments, to make the displayed thumbnail closely resemble the user's current viewing progress, the display device 200 may capture image frames representing a first number threshold of frames before the current video stops playing. Therefore, as... Figure 8 The diagram illustrates the process of capturing image frames during video playback according to an embodiment of this application. The display device 200 can create an image list to store image frames captured during video playback. While playing the video, image frames of the current video are captured at a preset frequency, compressed according to a preset thumbnail size, and cached in the image list. The number of images in the image list is then detected. If the number of images in the image list exceeds a first threshold, the first or last image frame in the image list is deleted, ensuring that the image list stores image frames up to the first threshold before the current playback time, following the video playback progress.
[0088] As can be understood, deleting the first or last image frame in the image list means deleting the earliest captured image frame. Deleting the first image frame in the list means that the earliest captured image frame is displayed at the beginning of the image list. Deleting the last image frame in the list means that the earliest captured image frame is displayed at the end of the image list.
[0089] In other words, the display device 200 captures image frames in the video layer and caches them in an image list. It then checks the number of images in the image list; if the number of images is less than or equal to a first threshold, no further processing is done. If the number of images is greater than the first threshold, the earliest captured image frame is deleted from the image list.
[0090] Upon receiving an exit command to stop playing the current video, the display device 200 responds to the exit command by stopping the capture operation, converting the image frames in the image list into animated images, establishing a relationship between the animated images and the current video, and finally storing the animated images in the player application's cache directory.
[0091] In some embodiments, for short video files, the image frame capture and conversion to an animated image operation may be omitted, or the video file may be directly converted to an animated image. The display device 200 may preset a length threshold and determine whether to perform the image frame capture step based on this length threshold. Figure 8 As shown, in response to a video playback command, the display device 200 can detect the current video length, obtain a preset length threshold, and compare the video length with the length threshold. If the video length is greater than the length threshold, the subsequent step of truncating image frames from the current video is executed. If the video length is less than or equal to the length threshold, the step of truncating image frames from the current video is not executed.
[0092] For video files with a length less than or equal to a length threshold, the display device 200 can directly convert the video file into a dynamic image, establish a relationship between the dynamic image and the video file, and finally store the dynamic image in the player application's cache directory. Alternatively, the video file can be left unprocessed; when displaying video playback records, the first frame or a keyframe from the video file can be captured and a thumbnail can be generated for display.
[0093] For example, if the preset length threshold is 10 seconds, the display device 200, in response to a video playback command, detects the length of the current video. If the video length is greater than 10 seconds, it extracts a first threshold number of image frames from the video layer at a preset frequency and converts these first threshold number of image frames into a motion graphic. If the video length is less than or equal to 10 seconds, it directly converts the current video into a motion graphic.
[0094] In some embodiments, to improve the quality of the converted animated image, a second quantity threshold can be preset, which is the minimum number of images in the image list. For example... Figure 8 As shown, upon receiving an exit command to stop playing the current video, the display device 200 can respond to the exit command by detecting the number of images in the image list, obtaining a preset second quantity threshold, and if the number of images in the image list is greater than the second quantity threshold, then performing the subsequent step of converting the image frames in the image list into dynamic images and exiting the playback of the current video; if the number of images in the image list is less than or equal to the second quantity threshold, then deleting the image list, canceling the current save, and exiting the playback of the current video.
[0095] In some embodiments, the association between a dynamic image and a video file can be established based on the video file's name. That is, after the display device 200 converts image frames from the image list into dynamic images, it can read the current video's name, name the dynamic image after the video, establish the association between the dynamic image and the current video, and save it to the player application's cache directory.
[0096] When a user inputs a display command to the display device 200 to display the playback history interface, in response to the command, the display device 200 can retrieve the video playback history of the player application from the application layer database and access the player application's cache directory. For historical videos played within a preset time period in the video playback history, the display device 200 can read the video name of each historical video, query the cache directory for the associated animated GIF based on the video name, generate thumbnails of the historical videos based on the animated GIFs, and control the display 260 to display the thumbnails of the historical videos, thereby achieving synchronous dynamic display of multiple videos in the video playback history.
[0097] In some embodiments, the display device 200 can also establish an association between the animated image and the video file based on the video path of the video file. After converting image frames in the image list into animated images, the display device 200 can read the video path of the current video, name the animated image after the video path, establish an association between the animated image and the current video, and save it to the cache directory of the player application.
[0098] Similarly, for historical videos played within a preset time period in the video playback record, the display device 200 can read the video path of each historical video and query the dynamic image associated with the historical video in the cache directory based on the video path.
[0099] To improve data security and integrity, after reading the video path of the video file, the video path can be hashed to convert it into a fixed-length path value, which is used to establish the association between the animated image and the video file. That is, after the display device 200 converts the image frames in the image list into animated images, it can read the video path of the current video, calculate the path value of the video path, name the animated image after this path value, establish the association between the animated image and the current video, and save it to the player application's cache directory.
[0100] The path value is a hash value obtained based on a preset hash algorithm, used to verify the current video. For example, the display device 200 can obtain the video path of the video file, hash the video path based on the MD5 hash algorithm, and obtain a fixed-length hash value, which can be used to verify the integrity and uniqueness of the video file.
[0101] In some embodiments, for capturing image frames from a video file, the display device 200 can capture them when the video file exits playback. For example... Figure 9 The diagram illustrates the process of capturing image frames when video playback ends, as provided in this embodiment of the application. The display device 200 plays a target video based on a player application. The user inputs an exit command to the display device 200 to stop playing the target video. In response to this exit command, the display device 200 exits playback of the target video and records the exit time point. Image frames are then captured from the target video according to a capture period, where the exit time point represents the playback progress of the target video when playback stops, and the capture period is a preset time period before or after the exit time point.
[0102] For example, if the capture period is 10 seconds, the display device 200 responds to the exit command for stopping the playback of the target video, exits the playback of the target video, and records the exit time point corresponding to the playback progress of the target video when playback stops. If the exit time point is 5 seconds, then image frames between 5 seconds and 15 seconds are captured from the target video file.
[0103] After capturing image frames according to the capture period, to ensure that the aspect ratio of the captured image frames matches that of the thumbnails subsequently displayed, the display device 200 can detect the size of the image frames and compare it with a preset thumbnail size. If the image frame size is the same as the preset thumbnail size, no processing is performed, and the image frame is directly converted into an animated image. If the image frame size is different from the preset thumbnail size, the image frame is compressed according to the preset thumbnail size to reduce its size to the preset thumbnail size, and the compressed image frame is then converted into an animated image.
[0104] Referring to the image frame capture operation described above during video file playback, for short video files, the image frame capture and conversion to animation operations can be omitted, or the video file can be directly converted to animation. For example... Figure 9 As shown, in response to an exit command to stop playing the target video, the display device 200 detects the video length of the target video and obtains a preset length threshold. If the video length is less than or equal to the length threshold, the video file is directly converted into a dynamic image or no processing is performed. If the video length is greater than the length threshold, image frames are extracted from the target video according to the extraction period, and the extracted image frames are converted into dynamic images.
[0105] After converting the captured image frames into animated GIFs, an association is established between the animated GIFs and the target video, and the images are stored in the player application's cache directory. When the user inputs a display command to show the playback history interface, the display device 200 can retrieve the player application's video playback history from the application layer database and access the player application's cache directory. For historical videos played within a preset time period in the video playback history, the device can query the cache directory for animated GIFs associated with the historical videos, generate thumbnails of the historical videos based on the animated GIFs, and control the display 260 to display the thumbnails of the historical videos, thereby achieving synchronous dynamic display of multiple videos in the video playback history.
[0106] When searching for animated GIFs in the cache directory, it may be possible to find no animated GIFs associated with historical videos in the cache directory, such as the case in the above embodiment where no animated GIFs were generated for the video file. To improve the display effect, the display device 200 can extract the first frame or a key frame from the historical video and generate a thumbnail display based on the image frame.
[0107] Therefore, when no animated image associated with the historical video is found in the cache directory, the display device 200 can decode the image frame of the key frame from the historical video. If the image frame of the key frame is empty or black, it continues to decode the image frame of the next frame after the key frame until the decoded image frame is not empty or black, and generates a thumbnail based on the decoded image frame.
[0108] To improve performance, the display device 200 can set a threshold for the number of decoding attempts to limit the number of decoding attempts. It can also set a time threshold to represent the number of frames between decoding attempts. The display device 200 decodes keyframe image frames from historical video. If the keyframe image frame is empty or black, and the number of decoding attempts is less than or equal to the threshold, then the display device 200 decodes the image frame after a preset time threshold. If the keyframe image frame is empty or black, and the number of decoding attempts is greater than the threshold, then the image frame decoding operation is not performed, and a preset placeholder image can be used when displaying the video playback record.
[0109] like Figure 10 The diagram illustrates the process of generating thumbnails according to an embodiment of this application. In response to a user-inputted display command for displaying the playback history interface, the display device 200 retrieves the video playback history of the player application from the application-layer database and accesses the player application's cache directory. For historical videos played within a preset time period in the video playback history, the device searches the cache directory for animated images associated with the historical videos. If an animated image is found, a thumbnail is generated based on the animated image, and the display 260 is controlled to display the thumbnail.
[0110] If no animated image is found, the image frame of frame N is decoded from the historical video. If frame N is empty or black, N is incremented by 2 (N+=2), meaning the image frame 2 seconds after the current frame is decoded. If the image frame 2 seconds after the current frame is empty or black, N is incremented by 2 again. If the decoded image frame is not empty or black within 3 decoding attempts (N≤6), a thumbnail is generated based on that image frame. If the decoding attempts are greater than 3, and the corresponding decoded image frame is still empty or black, a thumbnail is generated based on a preset placeholder image.
[0111] like Figure 11The diagram shows an interface for generating thumbnails based on image frames captured during video playback, as provided in this embodiment of the application. This interface includes playback records for multiple video files. For video files with animated images in the cache directory, their corresponding playback record items can dynamically display thumbnails, enabling synchronized dynamic display of multiple videos in the playback record. For video files without animated images in the cache directory, their corresponding playback record items can use placeholder images as thumbnails. Users can control the focus to move to a specific playback record item and input a playback command. The display device 200 can respond to this playback command, obtain the video file corresponding to the playback record item, and play the video file based on the player application.
[0112] like Figure 12 The diagram shows an interface for generating thumbnails based on image frames captured when a video exits playback, as provided in this embodiment of the application. The interface includes playback records for multiple video files, with each playback record corresponding to a dynamically displayed thumbnail, presenting a synchronized and dynamic display effect of multiple videos. When the user moves the focus to a playback record, the display device 200 can display the playback progress on the thumbnail, such as... Figure 12 The "00:05 / 01:00" indicates that the video length of video 2 is 1 minute and the current playback progress is 5 seconds.
[0113] Regarding the playback history interface mentioned above, when a user deletes a playback record in the playback history interface, the corresponding animated image in the cache directory can be deleted simultaneously. For example... Figure 13 The diagram illustrates the process of deleting a target playback record according to an embodiment of this application. The user inputs a first deletion command for the target playback record in the deletion interface. In response to the first deletion command, the display device 200 obtains the video path of the target historical video in the target playback record, and queries the cache directory for the animated image associated with the target historical video based on the video path. If the animated image associated with the target historical video is found, the target playback record is deleted, and the animated image associated with the target historical video is also deleted from the cache directory. If the animated image associated with the target historical video is not found, the target playback record is deleted.
[0114] It should be noted that the above-described query for an animated graph based on a video path indicates that a relationship is established between the animated graph and the video file based on the video path. Following the same method of establishing a relationship between an animated graph and a video file, it is also possible to query an animated graph based on the video name and the path value of the video path.
[0115] For example, with Figure 11Taking the playback history interface shown as an example, if a user wants to delete the playback history corresponding to video 1, they can control the focus to move to the playback history option corresponding to video 1 and input a delete command to the display device 200. In response to the delete command, the display device 200 can delete the playback history. At the same time, it can obtain the video path of video 1 and query the cache directory of the player application for the animated image associated with video 1 based on the video path. If the animated image associated with video 1 is found, the animated image associated with video 1 is deleted from the cache directory.
[0116] Similarly, when a user deletes a video file, the corresponding history and cached images can also be deleted simultaneously. For example... Figure 14 The diagram illustrates the process of deleting a target video according to an embodiment of this application. The user inputs a second deletion command to delete the target video. The display device 200 responds to the second deletion command and deletes the target video. Simultaneously, it can query the historical records of the target video in the application layer database. If a historical record is found, it is deleted. Furthermore, it can read the video path of the target video and, based on the video path, query the cache directory of the player application for the animated image associated with the target video. If the animated image associated with the target video is found, it is deleted from the cache directory.
[0117] Based on the above-described method for displaying video playback records, some embodiments of this application also provide a display device 200, including a display 260 and a controller 250. The display 260 is configured to display the application interface of a player application. The controller 250 is configured to execute the following program steps:
[0118] In response to a display command used to show the playback history interface, the video playback history is retrieved. This video playback history includes historical videos played by the player application within a preset time period.
[0119] Access the player application's cache directory.
[0120] Search the cache directory for animated GIFs associated with historical videos. These GIFs are generated from image frames extracted from historical videos.
[0121] Generate thumbnails of historical videos based on dynamic graphs, and control the display 260 to display the thumbnails of historical videos.
[0122] The same or similar parts among the various embodiments in this specification can be referred to mutually, and will not be repeated here.
[0123] As can be seen from the above technical solutions, the display device and video playback record display method provided in the above embodiments can obtain video playback records in response to display instructions for displaying the playback record interface. The video playback records include historical videos played by the player application within a preset time period. The player application's cache directory is called, and dynamic images associated with historical videos are queried in the cache directory. These dynamic images are generated based on image frames captured from the historical videos. Finally, thumbnails of the historical videos are generated based on the dynamic images, and the display is controlled to show the thumbnails of the historical videos. This method can pre-capture and save a preset number of image frames from the video file, and dynamically display the pre-stored image frames when displaying the video playback record, solving the problem that video playback records do not support the simultaneous dynamic display of multiple videos.
[0124] Those skilled in the art will clearly understand that the techniques in the embodiments of the present invention can be implemented using software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solutions in the embodiments of the present invention, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods of various embodiments or certain parts of the embodiments of the present invention.
[0125] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
[0126] For ease of explanation, the above description has been provided in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Various modifications and variations can be obtained based on the above teachings. The selection and description of the above embodiments are for the purpose of better explaining the principles and practical applications, thereby enabling those skilled in the art to better utilize the described embodiments and various different variations of embodiments suitable for specific use considerations.
Claims
1. A display device, characterized in that, include: The monitor is configured to display the application interface of the player application; The controller is configured as follows: In response to a display command for displaying the playback history interface, the video playback history is obtained, which includes historical videos played by the player application within a preset time period; Access the cache directory of the player application; The system queries the cache directory for animated images associated with the historical videos, which are generated based on image frames extracted from the historical videos. Generate thumbnails of the historical videos based on the animated graph, and control the display to show the thumbnails of the historical videos.
2. The display device according to claim 1, characterized in that, The display device has a video layer configured to display images generated during video playback, and the controller is further configured to: When playing a video, a screenshot operation is performed on the display screen of the video layer at a preset frequency to capture the image frames of the current video; The image frames are compressed according to a preset thumbnail size, and the compressed image frames are cached in the image list: When the number of images in the image list exceeds a first quantity threshold, delete the first or last image frame in the image list. In response to an exit command to stop playing the current video, the image frames in the image list are converted into animated images; Establish the association between the animated image and the current video, and store the animated image in the cache directory.
3. The display device according to claim 2, characterized in that, The controller is configured to establish the association between the dynamic graph and the current video. Read the video path of the current video; Calculate the path value of the video path, where the path value is a hash value obtained based on a preset hash algorithm and used to verify the current video; The animated graph is named the path value to establish the association between the animated graph and the current video; Alternatively, the video name of the current video can be read, and the animated GIF can be named after the video name to establish an association between the animated GIF and the current video.
4. The display device according to claim 2, characterized in that, The controller is also configured to: Detect the video length of the current video; Get the preset length threshold; If the video length is greater than the length threshold, then the step of extracting image frames from the current video is performed; If the video length is less than or equal to the length threshold, the step of truncating the image frames of the current video is not performed.
5. The display device according to claim 2, characterized in that, The controller is also configured to: In response to an exit command to stop playing the current video, the number of images in the image list is detected; If the number of images in the image list is greater than the second quantity threshold, the step of converting the image frames in the image list into animated images is executed. If the number of images in the image list is less than or equal to the second quantity threshold, delete the image list.
6. The display device according to claim 1, characterized in that, The controller is also configured to: In response to a first deletion command for a target playback record in the interface for deleting playback records, the video path of the target historical video in the target playback record is obtained; Based on the video path, query the cache directory for the dynamic graph associated with the target historical video; Delete the target playback record and delete the animated GIF associated with the target historical video in the cache directory.
7. The display device according to claim 1, characterized in that, The controller is also configured to: In response to a second deletion instruction for deleting a target video, the video path of the target video is read; Based on the video path, query the cache directory for the dynamic graph associated with the target video; Delete the target video and delete the animated GIF associated with the target video in the cache directory.
8. The display device according to claim 1, characterized in that, The controller is also configured to: In response to an exit command to stop playing the target video, the exit time point when the target video stops playing is recorded; According to the extraction period, image frames are extracted from the target video, where the extraction period is a preset time period before the exit time point or a preset time period after the exit time point. The image frames are compressed according to a preset thumbnail size, and the compressed image frames are converted into animated images. Establish the association between the animated image and the target video, and store the animated image in the cache directory.
9. The display device according to claim 1, characterized in that, The controller is also configured to: If no animated image associated with the historical video is found in the cache directory, the image frame of the keyframe is decoded from the historical video. If the image frame of the key frame is an empty frame or a black screen, and the number of decoding attempts is less than or equal to the number of attempts threshold, then decode the image frame of the key frame after a preset time threshold. A thumbnail is generated based on the image frame obtained from decoding.
10. A method for displaying video playback records, characterized in that, include: In response to a display command for displaying the playback history interface, the video playback history is obtained, which includes historical videos played by the player application within a preset time period; Access the cache directory of the player application; The system queries the cache directory for animated images associated with the historical videos, which are generated based on image frames extracted from the historical videos. Generate thumbnails of the historical videos based on the animated graph, and control the display to show the thumbnails of the historical videos.
Citation Information
Patent Citations
Display method and device for video preview
CN106610993A
Viewing history display method and display equipment
CN111327931A