Display device and video switching method

By preloading the next video data during video playback, the black screen problem during video switching is solved, and seamless switching and cost reduction is achieved.

CN120583265APending Publication Date: 2025-09-02VIDAA (NETHERLANDS) INT HLDG LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510571231.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-30
Publication Date
2025-09-02

AI Technical Summary

Technical Problem

There is a brief black screen or load waiting when switching videos in traditional video playback, resulting in stuttering playback.

Method used

During the first video playback process, the preload time required for the second video data to be established with it to establish a continuous playback relationship through the controller, ensuring that the second video data is preloaded when the first video is played to a matching preload time point, and decode and play at the end of the first video.

Benefits of technology

It realizes seamless switching between videos, improves user viewing fluency and reduces video playback costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120583265A_ABST
    Figure CN120583265A_ABST
Patent Text Reader

Abstract

The invention relates to a display device and a video switching method. The apparatus includes: a video decoder configured to decode first video data of a first video; a display configured to play a first video based on the decoded first video data; the controller is configured to: if a second video having a continuous playing relationship with the first video exists, in the playing process of the first video, obtain a preloading duration required by the display device for preloading second video data of the second video; when the first video is played to a preloading time point matched with the preloading duration, preloading the second video data; and when the playing of the first video is finished, controlling the video decoder to decode the second video data, and controlling the display to play a second video based on the decoded second video data. According to the invention, the problem of lagging during video switching playing at present can be solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] In traditional video playback, when the first video finishes playing, it usually automatically switches to the next video. However, because it takes time for a video to download and play, this causes the display device to briefly appear "black screen" or "loading", causing video playback to freeze. Summary of the Invention

[0003] The present application provides a display device and a video switching method to solve the current problem of video freeze during switching playback.

[0004] In a first aspect, some embodiments provide a display device, including:

[0005] a video decoder configured to decode first video data of a first video;

[0006] a display configured to play the first video based on the decoded first video data;

[0007] The controller is configured as:

[0008] If there is a second video that has established a continuous playback relationship with the first video, during the playback of the first video, obtaining a preloading time required for the display device to preload the second video data of the second video;

[0009] When the first video is played to the preloading time point matched by the preloading duration, preloading the second video data;

[0010] When the first video finishes playing, the video decoder is controlled to decode the second video data, and the display is controlled to play the second video based on the decoded second video data.

[0011] Technical Effect: The playback of the first video is performed by decoding the video data of the first video by the video decoder, and then the display plays the first video based on the decoded video data. At this time, if there is a second video with which the first video has established a continuous playback relationship, the preloading time required for the display device to preload the video data of the second video is dynamically obtained during the playback of the first video to improve the accuracy of the preloading time, thereby ensuring the accuracy of the preloading time point that matches the loading time, laying the foundation for accurate video switching. Furthermore, when the first video plays to the preloading time point, the display device begins to preload the video data of the second video, and when the first video ends, the video decoder is controlled to decode the second video data. The display can then play the second video based on the decoded second video data. By introducing a preloading mechanism, the loading black screen or buffering waiting time existing in traditional video playback can be effectively eliminated, achieving seamless switching between videos and improving user viewing fluency. Furthermore, since the same video decoder is reused, the overhead of repeated decoder initialization can be avoided, thereby reducing video playback costs. Therefore, the display device in this solution can achieve more accurate video seamless switching while reducing video playback costs.

[0012] In a second aspect, some embodiments further provide a video switching method, applied to the display device provided in the first aspect, the display device comprising: a video decoder, a display, and a controller, the method comprising:

[0013] In response to the video play instruction, controlling the video decoder to decode first video data of a first video, and controlling the display to play the first video based on the decoded first video data;

[0014] If there is a second video that has established a continuous playback relationship with the first video, during the playback of the first video, obtaining a preloading time required for the display device to preload the second video data of the second video;

[0015] When the first video is played to the preloading time point matched by the preloading duration, preloading the second video data;

[0016] When the first video finishes playing, the video decoder is controlled to decode the second video data, and the display is controlled to play the second video based on the decoded second video data.

[0017] Technical Effect: The playback of the first video is performed by decoding the video data of the first video by the video decoder, and then the display plays the first video based on the decoded video data. At this time, if there is a second video with which the first video has established a continuous playback relationship, the preloading time required for the display device to preload the video data of the second video is dynamically obtained during the playback of the first video to improve the accuracy of the preloading time, thereby ensuring the accuracy of the preloading time point that matches the loading time, laying the foundation for accurate video switching. Furthermore, when the first video plays to the preloading time point, the display device begins to preload the video data of the second video, and when the first video ends, the video decoder is controlled to decode the second video data. The display can then play the second video based on the decoded second video data. By introducing a preloading mechanism, the loading black screen or buffering waiting time existing in traditional video playback can be effectively eliminated, achieving seamless switching between videos and improving user viewing fluency. Furthermore, since the same video decoder is reused, the overhead of repeated decoder initialization can be avoided, thereby reducing video playback costs. Therefore, this solution can achieve more accurate video seamless switching while reducing video playback costs. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0019] 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;

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

[0021] Figure 3 A schematic diagram of the hardware configuration of a control device provided in some embodiments of the present application;

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

[0023] Figure 5 A schematic diagram of the interaction between modules during the video switching process provided in some embodiments of the present application;

[0024] Figure 6 A schematic diagram of data flow when playing the first video and the second video provided in some embodiments of the present application;

[0025] Figure 7 A schematic diagram of a replacement of a playback component provided in some embodiments of the present application;

[0026] Figure 8 A flowchart of a video switching method provided in some embodiments of the present application;

[0027] Figure 9 A flowchart of a specific implementation of the video switching method provided in some embodiments of the present application;

[0028] Figure 10 A flowchart illustrating the process of a user triggering a video switching instruction in some embodiments of the present application. DETAILED DESCRIPTION

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

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

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

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

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

[0034] In the embodiments of the present application, the display device 200 generally refers to a device capable of displaying images and processing data. For example, the display device 200 includes but is not limited to a smart TV, a mobile terminal, a computer, a monitor, an advertising screen, a wearable device, a virtual reality device, an augmented reality device, etc.

[0035] Figure 1 This is a schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application. Figure 1 As shown in FIG, a user can operate the display device 200 through touch operation, the mobile terminal 300 and the control device 100. For example, the control device 100 can be a remote controller, a stylus pen, a handle, etc.

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

[0037] like Figure 1 As shown in FIG, the display device 200 also communicates data with the server 400 through various communication methods. The display device 200 may be allowed to communicate via a local area network (LAN), a wireless local area network (WLAN), and other networks.

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

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

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

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

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

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

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

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

[0046] 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.

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

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

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

