Display device and video playing record display method
By pre-crawling and saving image frames of video files in the display device, generating dynamic pictures and achieving synchronous dynamic display of multiple videos, the problem that video playback records in the prior art do not support synchronous dynamic display of multiple videos is solved, and the user experience is improved.
Patent Information
- Application Number
- CN202311387759.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-24
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2043-10-24
AI Technical Summary
Existing display devices do not support multiple videos synchronous dynamic display in video playback records, resulting in a degradation of user experience.
By pre-crawling and saving a preset number of image frames in the video file, a dynamic picture is generated and associated with the video file, and saved to the cache directory of the player application. When displaying video playback records, pre-stored image frames are displayed dynamically to realize the synchronous dynamic display of multiple videos.
It solves the problem that video playback record does not support the synchronous dynamic display of multiple videos, improves the user experience, and realizes the synchronous dynamic display of multiple videos.
Smart Images

Figure CN119893194A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of display devices, and in particular to a display device and a method for displaying video playback records. Background Art
[0002] Display devices refer to terminal devices that can output specific display images, which can be terminal devices such as smart TVs, communication terminals, smart advertising screens, projectors, etc. Taking smart TVs as an example, smart TVs are based on Internet application technology, have open operating systems and chips, have open application platforms, can realize two-way human-computer interaction functions, and are TV products that integrate multiple functions such as audio and video, entertainment, and data to meet the diverse and personalized needs of users.
[0003] The display device can play the corresponding video file based on the player application. In order to improve the user experience, the player application supports the historical playback record function, which records the user's most recently watched video content, playback time, playback progress and other information so that the user can quickly find the previously watched content or continue the previous viewing progress.
[0004] For the display of historical playback records, the display device can capture the first frame or a key frame in the video file and generate a thumbnail display. In order to improve the user experience, the display device can also realize dynamic display based on focus control. When the video file gains focus, the fixed-length segment of the video file is played in a loop based on the player application. However, since the initialization of the player application takes a long time, it will cause playback delays, and it does not support multi-channel playback, and only supports dynamic display of the currently selected item. Summary of the invention
[0005] The present application provides a display device and a display method for video playback records to solve the problem that video playback records do not support synchronous dynamic display of multiple videos.
[0006] In a first aspect, the present application provides a display device, comprising a display and a controller. The display is configured to display an application interface of a player application; and the controller is configured to execute the following program steps:
[0007] In response to a display instruction for displaying a playback record interface, obtaining a video playback record, wherein the historical playback record includes historical videos played by the player application within a preset time period;
[0008] Calling the cache directory of the player application;
[0009] Querying a dynamic image associated with the historical video in a cache directory, wherein the dynamic image is generated according to image frames captured from the historical video;
[0010] Generate a thumbnail of the historical video based on the dynamic image, and control the display to display the thumbnail of the historical video.
[0011] In a second aspect, the present application further provides a method for displaying a video playback record, which is applied to the above-mentioned display device, and the method comprises:
[0012] In response to a display instruction for displaying a playback record interface, obtaining a video playback record, wherein the historical playback record includes historical videos played by the player application within a preset time period;
[0013] Calling the cache directory of the player application;
[0014] Querying a dynamic image associated with the historical video in a cache directory, wherein the dynamic image is generated according to image frames captured from the historical video;
[0015] Generate a thumbnail of the historical video based on the dynamic image, and control the display to display the thumbnail of the historical video.
[0016] It can be seen from the above technical solutions that the present application provides a display device and a method for displaying video playback records, the method can obtain video playback records in response to a display instruction for displaying a playback record interface, wherein the historical playback records include historical videos played by a player application within a preset time period. The cache directory of the player application is called, and a dynamic image associated with the historical video is queried in the cache directory, wherein the dynamic image is generated based on image frames captured from the historical video. Finally, thumbnails of the historical video are generated based on the dynamic image, and the display is controlled to display thumbnails of the historical video. The method can capture a preset number of image frames in the video file in advance and save them, and dynamically display the pre-stored image frames when displaying the video playback record, thereby solving the problem that the video playback record does not support the synchronous dynamic display of multiple videos. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. 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 paying creative work.
[0018] 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;
[0019] Figure 2 A schematic diagram of the hardware configuration of a control device provided in some embodiments of the present application;
[0020] Figure 3 A schematic diagram of the hardware configuration of a display device provided in some embodiments of the present application;
[0021] Figure 4 A schematic diagram of software configuration of a display device provided in some embodiments of the present application;
[0022] Figure 5 A structural diagram of a display system provided for some embodiments of the present application;
[0023] Figure 6 A schematic diagram of a playback record interface provided in some embodiments of the present application;
[0024] Figure 7 A schematic diagram of a flow chart of a method for displaying video playback records provided in some embodiments of the present application;
[0025] Figure 8 A schematic diagram of a process of capturing image frames during video playback provided in some embodiments of the present application;
[0026] Fig. 9 A schematic diagram of a process of capturing image frames when a video exits playback provided in some embodiments of the present application;
[0027] Fig.10 A schematic diagram of a process for generating thumbnails provided in some embodiments of the present application;
[0028] Fig.11 A schematic diagram of an interface for generating thumbnails based on image frames captured during video playback provided in some embodiments of the present application;
[0029] Fig.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 the present application;
[0030] Fig.13 A schematic diagram of a process for deleting a target playback record provided in some embodiments of the present application;
[0031] Fig.14 A schematic diagram of a process for deleting a target video provided in some embodiments of the present application. DETAILED DESCRIPTION
[0032] In order to make the purpose, technical solutions and advantages of the exemplary embodiments of the present application clearer, the technical solutions in the exemplary embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the exemplary embodiments of the present application. Obviously, the described exemplary embodiments are only part of the embodiments of the present application, not all of the embodiments.
[0033] Based on the exemplary embodiments shown in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application. In addition, although the disclosure in this application is introduced according to one or several exemplary examples, it should be understood that each aspect of these disclosures can also constitute a complete technical solution separately.
[0034] It should be understood that the terms "first", "second", "third", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, for example, they can be implemented according to an order other than those given in the diagrams or descriptions of the embodiments of this application.
[0035] In addition, the terms "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 those components expressly listed but may include other components not expressly listed or inherent to such products or devices.
[0036] The display device provided in the embodiments of the present application may have various implementation forms, for example, it may be 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 a specific implementation of the display device of the present application.
[0037] Figure 1 FIG. 1 is a schematic diagram of an operation scenario between a display device and a control device according to an embodiment. Figure 1 As shown, the user can operate the display device 200 through the smart device 300 or the control apparatus 100 .
[0038] In some embodiments, the control device 100 may be a remote controller, and the communication between the remote controller and the display device includes infrared protocol communication or Bluetooth protocol communication, and other short-range communication methods, and the display device 200 is controlled wirelessly or wired. The user may control the display device 200 by inputting user commands through buttons on the remote controller, voice input, control panel input, etc.
[0039] In some embodiments, a smart device 300 (such as a mobile terminal, a tablet computer, a computer, a laptop computer, etc.) may also be used to control the display device 200. For example, the display device 200 is controlled using an application running on the smart device.
[0040] In some embodiments, the display device 200 may not use the above-mentioned smart device or control device to receive instructions, but may receive user control through touch or gestures.
[0041] In some embodiments, the display device 200 can also be controlled in a manner other than the control device 100 and the smart device 300. For example, the user's voice command control can be directly received through a module for obtaining voice commands configured inside the display device 200, or the user's voice command control can be received through a voice control device set outside the display device 200.
[0042] In some embodiments, the display device 200 also communicates data with the server 400. The display device 200 may be allowed to communicate via a local area network (LAN), a wireless local area network (WLAN), and other networks. The server 400 may provide various content and interactions to the display device 200. The server 400 may be one cluster or multiple clusters, and may include one or more types of servers.
[0043] Figure 2 Schematically shows a block diagram of a configuration of the control device 100 according to an exemplary embodiment. 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 input operation instructions from the user, and convert the operation instructions into instructions that the display device 200 can recognize and respond to, playing the role of an interactive intermediary 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 and demodulator 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, a RAM, a ROM, and a first interface to an nth interface for input / output.
[0046] The display 260 includes a display screen component for presenting images, and a driving component for driving image display, which is used to receive image signals output from the controller, and display video content, image content, and menu control interface components and user control UI interface.
[0047] The display 260 may be a liquid crystal display, an OLED display, or a projection display, and may also be a projection device and a projection screen.
[0048] The communicator 220 is a component for communicating with an external device or server according to various communication protocol types. For example, the communicator may include at least one of a Wifi module, a Bluetooth module, a wired Ethernet module, and other network communication protocol chips or near field communication protocol chips, and an infrared receiver. The display device 200 can establish 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 may be used to receive a control signal from the control device 100 (eg, an infrared remote controller, etc.).
[0050] The detector 230 is used to collect signals from the external environment or the external interaction. For example, the detector 230 includes a light receiver, a sensor for collecting the intensity of ambient light; or, the detector 230 includes an image collector, such as a camera, which can be used to collect external environment scenes, user attributes or user interaction gestures; or, the detector 230 includes a sound collector, such as a microphone, etc., for receiving external sounds.
[0051] The device interface 240 may include, but is not limited to, any one or more of the following interfaces: a high-definition multimedia interface (HDMI), an analog or digital high-definition component input interface (component), a composite video input interface (CVBS), a USB input interface (USB), an RGB port, etc. It may also be a composite input / output interface formed by the above multiple interfaces.
[0052] The tuner-demodulator 210 receives broadcast television signals via wired or wireless reception, and demodulates audio and video signals, such as EPG data signals, from a plurality of wireless or wired broadcast television signals.
[0053] In some embodiments, the controller 250 and the tuner-demodulator 210 may be located in different separate devices, that is, the tuner-demodulator 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 for selecting a UI object to be displayed on the display 260, the controller 250 can perform 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, RAM), a ROM (Read-Only Memory, ROM), a first interface to an nth interface for input / output, a communication bus (Bus), etc.
[0056] 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). Alternatively, the user may input a user command through a specific sound or gesture, and the user input interface recognizes the sound or gesture through a sensor to receive the user input command.
[0057] "User interface" is the medium interface for interaction and information exchange between applications or operating systems and users. It realizes the conversion between the internal form of information and the form acceptable to users. The commonly used form of user interface is the Graphical User Interface (GUI), which refers to the user interface related to computer operation displayed in a graphical way. It can be an interface element such as an icon, window, control, etc. displayed on the display screen of an electronic device, where the control can include icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets, etc.
[0058] like Figure 4 As shown, in some embodiments, the system is divided into four layers, from top to bottom, namely, the application layer (Applications) layer (referred to as "application layer"), the application framework layer (Application Framework) layer (referred to as "framework layer"), the Android runtime (Android runtime) and system library layer (referred to as "system runtime library layer"), and the kernel layer.
[0059] In some embodiments, at least one application is running in the application layer, and these applications can be window programs, system settings programs, clock programs, etc. provided by the operating system, or applications developed by third-party developers. In specific implementations, the application packages in the application layer are not limited to the above examples.
[0060] The framework layer provides application programming interfaces (APIs) and programming frameworks for applications. The application framework layer includes some predefined functions. The application framework layer is equivalent to a processing center that determines the actions that applications in the application layer take. Through the API interface, applications can access system resources and obtain system services during execution.
[0061] like Figure 4 As shown, in the embodiment of the present application, the application framework layer includes managers, content providers, etc., wherein the manager includes at least one of the following modules: an activity manager (ActivityManager) is used to interact with all activities running in the system; a location manager (Location Manager) is used to provide system services or applications with access to system location services; a package manager (Package Manager) is used to retrieve various information related to the application package currently installed on the device; a notification manager (NotificationManager) is used to control the display and clearing of notification messages; a window manager (Window Manager) is used to manage icons, windows, toolbars, wallpapers, and desktop components on the user interface.
[0062] In some embodiments, the activity manager is used to manage the life cycle of each application and the common navigation back function, such as controlling the exit, opening, and back of the application. 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, capturing the screen, and controlling the display window changes (for example, reducing the display window, shaking the display, distorting the display, etc.).
[0063] In some embodiments, the system runtime layer provides support for the upper layer, namely the framework layer. When the framework layer is used, the Android operating system will run the C / C++ library contained in the system runtime layer to implement the functions to be implemented by the framework layer.
[0064] In some embodiments, the kernel layer is a layer between hardware and software. 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, etc.
[0065] Based on the above, the display device 200 can present a specific screen. For example, a playback screen, a control interface, and other application interfaces. According to the developer or operator of the application, the application installed on the display device 200 may include various forms, such as system applications, third-party applications, etc. When the application list is displayed in the display 260, the user can select one of the applications and control the display device 200 to run the application to implement the function of the application.
[0066] like Figure 5 As shown, the display device 200 can render and display the picture in real time through an image generation (Image Producer) module, an image rendering (surface flinger) module, a synthesis (Composer) module, a video process (Video Processing Unit hardware, VPU hardware) module and a display (screen).
[0067] In the process of displaying the picture, the graphics interface (openGLES) of the image generation module can be connected to the application on the display device 200 to generate image content and pass the image content to the image rendering module. The image rendering module is used to control the display 260 to display content, that is, to render the image content through the user interaction layer (UI layer) or the video layer (video layer) according to the image content. In order to obtain a better display effect, the image content of the UI layer can be rendered by the GPU component, so as to form a picture frame for display in the synthesis module. Among them, the synthesis module can form the picture content by software or hardware, for example, the synthesis module can be a hardware synthesis (Hardware Composer, HWC) module.
[0068] In the synthesis module, the picture frames can be stored through the frame buffer and the video buffer, and the picture content can be formed in the corresponding layers through the video process module. That is, the image frames generated by the video playback process form the picture content through the video plane, and the image frames of other image pictures (such as touch tracks, graphics, etc.) form the picture content through the primary OSD plane. Finally, the display device 200 forms the final picture through the blending unit of the video process module and displays it on the display 260.
[0069] In some embodiments, the display device 200 may be installed with a player application, and the corresponding video files may be played based on the player application to realize functions such as local video playback, online on-demand, and TV live broadcast, etc. The player application may be a system application or a third-party application developed based on a specific display device type and user needs.
[0070] In order to improve the user experience, the player application can support a historical playback record function. When the display device 200 runs the player application, it can record video playback record information such as video content, playback time, and playback progress watched by the user within a preset time period. When the user wants to view the video playback record, the display device 200 can retrieve the recorded video playback record and control the display 260 to display it, so that the user can quickly find the previously watched content or continue the previous viewing progress.
[0071] In some embodiments, the video playback record may be displayed in a variety of ways. For example, the display device 200 may display information such as the video title, playback time, and playback progress of the video file in the video playback record, and sort the information by viewing date, viewing time, etc. To facilitate user browsing, the display device 200 may display the video playback record in the form of thumbnails. A thumbnail is a small image generated after the original image is compressed. The display device 200 may capture the first frame or a key frame in 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] In order to improve the user experience, the video playback record can also support dynamic display. The display device 200 can realize the dynamic display of the video playback record based on the focus control. When the video file obtains the focus, the fixed-length segment of the video file is played in a loop based on the player application. However, since the initialization of the player application takes a long time, it will cause a delay in playback, and it does not support multi-channel playback, and only supports the dynamic display of the currently selected item.
[0073] For example, a media player (MediaPlayer) is installed on the display device 200, and video files can be played based on the media player. At the same time, the display device 200 can record information such as video files played within a preset time period by the media player, the playing time, and the playing progress, and store it in a database preset in the application layer of the display device 200. When the user inputs a display instruction of the play record interface, relevant information of the video play record can be obtained from the database, and the display 260 can be controlled to display the video play record in a preset display mode.
[0074] like Figure 6 As shown, it is a schematic diagram of the interface of the playback record interface provided by the embodiment of the present application, including video files played within a preset time period. When the user controls the focus of the display device 200 to switch to video 1 through a specific interaction strategy, the display device 200 can initialize the media player, and the fixed-length segment in video 1 is played in a loop based on the media player. Since the initialization of the media player takes a long time, it will cause a delay in the playback, so that the user cannot play immediately when switching the focus to video 1, which reduces the user experience.
[0075] Moreover, the media player only supports single-channel playback, and only dynamically displays the video file that has gained focus. When the user switches the focus to video 2, the display device 200 needs to exit the playback of video 1 and reinitialize the media player to loop the fixed-length segment of video 2, which takes a long time.
[0076] In order to solve the problem that video playback records do not support the synchronous dynamic display of multiple videos, some embodiments of the present application provide a method for displaying video playback records, which is applied to a display device 200. The display device 200 capable of applying the method for displaying video playback records includes: a display 260 and a controller 250. The display 260 is configured to display an application interface of a player application. The controller 250 is configured to execute the method for displaying video playback records, such as Figure 7 As shown, Figure 7 The flowchart of the method for displaying the video playback record provided in the embodiment of the present application specifically includes the following contents:
[0077] When the display device 200 runs the player application, the video file can be played based on the player application. For the played video file, a preset number of image frames can be captured from the video file, and the preset number of image frames can be converted into dynamic images (gif images), and then the dynamic images are associated with the video file and saved in the cache directory of the player application.
[0078] When the user wants to view the video playback record, a display instruction for displaying the playback record interface can be sent to the display device 200. In response to the display instruction, the display device 200 can obtain the video playback record of the player application from the database of the application layer, wherein the video playback record includes the historical videos played by the player application within a preset time period.
[0079] After obtaining the video playback record, the display device 200 can call the cache directory of the player application, query the cache directory for dynamic images associated with historical videos, generate thumbnails of historical videos based on the dynamic images, and control the display 260 to display thumbnails of historical videos, thereby realizing dynamic display of multiple videos.
[0080] It is understandable that, for the played video file, the display device 200 captures a preset number of key frames in the video file and converts them into dynamic images for storage. When displaying the video playback record, the stored dynamic images are compressed into thumbnails of a preset size and displayed on the user interface according to the preset display area, thereby realizing the synchronous dynamic display of multiple videos in the video playback record.
[0081] In some embodiments, for capturing image frames in a video file, the display device 200 can capture the image frames when the video file is played. Since the display device 200 plays the video file based on the video plane, that is, the image frames generated during the video playback process form the screen content through the video plane. Therefore, when the display device 200 plays the video based on the player application, the screenshot function of the video layer can be called to perform a screenshot operation on the display screen of the video layer at a preset frequency, thereby capturing the image frames of the current video.
[0082] Among them, the preset frequency is the interval time for performing the screenshot operation, which can be set according to actual needs. For example, during video playback, the display device 200 can perform a screenshot operation on the display screen of the video layer every 1 ms to capture a frame of the image.
[0083] Since the aspect ratio of the image frame may be inconsistent with the aspect ratio of the thumbnail displayed subsequently, after the display device 200 obtains the image frame, it can detect the size of the image frame and compare the size of the image frame with the preset thumbnail size. If the size of the image frame is the same as the preset thumbnail size, no processing is performed. If the size of the image frame is different from the preset thumbnail size, the image frame is compressed according to the preset thumbnail size to compress the size of the image frame to the preset thumbnail size, so that the aspect ratio of the image frame is consistent with the aspect ratio of the thumbnail displayed subsequently.
[0084] After capturing a first number threshold of image frames in the video layer at a preset frequency, the image frames of the first number threshold can be converted into a dynamic image, and an association relationship between the dynamic image and the current video can be established, and finally the dynamic image can be 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 image frames of a first number threshold.
[0086] In order to reduce the situation where the captured image frames are invalid frames (such as black screens, empty frames), the display device 200 can capture the image frames of the current video at a preset frequency after a preset time when the video starts playing, and stop the capture operation after capturing image frames of a first number threshold. For example, the display device 200 can call the screenshot function of the video layer 3 seconds after the video starts playing, perform a screenshot operation on the display screen of the video layer at a preset frequency, and stop the screenshot operation after capturing image frames of a first number threshold.
[0087] In some embodiments, in order to make the displayed thumbnail close to the user's current viewing progress, the display device 200 can intercept a first number of image frames before the current video stops playing. Figure 8 As shown, it is a schematic diagram of the process of capturing image frames during video playback provided by an embodiment of the present application. The display device 200 can create an image list for storing image frames captured during video playback. When playing a video, image frames of the current video are captured at a preset frequency, and the image frames are compressed according to a preset thumbnail size, and the compressed image frames are cached in an image list. The number of images in the image list is then detected. When the number of images in the image list is greater than a first number threshold, the first or last image frame in the image list is deleted so that the image list stores image frames of the first number threshold before the current playback time point in accordance with the progress of video playback.
[0088] It can be understood that deleting the first or last image frame in the image list means deleting the earliest captured image frame, wherein deleting the first image frame in the image list means that the first captured image frame is displayed at the first position in the image list. Deleting the last image frame in the image list means that the first captured image frame is displayed at the last position in the image list.
[0089] That is, the display device 200 captures an image frame in the video layer and caches the image frame in the image list. Then the number of images in the image list is detected. If the number of images is less than or equal to the first number threshold, no processing is performed. If the number of images is greater than the first number threshold, the earliest captured image frame is deleted from the image list.
[0090] When receiving an exit command for stopping playing the current video, the display device 200 responds to the exit command, stops the capture operation, converts the image frames in the image list into dynamic images, establishes an association between the dynamic images and the current video, and finally stores the dynamic images in the cache directory of the player application.
[0091] In some embodiments, for a video file with a short video length, the image frame capture and conversion to a dynamic image operation may not be performed, or the video file may be directly converted to a dynamic image. The display device 200 may pre-set a length threshold, and determine whether to perform the image frame capture step based on the length threshold. Figure 8 As shown, the display device 200 can detect the video length of the current video in response to the video playback instruction, obtain a preset length threshold, and compare the video length and the length threshold. If the video length is greater than the length threshold, the subsequent step of intercepting the image frame of the current video is performed. If the video length is less than or equal to the length threshold, the step of intercepting the image frame of the current video is not performed.
[0092] For video files whose length is less than or equal to the length threshold, the display device 200 can directly convert the video file into a dynamic image, establish an association between the dynamic image and the video file, and finally store the dynamic image in the cache directory of the player application. It is also possible not to process the video file, and when displaying the video playback record, the first frame or a key frame in the video file can be captured to generate a thumbnail display.
[0093] For example, the preset length threshold is 10s, and the display device 200 detects the video length of the current video in response to the video play instruction. If the video length is greater than 10s, the image frames of the first number threshold are intercepted in the video layer according to the preset frequency, and the image frames of the first number threshold are converted into dynamic images. If the video length is less than or equal to 10s, the current video is directly converted into a dynamic image.
[0094] In some embodiments, in order to improve the quality of the converted dynamic image, a second quantity threshold may be preset, and the second quantity threshold is the minimum number of images in the image list. Figure 8 As shown, upon receiving an exit instruction for stopping playback of the current video, the display device 200 can respond to the exit instruction, detect the number of images in the image list, and obtain a preset second quantity threshold. If the number of images in the image list is greater than the second quantity threshold, the subsequent step of converting the image frames in the image list into dynamic images is executed, and playback of the current video is exited. If the number of images in the image list is less than or equal to the second quantity threshold, the image list is deleted, the save is canceled, and playback of the current video is exited.
[0095] In some embodiments, the association relationship between the dynamic image and the video file can be established based on the video name of the video file. That is, after the display device 200 converts the image frame in the image list into a dynamic image, the video name of the current video can be read, and the name of the dynamic image can be named as the video name to establish the association relationship between the dynamic image and the current video, and save it to the cache directory of the player application.
[0096] When the user inputs a display instruction for displaying the playback record interface to the display device 200. In response to the display instruction, the display device 200 can obtain the video playback record of the player application from the database of the application layer, and call the cache directory of the player application. For the historical videos played within a preset time period in the video playback record, the display device 200 can read the video name of each historical video, query the dynamic image associated with the historical video in the cache directory based on the video name, 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 synchronous dynamic display of multiple videos in the video playback record.
[0097] In some embodiments, the display device 200 can also establish an association relationship between the dynamic image and the video file based on the video path of the video file. After the display device 200 converts the image frame in the image list into a dynamic image, it can read the video path of the current video, name the dynamic image as the video path, so as to establish an association relationship between the dynamic 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 cache directory for dynamic images associated with the historical video based on the video path.
[0099] In order to improve the security and integrity of data, after reading the video path of the video file, the video path can be hashed and converted into a path value of fixed length for establishing the association relationship between the dynamic image and the video file. That is, after the display device 200 converts the image frame in the image list into a dynamic image, the video path of the current video can be read, the path value of the video path can be calculated, and the name of the dynamic image can be named as the path value to establish the association relationship between the dynamic image and the current video, and save it to the cache directory of the player application.
[0100] The path value is a hash value obtained based on a preset hash algorithm for verifying the current video. For example, the display device 200 can obtain the video path of the video file, perform hash processing on the video path based on the MD5 hash algorithm, and obtain a hash value of a fixed length, which can be used to verify the integrity and uniqueness of the video file.
[0101] In some embodiments, for capturing image frames in a video file, the display device 200 may capture the image frames when the video file exits playback. Fig. 9 As shown, it is a flow chart of capturing image frames when a video is exited from playback provided by an embodiment of the present application. The display device 200 plays a target video based on a player application, and a user inputs an exit instruction for stopping playback of the target video to the display device 200. In response to the exit instruction, the display device 200 exits playback of the target video and records the exit time point when the playback of the target video is stopped. Image frames are captured in the target video according to the capture period, wherein the exit time point is the playback progress of the target video when the playback of the target video is stopped, and the capture period is a preset time period before the exit time point or a preset time period after the exit time point.
[0102] For example, if the capture period is 10s, the display device 200 responds to the exit instruction for stopping the target video, exits the target video, and records the exit time point corresponding to the target video playback progress when the target video is stopped. If the exit time point is 5s, the image frames between 5s and 15s are captured in the target video file.
[0103] After capturing the image frame according to the capture cycle, in order to make the aspect ratio of the captured image frame consistent with the aspect ratio of the thumbnail displayed subsequently, the display device 200 can detect the size of the image frame, compare the size of the image frame with the preset thumbnail size, and if the size of the image frame is the same as the preset thumbnail size, no processing is performed and the image frame is directly converted into a dynamic image. If the size of the image frame is different from the preset thumbnail size, the image frame is compressed according to the preset thumbnail size to compress the size of the image frame to the preset thumbnail size, and the compressed image frame is converted into a dynamic image.
[0104] Referring to the above-mentioned operation of capturing image frames when playing a video file, for a video file with a short video length, the operation of capturing image frames and converting to a dynamic image may not be performed, or the video file may be directly converted to a dynamic image. Fig. 9 As shown, the display device 200 detects the video length of the target video in response to the exit instruction for stopping the playback of the target video, obtains a preset length threshold, and directly converts the video file into a dynamic image or does not process it if the video length is less than or equal to the length threshold. If the video length is greater than the length threshold, image frames are intercepted in the target video according to the interception period, and the intercepted image frames are converted into dynamic images.
[0105] After the captured image frame is converted into a dynamic image, an association relationship between the dynamic image and the target video is established and stored in the cache directory of the player application. When the user inputs a display instruction for displaying the playback record interface, the display device 200 can obtain the video playback record of the player application from the database of the application layer and call the cache directory of the player application. For the historical videos played within a preset time period in the video playback record, the dynamic image associated with the historical video can be queried in the cache directory, and a thumbnail of the historical video can be generated based on the dynamic image, and the display 260 can be controlled to display the thumbnail of the historical video, thereby realizing the synchronous dynamic display of multiple videos in the video playback record.
[0106] When searching for dynamic images in the cache directory, it may happen that no dynamic images associated with the historical video are found in the cache directory, such as the case where no dynamic images are generated for the video file in the above embodiment. In order to improve the display effect, the display device 200 can capture the image frame of the first frame or the image frame of a key frame from the historical video, and generate a thumbnail display based on the image frame.
[0107] Therefore, when no dynamic 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 an empty frame or a black screen, the display device 200 continues to decode the image frame of the frame after the key frame until the decoded image frame is not an empty frame or a black screen, and generates a thumbnail based on the decoded image frame.
[0108] In order to improve performance, the display device 200 can set a decoding times threshold to limit the decoding times. A time threshold can also be set to indicate the number of frames between decodings. The display device 200 decodes the image frame of the key frame from the historical video. If the image frame of the key frame is an empty frame or a black screen, and the decoding times are less than or equal to the times threshold, the image frame of the preset time threshold after the key frame is decoded. If the image frame of the key frame is an empty frame or a black screen, and the decoding times are greater than the times threshold, the operation of decoding the image frame is not performed, and a preset placeholder image can be used for display when displaying the video playback record.
[0109] like Fig.10 As shown, it is a schematic diagram of the process of generating thumbnails provided by an embodiment of the present application. In response to the display instruction input by the user for displaying the playback record interface, the display device 200 obtains the video playback record of the player application from the database of the application layer, and calls the cache directory of the player application. For the historical videos played within a preset time period in the video playback record, the cache directory is queried for the dynamic image associated with the historical video. If the dynamic image is queried, a thumbnail is generated based on the dynamic image, and the display 260 is controlled to display the thumbnail.
[0110] If no dynamic image is found, decode the image frame of the Nth frame from the historical video. If the image frame of the Nth frame is an empty frame or a black screen, increase the value of N by 2 (N+=2), that is, decode the image frame 2 seconds after the current frame. If the image frame 2 seconds after the current frame is an empty frame or a black screen, continue to increase the value of N by 2. If the decoded image frame is not an empty frame or a black screen within the number of decoding times less than or equal to 3 times (N≤6), generate a thumbnail based on the image frame. If the number of decoding times is greater than 3 times, and the corresponding decoded image frame is still an empty frame or a black screen, generate a thumbnail based on the preset placeholder image.
[0111] like Fig.11As shown, it is a schematic diagram of an interface for generating thumbnails based on image frames captured during video playback provided by an embodiment of the present application. The interface includes playback records of multiple video files. For video files with dynamic images in the cache directory, the corresponding playback record items can dynamically display thumbnails to achieve synchronous dynamic display of multiple videos in the video playback record. For video files without dynamic images in the cache directory, the corresponding playback record items can use placeholder images as thumbnail displays. The user can control the focus to move to a certain playback record item and input a playback instruction. The display device 200 can respond to the playback instruction, obtain the video file corresponding to the playback record item, and play the video file based on the player application.
[0112] like Fig.12 As shown in FIG. 1 , a schematic diagram of an interface for generating thumbnails based on image frames captured when a video exits playback provided by an embodiment of the present application is provided. The interface includes playback records of multiple video files, each playback record item corresponds to a dynamically displayed thumbnail, presenting a display effect of synchronously and dynamically displaying multiple videos. When the user controls the focus to move to a playback record item, the display device 200 can display the playback progress on the thumbnail, such as Fig.12 The "00:05 / 01:00" shown indicates that the video length of video 2 is 1 minute and the current playback progress is 5 seconds.
[0113] For the above playback record interface, when the user deletes a playback record in the playback record interface, the corresponding dynamic image in the cache directory can be deleted synchronously. Fig.13 As shown, it is a schematic diagram of the process of deleting the target playback record provided by the embodiment of the present application. The user inputs a first deletion instruction for deleting the target playback record in the playback record interface, and the display device 200 responds to the first deletion instruction, obtains the video path of the target historical video in the target playback record, queries the dynamic image associated with the target historical video in the cache directory based on the video path, deletes the target playback record if the dynamic image associated with the target historical video is found, and deletes the dynamic image associated with the target historical video in the cache directory. If the dynamic image associated with the target historical video is not found, the target playback record is deleted.
[0114] It should be noted that the above querying of the dynamic graph based on the video path means establishing the association relationship between the dynamic graph and the video file based on the video path. Referring to the above method of establishing the association relationship between the dynamic graph and the video file, the dynamic graph can also be queried based on the video name and the path value of the video path.
[0115] For example, Fig.11Taking the playback record interface shown as an example, if the user wants to delete the playback record corresponding to video 1, the user can control the focus to move to the playback record option corresponding to video 1, and input a deletion command to the display device 200. In response to the deletion command, the display device 200 can delete the playback record and obtain the video path of video 1 at the same time. Based on the video path, the dynamic image associated with video 1 is queried in the cache directory of the player application. If the dynamic image associated with video 1 is queried, the dynamic image associated with video 1 is deleted from the cache directory.
[0116] Similarly, when a user deletes a video file, the history records and the corresponding dynamic images in the cache directory can also be deleted synchronously. Fig.14 As shown, it is a schematic diagram of the process of deleting the target video provided by an embodiment of the present application. The user inputs a second deletion instruction for deleting the target video, and the display device 200 deletes the target video in response to the second deletion instruction. At the same time, the historical record of the target video can be queried in the database of the application layer. If the historical record is found, the historical record is deleted. At the same time, the video path of the target video can be read, and the dynamic image associated with the target video can be queried in the cache directory of the player application based on the video path. If the dynamic image associated with the target video is found, the dynamic image associated with the target historical video is deleted in the cache directory.
[0117] Based on the display method of the above video playback record. In some embodiments of the present application, a display device 200 is also provided, including: a display 260 and a controller 250. Among them, the display 260 is configured to display the application interface of the player application. The controller 250 is configured to perform the following program steps:
[0118] In response to a display instruction for displaying a playback record interface, a video playback record is obtained, wherein the historical playback record includes historical videos played by the player application within a preset time period.
[0119] Call the cache directory of the player application.
[0120] The cache directory is searched for dynamic images associated with the historical video, wherein the dynamic images are generated based on image frames captured from the historical video.
[0121] Generate thumbnails of historical videos based on the dynamic images, and control the display 260 to display the thumbnails of historical videos.
[0122] The same and similar parts between the various embodiments in this specification can be referenced to each other and will not be described again here.
[0123] It can be seen from the above technical solutions that the display device and the display method of the video playback record provided by the above embodiments can obtain the video playback record in response to the display instruction for displaying the playback record interface, wherein the historical playback record includes the historical videos played by the player application within a preset time period. The cache directory of the player application is called, and the dynamic image associated with the historical video is queried in the cache directory, wherein the dynamic image is generated based on the image frames captured in the historical video. Finally, a thumbnail of the historical video is generated based on the dynamic image, and the display is controlled to display the thumbnail of the historical video. The method can capture a preset number of image frames in the video file in advance and save them, and dynamically display the pre-stored image frames when displaying the video playback record, thereby solving the problem that the video playback record does not support the synchronous dynamic display of multiple videos.
[0124] Those skilled in the art can clearly understand that the technology in the embodiments of the present invention can be implemented by means of software plus a necessary general hardware platform. Based on this understanding, the technical solution in the embodiments of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a disk, an optical disk, etc., and includes a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods of various embodiments of the present invention or certain parts of the embodiments.
[0125] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
[0126] For the convenience of explanation, the above description has been made in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or limit the embodiments to the specific forms disclosed above. Based on the above teachings, various modifications and variations can be obtained. The selection and description of the above embodiments are to better explain the principles and practical applications, so that those skilled in the art can better use the embodiments and various different variations of the embodiments suitable for specific use considerations.
Claims
1. A display device, characterized in that: include: A display configured to display an application interface of a player application; The controller is configured as: In response to a display instruction for displaying a playback record interface, obtaining a video playback record, wherein the historical playback record includes historical videos played by the player application within a preset time period; Calling the cache directory of the player application; Querying a dynamic image associated with the historical video in a cache directory, wherein the dynamic image is generated according to image frames captured from the historical video; Generate a thumbnail of the historical video based on the dynamic image, and control the display to display the thumbnail of the historical video.
2. The display device according to claim 1, characterized in that The display device has a video layer, and the video layer is configured to display a picture generated during the video playback process. The controller is also 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 an image frame of the current video; Compressing the image frame according to a preset thumbnail size, and caching the compressed image frame into an image list: When the number of images in the image list is greater than a first number threshold, deleting the first or last image frame in the image list; In response to an exit instruction for stopping playing the current video, converting the image frames in the image list into dynamic images; An association relationship between the dynamic image and the current video is established, and the dynamic image is stored in the cache directory.
3. The display device according to claim 2, characterized in that The controller executes establishing an association relationship between the dynamic image and the current video, and is configured to: Read the video path of the current video; Calculating a 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; Naming the dynamic image as the path value to establish an association relationship between the dynamic image and the current video; Alternatively, the video name of the current video is read, and the dynamic image is named as the video name to establish an association relationship between the dynamic image and the current video.
4. The display device according to claim 2, characterized in that The controller is also configured to: Detecting the video length of the current video; Get the preset length threshold; If the video length is greater than the length threshold, executing the step of intercepting an image frame of the current video; If the video length is less than or equal to the length threshold, the step of capturing the image frame 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 instruction for stopping playing the current video, detecting the number of images in the image list; If the number of images in the image list is greater than a second number threshold, executing the step of converting the image frames in the image list into dynamic images; If the number of images in the image list is less than or equal to the second number threshold, the image list is deleted.
6. The display device according to claim 1, characterized in that The controller is also configured to: In response to a first deletion instruction for deleting a target playback record in the playback record interface, obtaining a video path of a target historical video in the target playback record; Querying the dynamic graph associated with the target historical video in the cache directory based on the video path; Delete the target playback record, and delete the dynamic image 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, reading a video path of the target video; Querying the dynamic graph associated with the target video in the cache directory based on the video path; Delete the target video, and delete the dynamic image 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 instruction for stopping playing the target video, recording an exit time point when the playing of the target video is stopped; Intercepting image frames in the target video according to an interception period, wherein the interception period is a preset time period before the exit time point or a preset time period after the exit time point; Compressing the image frame according to a preset thumbnail size, and converting the compressed image frame into a dynamic image; An association relationship between the dynamic image and the current video is established, and the dynamic image is stored in the cache directory.
9. The display device according to claim 1, characterized in that: The controller is also configured to: When no dynamic image associated with the historical video is found in the cache directory, decoding image frames of key frames 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 times is less than or equal to the number threshold, decode the image frame of the preset time threshold after the key frame; A thumbnail is generated based on the decoded image frame.
10. A method for displaying video playback records, characterized in that: include: In response to a display instruction for displaying a playback record interface, obtaining a video playback record, wherein the historical playback record includes historical videos played by the player application within a preset time period; Calling the cache directory of the player application; Querying a dynamic image associated with the historical video in a cache directory, wherein the dynamic image is generated according to image frames captured from the historical video; Generate a thumbnail of the historical video based on the dynamic image, and control the display to display the thumbnail of the historical video.
Citation Information
Patent Citations
Thumbnail generation method and generation device
CN106101868A
Display method and device for video preview
CN106610993A
Viewing history display method and display equipment
CN111327931A
Systems and methods for providing a video playlist
US20080148152A1
Method for Generating Video Thumbnail on Electronic Device, and Electronic Device
US20190318169A1
Cited By
Image generation method and device, equipment and storage medium
CN121644890A