[0050] Figure 3 Some embodiments of this application provide Figure 1 The hardware configuration diagram of the control device in the figure. Figure 3 As shown, the control device 100 may include: a controller 110, a communication interface 130, a user input / output interface, a memory, and a power supply.

[0051] The control device 100 is configured to control the display device 200 , and can receive user input operation instructions, 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 .

[0052] In some embodiments, the control device 100 may be a smart device. For example, the control device 100 may be installed with various applications for controlling the display device 200 according to user needs.

[0053] In some embodiments, as Figure 1 As shown, the mobile terminal 300 or other intelligent electronic devices can play a similar function as the control device 100 after installing the application for controlling the display device 200 .

[0054] The controller 110 includes a processor 112, RAM 113, ROM 114, a communication interface 130, and a communication bus. The controller 110 is used to control the operation and operation of the control device 100, as well as the communication and cooperation between internal components and external and internal data processing functions.

[0055] Under the control of the controller 110, the communication interface 130 communicates control signals and data signals with the display device 200. The communication interface 130 may include at least one of a WiFi chip 131, a Bluetooth module 132, an NFC module 133, or other near field communication modules.

[0056] The user input / output interface 140 includes at least one of a microphone 141 , a touch panel 142 , a sensor 143 , a button 144 and other input interfaces.

[0057] In some embodiments, the control device 100 includes at least one of a communication interface 130 and an input / output interface 140. The control device 100 is configured with the communication interface 130, such as a WiFi, Bluetooth, or NFC module, to encode user input commands via the WiFi protocol, Bluetooth protocol, or NFC protocol and transmit them to the display device 200.

[0058] The memory 190 is used to store various operating programs, data and applications for driving and controlling the control device 100 under the control of the controller. The memory 190 can store various control signal instructions input by the user.

[0059] The power supply 180 is used to provide operating power support for each component of the control device 100 under the control of the controller.

[0060] To facilitate user interaction, in some embodiments, the display device 200 may run an operating system. The operating system is a computer program used to manage and control the hardware and software resources of the display device 200. The operating system may provide a user interface (to control the display device), allow the user to interact with the display device 200, and support the running of various application programs.

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

[0062] The operating system can be divided into different modules or layers according to the functions implemented.

[0063] like Figure 4 As shown, Figure 4 Some embodiments of this application provide Figure 1 Schematic diagram of software configuration in the display device. In some embodiments, the system of the display device 200 can be divided into three layers, namely, application layer, middleware layer and hardware layer from top to bottom.

[0064] The application layer mainly includes commonly used applications on the TV and the application framework. Common applications are mainly browser-based applications, such as HTML5 apps, and native apps.

[0065] The Application Framework is a complete program model that has all the basic functions required by standard application software, such as file access, data exchange, etc., as well as the user interfaces of these functions (toolbars, status bars, menus, dialog boxes).

[0066] Native apps can support online or offline, message push or local resource access.

[0067] The middleware layer includes various television protocols, multimedia protocols, and system components. Middleware uses the basic services (functions) provided by system software to connect various parts of application systems or different applications on the network, enabling resource and function sharing.

[0068] The hardware layer primarily includes the Hardware Abstraction Layer (HAL) interface, hardware, and drivers. The HAL interface serves as a unified interface for all TV chipsets, while the specific logic is implemented by each chip. Drivers primarily include audio drivers, display drivers, Bluetooth drivers, camera drivers, Wi-Fi drivers, USB drivers, HDMI drivers, sensor drivers (such as fingerprint sensors, temperature sensors, and pressure sensors), and power drivers.

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

[0070] In traditional video playback, when the first video finishes, the next video automatically switches to the next one. However, because video downloading and playback take time, this causes the display device to briefly display a "black screen" or "loading" state, resulting in video playback lag. Specifically, only when the first video finishes will the display device begin preparing the next video resource, initialize the entire link, and then begin playing the new content. This means that switching videos requires reinitializing the decoder, loading video data, and rendering. As a result, the display device may experience a brief black screen or "loading" state, typically lasting from 1 to 5 seconds.

[0071] In order to solve the above problem, in some embodiments, a display device is provided, the display device including:

[0072] The video decoder is configured to decode first video data of a first video.

[0073] The display is configured to play the first video based on the decoded first video data.

[0074] Among them, the video decoder refers to a hardware module within an application-specific integrated circuit (ASIC) or a graphics processing unit (GPU) integrated into a display device. It is a core hardware component of the display device's video playback system. Its essence is to decode compressed and encoded video data and convert it into a dedicated processor that can display images. The first video may refer to the video currently played by the display device, which may be a TV series, movie, short video, or recorded video. The first video data may include but is not limited to at least one of the encoded code stream of the first video and the metadata of the first video, wherein the encoded code stream can be understood as a binary data sequence generated after compression encoding, and the metadata can be structured information used to describe the video encoding characteristics and playback properties, so that the video decoder can correctly parse the encoded code stream. The source of video data may include but is not limited to local acquisition or network download.

[0075] For example, the first video needs to be processed by the controller at the software level. This includes downloading video data, such as obtaining it from a local video library or the network, usually in a compressed format such as MP4 or MKV; decapsulation (Demux), which is used to separate audio, video, subtitles, and other data streams; and multi-track caching (Multiqueue), which is used to buffer the video stream. Next, it enters the hardware level processing, where the video decoder decodes it and then renders it through the display engine so that the display can play the first video.

[0076] The controller is configured to: if there is a second video that establishes a continuous playback relationship with the first video, then during the playback of the first video, obtain the preloading time required for the display device to preload the second video data of the second video.

[0077] Among them, the continuous playback relationship refers to the playback order constraint between videos established through user operations, playlist logic or recommendation algorithms, such as two adjacent videos in the same playback folder or playback directory, a series of TV series, a sequence of teaching video chapters, etc. A continuous playback relationship is established between the first video and the second video, which means that after the first video is finished playing, the second video will be played automatically. Preloading refers to the operation of preloading the required resources. In this embodiment, what is preloaded is the second video data of the second video, which has the same meaning as the first video data. The second video data can also include but is not limited to at least one of the encoded code stream of the second video, the metadata of the second video, etc. The preloading duration can refer to the time required for the display device to preload the second video data.

[0078] For example, during the playback of the first video, or after the first video starts to play, the controller can determine whether there is a second video with which the first video has established a continuous playback relationship.

[0079] If the first video is a local video, the controller can first search the video file where the first video is located, and then query the video file to see if there is a next video after the first video. If so, the next video will be used as the second video. Considering that the arrangement order of the videos in the video file may be randomly arranged, in order to ensure the accurate playback of the second video, it can also be determined based on the naming of the videos in the video file. For example, assuming that the first video is named "video 1.mp4", then if there is a video named "video 2.mp4", then the video will be used as the second video. If the video naming is also irregular, the second video can be further screened out based on the video generation time, attributes, etc. to ensure the accuracy of the second video and avoid playback errors.

[0080] If the first video is an online video, the controller can directly request the next video to be played, that is, the second video, from the online video platform through the interface provided by the online video platform. After receiving the request, the online video platform can query the playlist and return the video link or video identifier (such as video ID) of the next video to be played to the controller, and the controller can preload it. In addition, if there is a corresponding video playlist link for the first video, the controller can also directly parse the video playlist link to search for the next video to be played and preload it. For example, during the playback of the first video, the controller can scan the video introduction of the first video. If the video introduction contains a playlist link, similar to a link like "Click to play the next episode", the controller can directly parse the link to search for the next video to be played and preload it.

[0081] In some embodiments, if there is no second video that has established a continuous playback relationship with the first video, the display device can prompt the user on the user interface that the video has ended after the first video ends. In another embodiment, to further improve the intelligence of video playback, the controller can choose to start searching for video content associated with the first video at the end of the first video or at a certain time point before the end of the first video (for example, 10 seconds before the end of playback), and recommend this video content to the user. Upon receiving the user's confirmation play instruction, the video content is loaded or preloaded and played.

[0082] For example, the first part of Movie A is currently being played. After Movie A finishes playing, the controller searches for the second part of Movie A and asks the user whether to continue playing. Upon receiving the user's confirmation to play command, the video resource of the second part of Movie A is downloaded and played. It is understandable that in this case, the first video and the second video can be videos of the same type, such as both are local videos or both are online videos, or they can be videos of different types, such as the first video is a local video and the second video is an online video.

[0083] After determining that a second video has been established with the first video in a continuous playback relationship, the controller can obtain a preloading duration required for the display device to preload the second video data of the second video during playback of the first video. The preloading duration is used to determine the preloading time point of the second video data, which is a time point on the playback time bar of the first video.

[0084] For example, the playback time bar of the first video is 00:00-45:00, which means that the playback time of the first video is 45 minutes. The preloading time point is a time point on the time bar, assuming it is 44:45, which means that the preloading time is 44 minutes and 45 seconds, or 5 seconds before the end of the first video playback.

[0085] Generally speaking, if the preloading time point is set too early, it is easy to occupy the decoding resources of the first video, and if it is set too late, it is easy to cause incomplete loading of the video data. Therefore, in this embodiment, the preloading time point of the second video data is determined based on the preloading duration required for the display device to preload the second video data. This ensures that the preloading time point matches the actual scene, thereby ensuring the accuracy of the preloading time point. This can avoid the problem of preloading data preloading failure caused by errors in the preloading time point due to random or empirical setting of the preloading time point, thereby ensuring the video playback effect.

[0086] In some embodiments, the preloading time required for the display device to preload the second video data of the second video can be determined based on various influencing factors in the process of preloading the video data on the display device. The specific determination process will be explained in detail in subsequent embodiments.

[0087] When the first video is played to a preloading time point that matches the preloading duration, the second video data is preloaded.

[0088] Exemplarily, after obtaining the preloading duration required for the display device to preload the second video data of the second video, the controller can determine a preloading time point that matches the preloading duration. When the first video is played to the preloading time point matched by the preloading duration, the controller preloads the second video data. It should be noted that the preloading here is mainly performed at the software level. Similar to the first video, the controller also needs to download the video data first, then decapsulate it, and finally perform multi-track caching.

[0089] For example, if the play time of the first video is 00:00-45:00, and the preload duration is 5 seconds, the preload time will be 5 seconds before the end of the first video. In other words, when the first video reaches 44:45, the controller will start preloading the second video data. If the preload duration is 10 seconds, the preload time will be 10 seconds before the end of the first video. In other words, when the first video reaches 44:40, the controller will start preloading the second video data.

[0090] When the first video is finished playing, the video decoder is controlled to decode the second video data, and the display is controlled to play the second video based on the decoded second video data.

[0091] The end of the first video playback refers to the time when the first video is played to the end of the video.

[0092] For example, only when the first video finishes playing will the hardware level processing begin. The controller will send the second video data to the video decoder, which will continue to decode the second video data and render it through the display engine so that the display can play the second video.

[0093] In some embodiments, the display can display the playback progress and total playback time of the first video in real time, and the controller can control the playback component of the first video to monitor the current playback position of the first video in real time and update the displayed playback progress. Specifically, the playback component can continuously monitor the current playback position of the first video through a timed polling or event callback mechanism and provide feedback to the controller.

[0094] In this embodiment, the playback of the first video is performed by decoding the video data of the first video by the video decoder, and then the display plays the first video based on the decoded video data. At this time, if there is a second video with which the first video has established a continuous playback relationship, then during the playback of the first video, the preloading time required for the display device to preload the video data of the second video is dynamically obtained to improve the accuracy of the preloading time, thereby ensuring the accuracy of the preloading time point that matches the loading time, laying the foundation for accurate video switching. Furthermore, when the first video plays to the preloading time point, the display device starts preloading the video data of the second video, and when the first video ends, the video decoder is controlled to decode the second video data, and the display can play the second video based on the decoded second video data. By introducing the preloading mechanism, the loading black screen or buffering waiting time that exists in traditional video playback can be effectively eliminated, seamless switching between videos can be achieved, and the user's viewing fluency can be improved. Furthermore, since the same video decoder is reused, the overhead of repeated decoder initialization can be avoided, thereby reducing the cost of video playback. Therefore, this embodiment can achieve more accurate video seamless switching while reducing the cost of video playback.

[0095] In some embodiments, when executing the process of obtaining the preloading time required for the display device to preload the second video data of the second video, the controller is further configured to: obtain the video type of the second video; based on the video type, perform preloading pattern matching on the second video data of the second video to obtain the preloading mode of the second video data; according to the preloading mode, evaluate the preloading time of the display device to obtain the preloading time required for the display device to preload the second video data.

[0096] Similar to the first video, the second video can also be classified as either a local video or an online video. Different video types correspond to different preloading modes. The preloading mode refers to the software-level processing flow: video data download, decapsulation, and multi-track caching. Decapsulation and multi-track caching do not differ significantly depending on the video type. However, video data downloading does differ depending on the video type. Specifically, local videos refer to video files stored in the display device's internal memory, external storage media (USB / SD card), or local area network. Video data is downloaded directly from the file system, without the intervention of the network transport layer. Online videos, on the other hand, require access to streaming media servers via HTTP (Hypertext Transfer Protocol), RTMP (Real Time Messaging Protocol), HLS (HTTP Live Streaming), and rely on the API provided by the online video platform. Therefore, overall, different video types can correspond to different preloading modes.

[0097] For example, in the process of obtaining the preloading time required for the display device to preload the second video data of the second video, the controller first determines the video type of the second video, which can be determined based on the attribute information of the second video. It can also be determined based on the video type of the first video. For example, if the first video and the second video belong to the same video file and the first video is a local video, then the second video naturally belongs to the local video as well. Of course, the specific method for determining the second video type can be set according to actual conditions, and this embodiment does not limit this.

[0098] After determining the video type of the second video, preloading mode matching can be performed. Specifically, when the second video is a local video, the preloading mode of the second video is local reading, decapsulation, and multi-track caching; when the second video is a network video, the preloading mode of the second video is network downloading, decapsulation, and multi-track caching. It should be noted that the preloading mode is not fixed, and other links can be added according to the adaptability of the actual playback scene, such as video data verification, verification of whether the video is playable, and decryption operations for encrypted videos. This can improve the flexibility of video data loading and scene adaptability, thereby further optimizing the video playback effect.

[0099] After the controller determines the preloading mode that matches the second video data, it then performs a preloading duration evaluation. Preloading duration evaluation refers to evaluating the time required for the controller to load the second video data according to the preloading mode. It is understandable that due to factors such as the underlying hardware architecture, data transmission path, and protocol overhead, there is a difference in the time it takes to read video data locally and download video data over the network. Generally speaking, network downloads will introduce additional delays due to physical distance, protocol stack, security mechanism, and other reasons, while local reading can achieve near-field high-speed transmission through direct hardware connection and streamlined protocols, so local videos are generally played faster than network videos.

[0100] In this embodiment, a dynamic matching mechanism for preloading patterns based on video type is introduced to obtain a preloading pattern that matches the second video. This allows the preloading duration required for the second video data to be estimated based on the preloading pattern, effectively improving the accuracy and reliability of the preloading duration. This ensures the accuracy of the preloading timing and lays the foundation for accurate playback of the subsequent second video.

[0101] In some embodiments, the controller is further configured to: obtain device performance information and network performance information of the display device; and evaluate the preloading capability of the display device based on the device performance information and the network performance information to obtain the preloading capability of the display device.

[0102] The device performance information may refer to the performance information of the display device, including but not limited to at least one of the display device's computing power, memory, and read / write speed. The network performance information may represent the performance of the network environment in which the display device resides, including but not limited to at least one of bandwidth, latency, and stability. The preloading capability is an indicator of the display device's ability to pre-download the second video data, obtained by comprehensively evaluating the device hardware and network environment.

[0103] In some embodiments, the preloading capability of the display device can be reflected in the time required for each link in the preloading mode. For example, based on the device performance and network performance, the controller evaluates that it takes 2 seconds to download the video data of the display device, 2 seconds to decapsulate it, and 1 second to cache the multi-track data. Adding these together, it can be obtained that the time required for the display device to preload the second video data is 5 seconds.

[0104] In some embodiments, the preloading capability of a display device can be quantified not only by the specific duration required for each step in the preloading mode, but also by the amount of video that the display device can pre-download per unit time. The product of this amount and the amount of the second video data is the duration required for the display device to pre-load the second video data. Of course, in actual applications, appropriate indicators can be selected or customized based on needs to evaluate the preloading capability of a display device.

[0105] For example, the controller can collect device performance information of the display device and detect the performance of the network environment in which the display device is located. Based on the device performance and network performance, the display device's ability to preload video data is comprehensively evaluated. In this process, in order to further improve the evaluation accuracy of the display device's preloading capability, the controller can also dynamically adjust the respective weights of the device performance information and network performance information. For example, when the load of the display device fluctuates or the network bandwidth fluctuates significantly, the weight adjustment is triggered.

[0106] The preloading capability of the display device may, to a certain extent, affect the video data loading effect in the preloading mode. Therefore, in some embodiments, when evaluating the preloading duration of the display device based on the preloading mode to obtain the preloading duration required for the display device to preload the second video data, the controller is further configured to: evaluate the preloading duration of the display device based on the preloading mode and the preloading capability of the display device to obtain the preloading duration required for the display device to preload the second video data.

[0107] For example, after determining the preloading capability of the display device, the controller can combine the preloading mode to evaluate the preloading duration of the display device for the second video data. Specifically, the preloading capability determines the video loading effect in the preloading mode, and the preloading mode can be used to dynamically adjust the respective weights of the device performance information and the network performance information, thereby affecting the preloading capability. The two factors are mutually coordinated. For example, the controller first preliminarily calculates the preloading capability of the display device based on the current device performance and the current network environment of the display device. The weight is then dynamically corrected according to the preloading mode. If it is the preloading mode corresponding to the local video, the weight of the display device performance can be adaptively increased. If it is the preloading mode corresponding to the network video, the weight of the network performance can be adaptively increased, so that the preloading capability of the display device is more accurate and reliable, thereby improving the accuracy of the preloading duration.

[0108] In this embodiment, the preloading capability of the display device is evaluated by obtaining the device performance information and network performance information of the display device, and then the preloading duration of the display device is evaluated by combining the preloading capability and preloading mode, thereby further improving the accuracy and reliability of the preloading duration evaluation.

[0109] In some embodiments, the controller is further configured to: perform a standardization check on the second video data to obtain a standardization check result of the second video data; when the standardization check result indicates that the second video data is not standard, perform a correction time length evaluation on the second video data to obtain a correction time length of the second video data.

[0110] Compliance verification refers to the process of verifying the integrity, data format compliance, and playability of the second video data. Data integrity verification can be performed using a hash algorithm (such as SHA-256). Format compliance verification can be performed to check whether the video format (such as MP4, MKV) and encoding parameters (resolution, frame rate) comply with standard specifications. Playability verification can be performed to verify whether key video frames are missing or timestamps are incorrect, which could render the video unplayable.

[0111] The compliance check result indicates whether the second video data complies with the specifications. It can be represented by a binary flag or other identifier. For example, a compliance check result of 0x00 indicates that the data is standard and can be directly decoded and played. A compliance check result of 0x01 indicates that the data is partially damaged or the format is not standard and requires repair. A compliance check result of 0x02 indicates that the data is severely damaged (such as missing key video frames). In this case, the controller can discard the second video and notify the user on the user interface that the second video cannot be played.

[0112] In some embodiments, before choosing to discard the second video, the controller may first attempt to reacquire the second video data. Reacquisition can quickly restore valid video data and avoid unnecessary discarding due to occasional errors.

[0113] The correction duration may refer to the time required to correct the second video data. In some embodiments, the correction duration may be determined based on the amount of video data to be corrected and the correction rate of the display device, wherein the correction rate of the display device may depend on the device performance and the network environment. In the case of reacquiring the second video data, the correction duration is the reload duration. Similarly, the reload duration may also be determined based on the amount of video data to be reacquired and the reload rate of the display device, wherein the reload rate of the display device may depend on the device performance and the network environment.

[0114] Exemplarily, after downloading the second video data, the controller can verify the integrity, data format compliance and playability of the second video data, and proceed to the next link if the second video data is complete, the data format is compliant and playable. If the second video data format is not compliant or there are other problems that can be solved by correction, the second video data is corrected, and the corrected second video data enters the next link. If the second video data is incomplete, key video frames are missing, or there are other problems that cannot be solved by correction, you can first try to re-acquire the second video data. If the re-acquired second video still fails the verification, the second video is discarded, and the user is prompted on the user interface that the second video cannot be played.

[0115] During this process, the controller can evaluate and obtain the corrected duration or reload duration of the second video data, and the corrected duration or reload duration will also affect the final preloading duration of the second video. Therefore, in some embodiments, when the controller performs a preloading duration evaluation on the display device based on the preloading mode and the preloading capability of the display device to obtain the preloading duration required for the display device to preload the second video data, the controller is further configured to: evaluate the preloading duration of the display device based on the preloading mode, the preloading capability of the display device, and the corrected duration of the second video data to obtain the preloading duration required for the display device to preload the second video data.

[0116] Exemplarily, the controller can preliminarily calculate the preloading duration of the second video data based on the preloading mode and the preloading capability of the display device, and add the preloading duration to the corrected duration or reload duration of the second video data to obtain the final preloading duration required for the display device to preload the second video data.

[0117] In some embodiments, the final preloading duration can also be determined based on the actual links in the preloading mode. For example, if the second video data still needs to be decrypted, the time required for decryption can be further evaluated and added to the time required for other links to obtain the final preloading duration, thereby ensuring the accuracy of the preloading duration.

[0118] In this embodiment, when the second video data is not standardized, the data correction duration of the second video data is further obtained, so as to jointly determine the final preloading duration of the second video data with the preloading mode and the preloading capability of the display device, thereby improving the accuracy and reliability of the preloading duration.

[0119] In actual applications, it is considered that the user may specify a next video to be played, and the next video to be played may be inconsistent with the second video to be played. Therefore, in some embodiments, the controller is further configured to: in response to a video switching instruction triggered by the user, obtain the video to be switched indicated by the video switching instruction; if the video to be switched is inconsistent with the second video, load third video data of the video to be switched; control the video decoder to decode the third video data, and control the display to play the video to be switched based on the decoded third video data.

[0120] The video switching instruction may refer to a video playback request initiated by the user via a remote control, touch interface, or voice command. The video to be switched may refer to the target video explicitly specified in the video switching instruction. The video to be switched may be consistent with the second video or inconsistent with the second video. For example, the first video is the first episode of TV series A, and the second video is the second episode of TV series A. The video to be switched indicated by the user may be the second episode of TV series A, or the third episode of TV series A, or another episode. The third video data may include, but is not limited to, at least one of the encoded bitstream of the video to be switched and metadata of the video to be switched.

[0121] For example, during playback of a first video, a user can trigger a video switching instruction at any time. If the video to be switched indicated by the video switching instruction is inconsistent with the second video, the user's intention is prioritized. In this case, the controller loads the third video data of the video to be switched and controls the video decoder to decode the third video data, so that the display immediately plays the video to be switched based on the decoded third video data.

[0122] In some embodiments, the controller is further configured to: obtain a triggering time of the video switching instruction; and delete the preloading record of the second video if the triggering time is later than the preloading time point.

[0123] The trigger time may refer to the generation time of the video switching instruction. The preloading record refers to the preloading record of the video data of the second video, which may include but is not limited to the preloaded second video data, the actual preloading time, etc.

[0124] For example, upon receiving a video switching instruction, the controller may further obtain the trigger time of the video switching instruction. If the trigger time is later than the preloading time point, it means that the controller has already started preloading the second video data. In this case, the controller may delete the preloading record of the second video to release all resources related to the preloading of the second video, including: terminating the network download thread or local file reading operation, clearing the preloaded video data in the cache area, etc., thereby reducing the memory pressure of the display device.

[0125] In some embodiments, if the triggering time of the video switching instruction is no later than the preloading time point, it means that the controller has not preloaded the second video data. At this time, the third video data of the video to be switched can be directly loaded and decoded and played.

[0126] In some embodiments, there may be a situation where the trigger time of the video switching instruction is later than the preloading time point, but the video to be switched is consistent with the second video, for example, the user wants to play the second video in advance. In this case, the controller needs to determine whether the preloaded second video data supports immediate decoding and playback. If it does, it will be decoded and played; if it does not, "Loading" can be displayed on the user interface. If the trigger time of the video switching instruction is not later than the preloading time point, and the video to be switched is consistent with the second video, the controller directly loads the second video data of the second video and decodes and plays it. In this way, it can ensure that the video selected by the user is played first, thereby improving the user experience.

[0127] In this embodiment, when a user triggers a video switching instruction, the system determines whether the video to be switched indicated by the user is consistent with the second video to be played. If not, the video data of the video to be switched is loaded, decoded and played, based on the user's intention. This ensures that the video selected by the user is played first, improving the user experience.

[0128] In some embodiments, during the process of preloading the second video data, the controller is further configured to: obtain the original video data of the second video; decapsulate the original video data to obtain the intermediate video data of the second video; extract part of the video data that meets the video playback requirements from the intermediate video data, and preload the part of the video data as the second video data.

[0129] Raw video data refers to the unprocessed initial video data. Raw video data is typically encapsulated in a container format, such as MP4, which encapsulates a video stream containing a frame sequence, an audio stream containing audio clips, and a subtitle stream containing text or image subtitles. The controller needs to separate the video, audio, and subtitle streams, or decapsulate them, to obtain the independent video streams, or intermediate video data. After decapsulation, the controller selects the most critical portion for fast playback, i.e., the portion of video data that meets video playback requirements, and caches it in multiple tracks, rather than caching the entire video data. Multi-track caching is a mechanism for managing cached data by track. Separate cache queues are set up for different video streams, such as video, audio, and subtitles, to optimize resource allocation and playback smoothness. Video playback requirements can refer to the technical requirements required to ensure smooth video playback, such as prioritizing the extraction of key video frames, extracting the audio clips corresponding to key video frames to ensure audio-visual synchronization, and prioritizing the extraction of subtitle text within a specified time period (e.g., the first 5 minutes).

[0130] In some embodiments, in addition to considering video playback requirements, the maximum cache capacity of the multi-track cache can also be considered to avoid cache recognition caused by the video data to be cached exceeding the maximum cache capacity. In one example, the maximum cache capacity of the multi-track cache can be 20M (megabytes) for video stream, 10M for audio stream, and 8M for subtitle stream. The video takes up 20M because the video data volume is large and more cache is required to ensure smooth playback. The audio takes up 10M because the audio data is relatively small but needs to be played continuously and has high synchronization requirements, so it is allocated separately. The subtitles take up 8M because the text data is smaller and takes up the least space, so 8M is sufficient.

[0131] In this embodiment, part of the video data that meets the video playback requirements is extracted from the decapsulated video data and cached, thereby ensuring smooth video playback.

[0132] In some embodiments, the controller is further configured to: control the main playback component to send the first video data of the first video to the video decoder.

[0133] The main player component, also known as the main player, is responsible for the entire video data process, including pre-downloading / downloading video data and sending video data to the video decoder. When the first video is played, the decoding resources of the video decoder will be occupied by the main player component.

[0134] Specifically, when the first video is played, the main playback component downloads the first video data and sends the first video data to the video decoder for decoding, so that the display plays the first video based on the decoded first video data.

[0135] In traditional technology, a video decoder can only process one video stream at a time. When switching videos, the current instance must be released to initialize a new video stream, resulting in a black screen. Therefore, the controller in this embodiment is further configured to control the video decoder to decode the second video data when the first video ends. When the first video ends, the controller replaces the secondary playback component with the primary playback component and controls the secondary playback component to send the second video data to the video decoder. The secondary playback component is created when the first video plays to the preload time point that matches the preload duration.

[0136] That is to say, when the first video plays to the preload duration, the controller will create a secondary playback component (ShadowPlayer), which will preload the second video data in the child thread. This process does not occupy decoder resources. When the first video finishes playing, the main playback component can stop working and clear its own instance, and the secondary playback component is replaced by the main playback component. The specific replacement method can be to rename the secondary playback component to a new main playback component, or retain the name but take over playback control. The secondary playback component, which is the new main playback component, pushes the preloaded second video data to the video decoder for decoding.

[0137] In this embodiment, the main playback component and the secondary playback component share hardware resources. When the secondary playback component preloads data, it does not seize the decoder resources. When switching videos, the video decoder is directly reused. In this way, smooth switching between videos can be achieved without increasing hardware costs.

[0138] In some embodiments, the controller is further configured to: obtain a preloading status of the second video data and a decoder status of the video decoder.

[0139] The preloading status may be status information describing whether the second video data has been successfully preloaded, and may include preloading completed, preloading in progress, and preloading failed. The decoder status may refer to the current operating status of the video decoder, such as whether it is ready to accept a new decoding task or whether there is a fault.

[0140] When controlling the video decoder to continue decoding the second video data, the controller is further configured to: when the preloading state indicates that the preloading of the second video data is complete and the video decoder is in a normal state, control the video decoder to decode the second video data.

[0141] Exemplarily, the controller continuously monitors the preloading status of the second video data and the operating status of the video decoder. When it is detected that the second video data has been preloaded and the decoder is in a normal operating state, the controller triggers the decoder to start processing the second video data.

[0142] In some embodiments, when it is detected that preloading of the second video data is incomplete or has failed, and / or the decoder is in an abnormal operating state, downgrade loading can be triggered, such as attempting to load the lowest available version of the second video (such as a 480p base stream). Alternatively, a "Loading, please wait" prompt can be displayed on the user interface. The specific handling method can be selected based on the actual situation. For the video decoder, at least one of the following methods can be used: restarting the decoder, forcibly releasing decoder memory, etc.

[0143] In some embodiments, since all videos cannot be played when the video decoder fails, the failure of the video decoder is processed first. After the video decoder recovers to a normal state, the decoding of the second video data can be retried.

[0144] In this embodiment, the double verification of the preloading status of the second video data and the running status of the video decoder ensures that the video data is successfully decoded, thereby ensuring that there is no freeze or black screen during the video switching process.

[0145] In a specific embodiment, Figure 5 A schematic diagram of the interaction between the modules during the video switching process is shown. Among them, when the first video is played, the video decoder first decodes the first video data of the first video, and the display then plays the first video based on the decoded first video data. If the controller detects that there is a second video that has established a continuous playback relationship with the first video, then during the playback of the first video, the preloading time required for the display device to preload the second video data of the second video is obtained. The playback progress of the first video is monitored in real time, and when the first video is played to the preloading time point matched by the preloading time, the second video data is preloaded. When it is monitored that the playback of the first video has ended, the second video data is sent to the video decoder so that the video decoder decodes the second video data, and the display can play the second video based on the decoded second video data.

[0146] In some embodiments, Figure 6 The data flow diagram for the playback of the first and second videos is shown. For the playback of the first video, the controller controls the main playback component to load the first video data, including video data download, decapsulation, and multi-track caching. The hardware-level processing then begins, with the video decoder decoding the cached video data. The decoded first video data is rendered and then output to the display, which then begins playing the first video.

[0147] When the first video reaches the preloaded time, the controller creates a secondary playback component. This component performs software-level processing of the second video on a sub-thread, specifically downloading, decapsulating, and caching the video data. When the first video finishes playing, the cached portion of the second video data is sent to the video decoder for decoding. The decoded second video data is then rendered and output to the display, which then begins playing the second video.

[0148] In some embodiments, Figure 7 The following figure shows a schematic diagram of the replacement of the playback component. When the first video is played, the secondary playback component will replace the main playback component and become the new main playback component to play the video. The new main playback component sends the second video data to the video decoder for decoding.

[0149] In this embodiment, by introducing a preloading mechanism, the loading black screen or buffering wait time that occurs in traditional video playback can be effectively eliminated, achieving seamless switching between videos and improving user viewing fluency. Furthermore, by reusing the same video decoder, the overhead of repeated decoder initialization can be avoided, thereby reducing video playback costs.

[0150] In some embodiments, the present application further provides a video switching method, which is applied to the above-mentioned display device. Figure 8 As shown, the video switching method includes the following steps:

[0151] Step S802, in response to the video play instruction, controlling the video decoder to decode first video data of the first video, and controlling the display to play the first video based on the decoded first video data;

[0152] Step S804: If there is a second video that has established a continuous playback relationship with the first video, then during the playback of the first video, obtain a preloading time required for the display device to preload the second video data of the second video;

[0153] Step S806: When the first video is played to the preloading time point that matches the preloading duration, preloading the second video data;

[0154] Step S808: When the first video finishes playing, the video decoder is controlled to decode the second video data, and the display is controlled to play the second video based on the decoded second video data.

[0155] In some embodiments, obtaining the preloading time required for the display device to preload the second video data of the second video also includes: obtaining the video type of the second video; based on the video type, performing a preloading pattern matching on the second video data of the second video to obtain the preloading pattern of the second video data; according to the preloading pattern, evaluating the preloading time of the display device to obtain the preloading time required for the display device to preload the second video data.

[0156] In some embodiments, the video switching method also includes: obtaining device performance information and network performance information of the display device; based on the device performance information and the network performance information, evaluating the preloading capability of the display device to obtain the preloading capability of the display device; according to the preloading mode, evaluating the preloading duration of the display device to obtain the preloading duration required for the display device to preload the second video data, and also includes: according to the preloading mode and the preloading capability of the display device, evaluating the preloading duration of the display device to obtain the preloading duration required for the display device to preload the second video data.

[0157] In some embodiments, the video switching method further includes: performing a standardization check on the second video data to obtain a standardization check result of the second video data; when the standardization check result indicates that the second video data is not standard, performing a correction duration evaluation on the second video data to obtain a correction duration of the second video data; performing a preloading duration evaluation on the display device according to the preloading mode and the preloading capability of the display device to obtain a preloading duration required for the display device to preload the second video data, and further includes: performing a preloading duration evaluation on the display device according to the preloading mode, the preloading capability of the display device, and the correction duration of the second video data to obtain a preloading duration required for the display device to preload the second video data.

[0158] In some embodiments, the video switching method also includes: in response to a video switching instruction triggered by a user, obtaining the video to be switched indicated by the video switching instruction; when the video to be switched is inconsistent with the second video, loading the third video data of the video to be switched; controlling the video decoder to decode the third video data, and controlling the display to play the video to be switched based on the decoded third video data.

[0159] In some embodiments, the video switching method further includes: obtaining a triggering time of the video switching instruction; and deleting the preloading record of the second video when the triggering time is later than the preloading time point.

[0160] In some embodiments, preloading the second video data includes: obtaining the original video data of the second video; decapsulating the original video data to obtain the intermediate video data of the second video; extracting part of the video data that meets the video playback requirements from the intermediate video data, and preloading the part of the video data as the second video data.

[0161] In some embodiments, the video switching method also includes: controlling the main playback component to send the first video data of the first video to the video decoder; when the first video playback is finished, controlling the video decoder to decode the second video data, and controlling the display to play the second video based on the decoded second video data, including: when the first video playback is finished, replacing the sub-playback component with the main playback component, and controlling the sub-playback component to send the second video data to the video decoder; the sub-playback component is created when the first video is played to the preloading time point matched by the preloading duration; controlling the video decoder to decode the second video data.

[0162] In some embodiments, the video switching method further includes: obtaining a preloading status of the second video data and a decoder status of the video decoder; controlling the video decoder to decode the second video data, including: when the preloading status indicates that the preloading of the second video data is complete and the video decoder is in a normal state, controlling the video decoder to continue decoding the second video data.

[0163] In a specific embodiment, Figure 9 The specific implementation flow chart of the video switching method is shown. Among them, when the first video is played, it is first determined whether there is a second video that has established a continuous playback relationship with the first video. If so, the playback progress of the first video is monitored. Before the first video is played to the preloading time point, it is loaded and played by the main playback component. When the first video is played to the preloading time point, a sub-playback component is created. Among them, the preloading time point is determined based on the preloading time required for the display device to preload the second video data of the second video, and the sub-playback component is used to perform the preloading of the second video data. If there is no second video, the video switching process is terminated. When the first video finishes playing, it is detected whether it is accurately ready, which includes whether the status of the video decoder is normal and whether the second video data has been preloaded. If they are all accurately ready, the second video data is decoded by the video decoder and then rendered to achieve the playback of the second video, and it is again determined whether there is a video that has established a continuous playback relationship with the second video. If not, the video switching process is terminated.

[0164] In some embodiments, Figure 10 The following figure shows a flow chart of the process when a user triggers a video switching command. In response to the user-triggered video switching command, the process first obtains the video to be switched, as indicated by the video switching command. Next, a determination is made as to whether the video to be switched matches the second video. If not, the video data for the video to be switched is directly loaded, and the video to be switched is played based on this video data. If they match, the process further determines whether the command trigger time is later than the preloading time point. If so, a determination is made as to whether the second video data has been preloaded. If so, the second video is played based on the second video data. If preloading is not complete, a "Loading" message is displayed in the user interface. If the command trigger time is not later than the preloading time point, the second video data is directly loaded and then played. It should be noted that even if the video to be switched matches the second video, a determination can be made as to whether the command trigger time is later than the preloading time point (not shown in the figure). If it is later, it means that the second video data has already been preloaded. In this case, the preloading record for the second video can be deleted to free up resources. If it is not later than the preloading time point, it means that the second video data has not yet been preloaded, and no further processing is required.

[0165] In this embodiment, the playback of the first video is performed by decoding the video data of the first video by the video decoder, and then the display plays the first video based on the decoded video data. At this time, if there is a second video with which the first video has established a continuous playback relationship, then during the playback of the first video, the preloading time required for the display device to preload the video data of the second video is dynamically obtained to improve the accuracy of the preloading time, thereby ensuring the accuracy of the preloading time point that matches the loading time, laying the foundation for accurate video switching. Furthermore, when the first video plays to the preloading time point, the display device starts to preload the video data of the second video, and when the first video ends, the video decoder is controlled to decode the second video data, and the display can play the second video based on the decoded second video data. By introducing the preloading mechanism, the loading black screen or buffering waiting time that exists in traditional video playback can be effectively eliminated, seamless switching between videos can be achieved, and the user's viewing fluency can be improved. Furthermore, since the same video decoder is reused, the overhead of repeated decoder initialization can be avoided, thereby reducing the cost of video playback. Therefore, this embodiment can achieve more accurate video seamless switching while reducing the cost of video playback.

[0166] In some embodiments, the present application further provides a video switching device, which is applied to the above-mentioned display device. In this embodiment, the video switching device includes:

[0167] A first playback control module is configured to control the video decoder to decode first video data of a first video in response to a video playback instruction, and control the display to play the first video based on the decoded first video data;

[0168] A preloading duration determination module is configured to obtain, during playback of the first video, a preloading duration required for the display device to preload second video data of the second video if a second video that has established a continuous playback relationship with the first video exists;

[0169] A video data preloading module, configured to preload the second video data when the first video is played to a preloading time point that matches the preloading duration;

[0170] The second playback control module is used to control the video decoder to decode the second video data when the playback of the first video ends, and control the display to play the second video based on the decoded second video data.

[0171] In some embodiments, the module for determining the preloading duration is also used to: obtain the video type of the second video; based on the video type, perform preloading pattern matching on the second video data of the second video to obtain the preloading pattern of the second video data; based on the preloading pattern, evaluate the preloading duration of the display device to obtain the preloading duration required for the display device to preload the second video data.

[0172] In some embodiments, the video switching device is also used to: obtain device performance information and network performance information of the display device; based on the device performance information and network performance information, evaluate the preloading capability of the display device to obtain the preloading capability of the display device; the preloading duration determination module is also used to: evaluate the preloading duration of the display device according to the preloading mode and the preloading capability of the display device to obtain the preloading duration required for the display device to preload the second video data.

[0173] In some embodiments, the video switching device is further used to: perform a standardization check on the second video data to obtain a standardization check result of the second video data; when the standardization check result indicates that the second video data is not standard, perform a correction duration evaluation on the second video data to obtain a corrected duration of the second video data; the preloading duration determination module is further used to: perform a preloading duration evaluation on the display device according to the preloading mode, the preloading capability of the display device, and the corrected duration of the second video data to obtain the preloading duration required for the display device to preload the second video data.

[0174] In some embodiments, the video switching device is also used to: respond to a video switching instruction triggered by a user, obtain the video to be switched indicated by the video switching instruction; when the video to be switched is inconsistent with the second video, load the third video data of the video to be switched; control the video decoder to decode the third video data, and control the display to play the video to be switched based on the decoded third video data.

[0175] In some embodiments, the video switching device is further used to: obtain a triggering time of the video switching instruction; and delete the preloading record of the second video when the triggering time is later than the preloading time point.

[0176] In some embodiments, the video data preloading module is also used to: obtain the original video data of the second video; decapsulate the original video data to obtain the intermediate video data of the second video; extract part of the video data that meets the video playback requirements from the intermediate video data, and preload the part of the video data as the second video data.

[0177] In some embodiments, the video switching device is also used to: control the main playback component to send the first video data of the first video to the video decoder; the second playback control module is also used to: when the first video playback is finished, replace the sub-playback component with the main playback component, and control the sub-playback component to send the second video data to the video decoder; the sub-playback component is created when the first video is played to the preloading time point matched by the preloading duration; and control the video decoder to decode the second video data.

[0178] In some embodiments, the video switching device is also used to: obtain the preloading status of the second video data and the decoder status of the video decoder; the second playback control module is also used to: when the preloading status indicates that the preloading of the second video data is complete and the video decoder is in a normal state, control the video decoder to continue decoding the second video data.

[0179] Each module in the video switching device described above may be implemented in whole or in part through software, hardware, or a combination thereof. Each module may be embedded in or independent of a processor in a computer device in the form of hardware, or may be stored in a memory in the computer device in the form of software, so that the processor can call and execute the corresponding operations of each module.

[0180] In some embodiments, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the above method steps are implemented.

[0181] In some embodiments, a computer program product is provided, comprising a computer program, which implements the above method steps when executed by a processor.

[0182] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above-mentioned embodiments. In particular, any reference to memory, database, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), programmable logic devices (PLDs), data processing logic devices based on quantum computing, and the like.

[0183] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0184] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A display device, characterized in that: include: a video decoder configured to decode first video data of a first video; a display configured to play the first video based on the decoded first video data; The controller is configured as: If there is a second video that has established a continuous playback relationship with the first video, during the playback of the first video, obtaining a preloading time required for the display device to preload the second video data of the second video; When the first video is played to the preloading time point matched by the preloading duration, preloading the second video data; When the first video finishes playing, the video decoder is controlled to decode the second video data, and the display is controlled to play the second video based on the decoded second video data.

2. The display device according to claim 1, wherein The controller is further configured to: Obtain the video type of the second video; Based on the video type, performing preloading pattern matching on the second video data of the second video to obtain a preloading pattern of the second video data; According to the preloading mode, a preloading duration of the display device is evaluated to obtain a preloading duration required for the display device to preload the second video data.

3. The display device according to claim 2, wherein The controller is further configured to: Obtaining device performance information and network performance information of the display device; Evaluate the preloading capability of the display device based on the device performance information and the network performance information to obtain the preloading capability of the display device; In the process of evaluating the preloading duration of the display device according to the preloading mode to obtain the preloading duration required for the display device to preload the second video data, the controller is further configured to: The preloading duration of the display device is evaluated according to the preloading mode and the preloading capability of the display device to obtain the preloading duration required for the display device to preload the second video data.

4. The display device according to claim 3, wherein The controller is further configured to: Performing a standardization check on the second video data to obtain a standardization check result of the second video data; If the standardization check result indicates that the second video data is not standard, performing a correction duration evaluation on the second video data to obtain a correction duration of the second video data; In the process of evaluating the preloading duration of the display device according to the preloading mode and the preloading capability of the display device to obtain the preloading duration required for the display device to preload the second video data, the controller is further configured to: The preloading duration of the display device is evaluated according to the preloading mode, the preloading capability of the display device, and the corrected duration of the second video data to obtain the preloading duration required for the display device to preload the second video data.

5. The display device according to claim 1, wherein The controller is further configured to: In response to a video switching instruction triggered by a user, obtaining a video to be switched indicated by the video switching instruction; When the video to be switched is inconsistent with the second video, loading third video data of the video to be switched; The video decoder is controlled to decode the third video data, and the display is controlled to play the video to be switched based on the decoded third video data.

6. The display device according to claim 5, wherein: The controller is further configured to: Obtaining the triggering time of the video switching instruction; When the trigger time is later than the preloading time point, the preloading record of the second video is deleted.

7. The display device according to claim 1, wherein During the process of preloading the second video data, the controller is further configured to: Obtaining original video data of the second video; Decapsulating the original video data to obtain intermediate video data of the second video; Part of the video data that meets the video playback requirements is extracted from the intermediate video data, and the part of the video data is preloaded as the second video data.

8. The display device according to claim 1, wherein The controller is further configured to: Controlling the main playback component to send first video data of the first video to the video decoder; When the first video ends playing, the controller controls the video decoder to decode the second video data, and is further configured to: When the first video finishes playing, the secondary playback component is replaced by the primary playback component, and the secondary playback component is controlled to send the second video data to the video decoder; the secondary playback component is created when the first video plays to a preload time point that matches the preload duration; The video decoder is controlled to decode the second video data.

9. The display device according to claim 8, wherein The controller is further configured to: obtaining a preloading status of the second video data and a decoder status of the video decoder; In the process of controlling the video decoder to continue decoding the second video data, the controller is further configured to: When the preloading state indicates that preloading of the second video data is complete and the video decoder is in a normal state, the video decoder is controlled to continue decoding the second video data.

10. A video switching method, characterized in that: The method comprises: In response to the video play instruction, controlling the video decoder to decode first video data of a first video, and controlling the display to play the first video based on the decoded first video data; If there is a second video that has established a continuous playback relationship with the first video, during the playback of the first video, obtaining a preloading time required for the display device to preload the second video data of the second video; When the first video is played to the preloading time point matched by the preloading duration, preloading the second video data; When the first video finishes playing, the video decoder is controlled to decode the second video data, and the display is controlled to play the second video based on the decoded second video data.