Display device and video playback method
Patent Information
- Application Number
- CN202610893362.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-18
- Publication Date
- 2026-10-16
AI Technical Summary
[0004]本申请提供一种显示设备及视频播放方法,以解决直播频道与个人云盘视频在呈现与交互方式上相互独立,导致用户操作繁琐的问题
[0006]上述技术方案具有以下有益效果或优点:
Smart Images

Figure CN122933947A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of display device technology, and in particular to a display device and a video playback method. Background Technology
[0002] Display devices refer to terminal devices capable of outputting specific display images, such as smart TVs, communication terminals, smart advertising screens, and projectors. Taking smart TVs as an example, smart TVs are television products based on Internet application technologies, possessing open operating systems and chips, and having open application platforms. They enable two-way human-computer interaction and integrate multiple functions such as audio-visual, entertainment, and data to meet diverse and personalized user needs.
[0003] The display device can play live broadcast content from broadcast signals or online streaming media, as well as video files stored in a user's personal cloud drive on a cloud storage server. However, the personal cloud drive videos and the live broadcast channels are presented and interacted with independently. When a user is watching a live broadcast on a live channel, if they want to watch a video file stored on the cloud drive server, they need to exit the live broadcast channel interface, launch the separate cloud drive client application, and select the corresponding video file to play, which is a rather cumbersome process. Summary of the Invention
[0004] This application provides a display device and a video playback method to solve the problem that the presentation and interaction methods of live channels and personal cloud storage videos are independent, resulting in cumbersome user operations.
[0005] In a first aspect, this application provides a display device, comprising: A communication device is configured to communicate with a cloud disk server; a user's personal cloud disk account in the cloud disk server corresponds to a cloud disk channel in a channel list, so as to play at least one video file stored under the personal cloud disk account in the cloud disk channel. monitor; The controller is configured as follows: Obtain video metadata of at least one video file stored under the personal cloud storage account; the video metadata includes at least the upload time and video duration of the video file; The at least one video file is sorted based on the upload time to obtain a video sequence; The video files in the video sequence are mapped to program entries, and program playback time slots are assigned to the program entries according to the order of the video sequence and the video duration of the video files to generate the program list of the cloud disk channel; the program list of the cloud disk channel includes multiple program entries configured with the program playback time slots. In response to the user's switching operation on the cloud drive channel in the channel list, the system determines the first program entry corresponding to the program playback time period of the current system time from the program list of the cloud drive channel, and controls the display to play the video file corresponding to the first program entry.
[0006] The above technical solution has the following beneficial effects or advantages: By creating a dedicated cloud drive channel for user-uploaded video files on the cloud drive server, and sorting the video files by upload time based on the video metadata stored under the user's cloud drive account, a video sequence is generated. The video files in the sequence are then mapped to program entries, and virtual program playback periods are assigned to each entry based on the sequence order and video duration. This simulates the continuous timeline programming of a live channel, generating a program list for the cloud drive channel. When a user switches to the cloud drive channel, the currently playing program can be determined from the program list based on the current system time, providing an immersive experience of instant playback upon channel switching.
[0007] In some embodiments of this application, the program playback period includes the program start time, and the controller allocates program playback periods to the program entries according to the order of the video sequence and the video duration of the video file, specifically configured as follows: Set the program start time of the program entry corresponding to the first video file in the video sequence to the current system time; The program start time of the program entry corresponding to the Nth video file in the video sequence is set to the sum of the program start time of the program entry corresponding to the (N-1)th video file and the video duration of the (N-1)th video file, where N is an integer greater than 1.
[0008] The above technical solution has the following beneficial effects or advantages: By taking the current system time as the starting point and the program start time of the program item corresponding to the first video file in the video sequence as the benchmark, the program start time of each subsequent program item is calculated in sequence according to the recursive accumulation algorithm to form a continuous virtual timeline, so that the cloud disk channel has the program sequence attributes of the traditional live channel and realizes the program arrangement of cloud disk videos.
[0009] In some embodiments of this application, after the controller maps the video files in the video sequence to program entries, it is further configured to: Extract the video name and video thumbnail of each video file from the video metadata of each video file; Set a program name for the corresponding program entry based on the video name of each video file; Set a program cover for the corresponding program entry based on the video thumbnail of each video file.
[0010] The above technical solution has the following beneficial effects or advantages: Setting program names and covers based on video file titles and thumbnails enriches the information displayed for program entries, provides users with an intuitive visual preview, and improves the efficiency of program selection.
[0011] In some embodiments of this application, the controller is further configured to: In response to the display command on the EPG page, the display is controlled to show multiple program items in the program list of the cloud disk channel in the EPG page in the form of a timeline, and the display is controlled to show the playback status indicator corresponding to the second program item; the current system time is within the program playback period of the second program item; the playback status indicator is used to indicate the current playback status; In response to a user's selection command for a third program item in the program list of the cloud drive channel, the display is controlled to play the video file corresponding to the third program item.
[0012] The above technical solution has the following beneficial effects or advantages: By displaying the cloud drive channel's program list in a timeline format on the Electronic Program Guide (EPG) page and dynamically marking the playback status of currently playing programs based on the current system time, the simulated live streaming effect of the cloud drive channel is enhanced, allowing users to quickly locate the currently playing content on the EPG page. Simultaneously, in response to user selection commands for program items on the EPG page, the corresponding video file is played directly, implementing the EPG on-demand function and ensuring that the user's operation logic remains consistent with traditional live channels.
[0013] In some embodiments of this application, after the controller determines a first program item from the program list of the cloud drive channel and controls the display to play the video file corresponding to the first program item, it is further configured to: After the video file corresponding to the first program entry has finished playing, check whether there is a next program entry in the program list of the cloud disk channel after the first program entry. If present, control the display to play the video file corresponding to the next program entry; If it does not exist, control the display to play the video file corresponding to the program item at the top of the program list of the cloud disk channel, or control the display to display the standby screen of the cloud disk channel.
[0014] The above technical solution has the following beneficial effects or advantages: It provides continuous and loop playback mechanisms for the cloud drive channel. When one video file finishes playing, the next video file automatically plays, replicating the uninterrupted broadcasting characteristics of traditional live channels. This provides users with an immersive, passive viewing experience, ensuring that the playback behavior of the cloud drive channel is consistent with traditional live channels. Furthermore, when all programs have finished playing, it offers two processing modes: loop playback from the beginning or displaying the channel's standby screen.
[0015] In some embodiments of this application, the controller is further configured to: Create a video index database; the video index database is used to store the video metadata of at least one video file stored under the personal cloud storage account; According to a preset synchronization cycle, a request is sent to the cloud disk server to obtain video metadata of at least one video file stored under the personal cloud disk account. The video index database is dynamically updated based on the latest video metadata of the at least one video file fed back by the cloud disk server. The controller obtains video metadata of at least one video file stored under the personal cloud storage account, specifically configured as follows: The video metadata of at least one video file stored under the personal cloud drive account is obtained from the video index database to generate a program list for the cloud drive channel.
[0016] The above technical solution has the following beneficial effects or advantages: By creating a video index database locally, the video metadata obtained from the cloud disk server is stored locally and updated regularly according to a preset synchronization cycle. This ensures that the program list seen by the user is always consistent with the actual video file status in the cloud disk server. At the same time, by reading video metadata from the local database to generate the program list, the real-time dependence on the cloud server can be reduced, and the generation of the program list and the response speed of the user interface interaction can be accelerated.
[0017] In some embodiments of this application, the controller is further configured to: After the program list of the cloud drive channel is generated for the first time, the program list of the cloud drive channel is updated in response to changes in the information in the video index database.
[0018] The above technical solution has the following beneficial effects or advantages: By responding to changes in information in the video index database, the program list is automatically updated, realizing a linkage update mechanism between video metadata and the program list. This avoids problems such as inability to play or missing files caused by outdated program list information, thus improving the user experience.
[0019] In some embodiments of this application, the controller is further configured to: After the program list of the cloud drive channel is generated for the first time, a change notification is received from the cloud drive server; the change notification is used to indicate that the video metadata stored under the personal cloud drive account has changed; In response to the change notification, a request is sent to the cloud disk server to obtain video metadata of the at least one video file stored under the personal cloud disk account; The program list of the cloud drive channel is updated based on the latest video metadata of the at least one video file fed back by the cloud drive server.
[0020] The above technical solution has the following beneficial effects or advantages: By proactively pushing change notifications through the cloud disk server, devices no longer need to periodically and repeatedly poll the cloud, reducing network and computing power consumption.
[0021] In some embodiments of this application, the controller, which controls the display to play the video file corresponding to the first program entry, is further configured to: Send a request to the cloud disk server to obtain the historical playback position of the video file corresponding to the first program entry; If the historical playback position is received from the cloud disk server, the video file corresponding to the first program entry will continue to be played according to the historical playback position. If the historical playback position is not received from the cloud disk server, the video file corresponding to the first program entry will be played according to the starting position.
[0022] The above technical solution has the following beneficial effects or advantages: It provides a cross-device resume playback function. By requesting the historical playback position from the cloud drive server, users can continue playback from the last interrupted point when switching to the cloud drive channel, according to the cloud record. This avoids the need for users to manually search for the progress bar and simplifies the user experience.
[0023] Secondly, this application provides a video playback method, including: Obtain video metadata of at least one video file stored under a user's personal cloud disk account in the cloud disk server; the video metadata includes at least the upload time and video duration of the video file; the personal cloud disk account corresponds to a cloud disk channel in the channel list, so as to play at least one video file stored under the personal cloud disk account in the cloud disk channel; The at least one video file is sorted based on the upload time to obtain a video sequence; The video files in the video sequence are mapped to program entries, and program playback time slots are assigned to the program entries according to the order of the video sequence and the video duration of the video files to generate the program list of the cloud disk channel; the program list of the cloud disk channel includes multiple program entries configured with the program playback time slots. In response to the user's switching operation on the cloud drive channel in the channel list, the system determines the first program entry corresponding to the program playback time period of the current system time from the program list of the cloud drive channel, and plays the video file corresponding to the first program entry.
[0024] The above technical solution has the following beneficial effects or advantages: By creating a dedicated cloud drive channel for user-uploaded video files on the cloud drive server, and sorting the video files by upload time based on the video metadata stored under the user's cloud drive account, a video sequence is generated. The video files in the sequence are then mapped to program entries, and virtual program playback periods are assigned to each entry based on the sequence order and video duration. This simulates the continuous timeline programming of a live channel, generating a program list for the cloud drive channel. When a user switches to the cloud drive channel, the currently playing program can be determined from the program list based on the current system time, providing an immersive experience of instant playback upon channel switching. Attached Figure Description
[0025] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0026] Figure 1 This is a schematic diagram illustrating an operational scenario between a display device and a control device provided in some embodiments of this application; Figure 2 This is a schematic diagram of the hardware configuration of a display device provided in some embodiments of this application; Figure 3This is a schematic diagram of the software configuration of a display device provided in some embodiments of this application; Figure 4 A flowchart illustrating a video playback method provided in some embodiments of this application; Figure 5 A schematic diagram of the interface for a channel list provided in some embodiments of this application; Figure 6 A schematic diagram illustrating the sorting of program entries provided in some embodiments of this application; Figure 7 A flowchart illustrating the process of setting program playback periods for program entries, provided for some embodiments of this application; Figure 8 A flowchart illustrating the process of setting program names and program covers for program entries, provided for some embodiments of this application; Figure 9 A schematic diagram of the playback screen of a cloud drive channel provided in some embodiments of this application; Figure 10 A schematic diagram illustrating the display process of an EPG page provided for some embodiments of this application; Figure 11 A schematic diagram of an EPG page provided for some embodiments of this application; Figure 12 This application provides schematic diagrams illustrating the video file resume playback process in some embodiments. Figure 13 This application provides schematic diagrams of the system architecture for cloud drive video playback in some embodiments. Figure 14 This application provides schematic diagrams illustrating the module interaction between a cloud disk server and a display device in some embodiments. Figure 15 Timing diagrams for cloud drive video playback provided in some embodiments of this application. Detailed Implementation
[0027] The embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described below do not represent all embodiments consistent with this application. They are merely examples of systems and methods consistent with some aspects of this application as detailed in the claims.
[0028] In this embodiment, the display device 200 generally refers to a device with screen display and data processing capabilities. For example, the display device 200 includes, but is not limited to, smart TVs, mobile terminals, computers, monitors, advertising screens, wearable devices, virtual reality devices, augmented reality devices, etc.
[0029] Figure 1This is a schematic diagram illustrating an operational scenario between a display device and a control device provided in some embodiments of this application. For example... Figure 1 As shown, a user can operate the display device 200 via touch operation, a mobile terminal 300, and a control device 100. The control device 100 receives user input commands and converts them into control commands that the display device 200 can recognize and respond to. For example, the control device 100 can be a remote control, a stylus, a gamepad, etc.
[0030] The mobile terminal 300 can function as a control device for human-computer interaction between the user and the display device 200. It 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 have software applications installed on it and communicate with the display device 200 via network communication protocols to achieve one-to-one control and data communication. Furthermore, it can transmit audio and video content displayed on the mobile terminal 300 to the display device 200 for synchronized display.
[0031] In some embodiments, the mobile terminal 300 or other electronic devices may also simulate the functions of the control device 100 by running an application that controls the display device 200.
[0032] like Figure 1 The diagram also shows that the display device 200 communicates with the server 400 via various communication methods. This allows the display device 200 to communicate via a local area network (LAN), a wireless local area network (WLAN), and other networks.
[0033] Display device 200 can provide broadcast television reception function, and can also be equipped with intelligent network television function that provides computer support, including but not limited to network television, smart television, Internet Protocol television (IPTV), etc.
[0034] Figure 2 Provided for some embodiments of this application Figure 1 Hardware configuration block diagram of display device 200.
[0035] 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 280.
[0036] In some embodiments, detector 230 is used to acquire signals from the external environment or to interact with the outside world. For example, detector 230 includes a light receiver, a sensor for acquiring ambient light intensity; or, detector 230 includes an image acquisition device, such as a camera, which can be used to acquire external environmental scenes, user attributes, or user interaction gestures; or, detector 230 includes a sound acquisition device, such as a microphone, for receiving external sounds.
[0037] In some embodiments, the display 260 includes display function components for presenting images and driving components for driving image display. The display 260 is used to receive and display image signals output from the controller 250. For example, the display 260 can be used to display video content, image content, menu control interface components, and user control UI interfaces, etc.
[0038] In some embodiments, the communication device 220 is a component used to communicate with external devices or the server 400 according to various communication protocol types. The display device 200 may have multiple communication devices 220 depending on the supported communication methods. For example, when the display device 200 supports wireless network communication, it may have a communication device 220 with WiFi functionality. When the display device 200 supports Bluetooth connectivity, it needs to have a communication device 220 with Bluetooth functionality.
[0039] The communication device 220 enables the display device 200 to communicate with external devices or the server 400 via wireless or wired connections. Wired connections utilize data cables, interfaces, or other components to connect the display device 200 to external devices. Wireless connections utilize wireless signals or wireless networks. The display device 200 can directly establish a connection with external devices or indirectly through gateways, routers, or other connection devices.
[0040] In some embodiments, the controller 250 may include at least one of a central processing unit, a video processor, an audio processor, a graphics processor, and a power processor, and a first to an nth interface 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 memory. The controller 250 controls the overall operation of the display device 200.
[0041] 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.
[0042] In some embodiments, a user can input user commands through a graphical user interface (GUI) displayed on a display 260, and the user input interface 280 receives the user input commands through the graphical user interface (GUI).
[0043] In some embodiments, the audio output device 270 can be a built-in 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 also be provided with an external audio output terminal, through which the audio output device can be connected to the display device 200 to output sound from the display device 200.
[0044] In some embodiments, the user input interface 280 can be used to receive instructions from user input.
[0045] In some embodiments, to enable user interaction, 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 can control the display device to provide a user interface; for example, the operating system can directly control the display device to provide a user interface, or it can provide a user interface by running an application. The operating system also allows users to interact with the display device 200.
[0046] It should be noted that the operating system can be a native operating system based on a specific operating platform, a third-party operating system that is deeply customized based on a specific operating platform, or an independent operating system specifically developed for display devices.
[0047] An operating system can be divided into different modules or levels based on the functions it implements, for example... Figure 3 As shown, in some embodiments, the system is divided into four layers, from top to bottom: the Applications layer (referred to as the "Application Layer"), the Application Framework layer (referred to as the "Framework Layer"), the System Runtime Library layer, and the Kernel Layer.
[0048] In some embodiments, the application layer provides services and interfaces for applications, enabling the display device 200 to run applications and interact with the user based on the applications. The application layer may contain at least one application, which may be a built-in Windows program, system settings program, or clock program of the operating system; or it may be an application developed by a third-party developer. In specific implementations, the application packages in the application layer are not limited to the examples above.
[0049] The framework layer provides application programming interfaces (APIs) and a programming framework for applications. The application framework layer includes predefined functions. It acts as a central processing unit, determining the actions taken by applications within the application layer. Through the API, applications can access system resources and obtain system services during execution.
[0050] like Figure 3 As shown, the application framework layer in this embodiment includes a view system, managers, and content providers. The view system designs and implements the application's interface and interactions, and includes lists, grids, text boxes, and buttons. The managers include at least one of the following modules: an activity manager for interacting with all running activities in the system; a location manager for providing system services or applications with access to system location services; a package manager for retrieving various information related to application packages currently installed on the device; a notification manager for controlling the display and clearing of notification messages; and a window manager for managing icons, windows, toolbars, wallpapers, and desktop widgets on the user interface.
[0051] In some embodiments, the Activity Manager manages the lifecycle of individual applications and common navigation and back functions, such as controlling application exit, opening, and back actions. The Window Manager manages all window programs, such as obtaining the screen size, determining if a status bar is present, locking the screen, capturing the screen, and controlling changes to the display window, such as shrinking the display window, shaking the display, or distorting the display.
[0052] In some embodiments, the system runtime library layer can provide support for the framework layer. When the framework layer is used, the operating system runs the instruction library contained in the system runtime library layer, such as the C / C++ instruction library, to implement the functions to be performed by the framework layer.
[0053] In some embodiments, the kernel layer is a functional layer situated between the hardware and software of the display device 200. The kernel layer can implement functions such as hardware abstraction, multitasking, and memory management. For example, ... Figure 3As shown, hardware drivers can be configured in the kernel layer. The kernel layer can contain at least one of the following drivers: audio driver, display driver, Bluetooth driver, camera driver, WIFI driver, USB driver, HDMI driver, sensor driver (such as fingerprint sensor, temperature sensor, pressure sensor, etc.), and power driver, etc.
[0054] It should be noted that the above examples are merely a simple division of operating system functions and do not limit the specific form of the operating system of the display device 200 in this application embodiment. Depending on the function of the display device, the type of operating system, and other factors, the number of levels and the specific level type of the operating system may be expressed in other forms.
[0055] The display device can play live broadcast content from broadcast signals or online streaming media, as well as video files such as movies, TV series, and documentaries stored in a user's personal cloud drive on a cloud storage server. However, the personal cloud drive videos and the live broadcast channels are presented and interacted with independently. When a user is watching a live broadcast on a live channel, if they want to watch a video file stored on the cloud drive server, they need to exit the live broadcast channel interface, launch the separate cloud drive client application, and select the corresponding video file to play, which is a rather cumbersome process.
[0056] To address the aforementioned issues, the display device 200 provided in this embodiment can execute a video playback method. This method creates an independent cloud storage channel for video files uploaded by users to a cloud storage server. When a user switches to this channel, video files stored in the user's personal cloud storage account can be played, improving viewing convenience. The display device 200 capable of applying this video playback method includes at least a communication device 220, a display 260, and a controller 250. The communication device 220 is configured to communicate with the cloud storage server, the display 260 is configured to display a user interface, and the controller 250 is configured to execute the specific steps of the video playback method.
[0057] like Figure 4 The diagram shown is a flowchart illustrating the video playback method provided in this application embodiment, which specifically includes the following steps: S401, retrieve video metadata of at least one video file stored under a personal cloud storage account.
[0058] The cloud disk server stores at least one video file pre-uploaded by the user. The display device 200 can create an independent live streaming channel, namely the cloud disk channel, and bind the cloud disk channel to the user's personal cloud disk account. The cloud disk channel is also added to the channel list maintained by the display device 200. When the user switches to the cloud disk channel, the video file stored in the user's personal cloud disk account on the cloud disk server can be played in the cloud disk channel to simulate the experience of switching channels and playing immediately in traditional live streaming channels.
[0059] In some embodiments, to create a cloud drive channel, the display device 200 can add a channel addition control to the settings interface of the live streaming application. Users can use this control to create a corresponding cloud drive channel for the cloud drive server. Specifically, when a user selects the channel addition control, the display device 200 responds to the selection command by displaying an authorization login interface, guiding the user to complete the authorization binding of their personal cloud drive account, and after completing the authorization binding, creating an independent cloud drive channel for the cloud drive server corresponding to that personal cloud drive account and adding it to the channel list.
[0060] After the user completes the authorization binding of their personal cloud storage account, the display device 200 can obtain and store the cloud storage access token. This access token is used for authentication when sending requests to the cloud storage server. The cloud storage server can identify the user's corresponding personal cloud storage account based on the access token and filter out the corresponding video files from the cloud storage space associated with that account.
[0061] The authorization binding methods include, but are not limited to, Open Authorization 2.0 (OAuth 2.0) authorization, QR code login, or account and password login.
[0062] In some embodiments, cloud drive channels are displayed alongside traditional live streaming channels in the channel list, possessing basic attributes such as channel name, channel number, and channel icon. The channel name can be customized by the user when creating the cloud drive channel, or a system-preset default name can be used. The channel number can be automatically assigned by the display device 200 based on the current channel number usage in the channel list, or manually specified by the user. The channel icon can be selected by the user from the system's preset icon library, or the brand logo of the cloud drive service provider can be used as the default icon. The position and presentation style of the cloud drive channel in the channel list are consistent with each live streaming channel, featuring the same layout style to improve visual consistency and operational continuity when browsing live streaming channels and cloud drive channels.
[0063] For example, such as Figure 5The diagram shown is an interface illustration of the channel list provided in this application embodiment. The channel list sequentially displays multiple channel entries such as Channel 1, Channel 2, Channel 3, Channel 4, and Cloud Drive Channel. Among them, the Cloud Drive Channel and other live streaming channels use the same font, layout, and interaction style. Users can directly switch to the Cloud Drive Channel by using the original operation logic of switching channels.
[0064] To realistically simulate the channel playback effect, after creating the cloud drive channel, the display device 200 can obtain the video metadata of the video files stored under the user's personal cloud drive account on the cloud drive server, which is then used to generate the program list for the cloud drive channel. Specifically, the display device 200 can send a request to the cloud drive server to obtain the video metadata of the video files stored under the user's personal cloud drive account. This request carries cloud drive access credentials. After receiving the request, the cloud drive server can determine the user's personal cloud drive account based on the cloud drive access credentials carried in the request, and then feed back the video metadata of at least one pre-uploaded video file under that personal cloud drive account to the display device 200.
[0065] The video metadata includes, but is not limited to, the video file's name, upload time, video duration, video thumbnail, video file identifier, video format, and other metadata describing the video file's attributes.
[0066] In some embodiments, the cloud disk server stores not only video files but also other types of files. In response to the first request, the cloud disk server can filter the files according to their file extensions to select video files with file extensions such as .mp4, .mkv, .avi, .mov, or Multipurpose Internet Mail Extensions (MIME), and further extract the video metadata of each video file and feed it back to the display device 200.
[0067] In some embodiments, the request sent by the display device 200 may carry the target directory path specified by the user. The cloud disk server may scan the video files under the target directory path. If the request does not carry the target directory path, the root directory of the user's personal cloud disk account will be scanned by default.
[0068] S402: Sort at least one video file based on upload time to obtain a video sequence.
[0069] After receiving the video metadata from the cloud storage server, the display device 200 sorts at least one video file based on its upload time, thus obtaining a video sequence organized in chronological order. The upload time refers to the timestamp when the video file is uploaded to the user's personal cloud storage account on the cloud server; this timestamp is automatically recorded by the cloud storage server when the video file upload is complete.
[0070] Video files in the cloud storage server are stored as individual files and do not have a temporal order or broadcast arrangement relationship. Therefore, the display device 200 can sort at least one video file according to at least one of the following: descending order of upload time, ascending order of upload time, descending order of video duration, or random sorting, to obtain a video sequence.
[0071] like Figure 6 The diagram shown is a schematic diagram of the sorting of program entries provided in the embodiment of this application. The display device 200 can extract the upload time of each video file from the video metadata of each video file (S601), and sort at least one video file in descending order of upload time to obtain a video sequence (S602).
[0072] Sort the videos by upload time in descending order. This places the most recently uploaded videos at the top of the video sequence and the earliest uploaded videos at the bottom. This ensures that the flow of time on the virtual timeline aligns with the natural sequence of user content updates. It also makes the program arrangement logic of the cloud drive channel conform to users' viewing habits of starting with the latest content, thus improving the user experience.
[0073] For example, a cloud storage server contains three video files: video file A, video file B, and video file C. Video file A was uploaded on March 1, 2025 at 10:00 AM, video file B on March 3, 2025 at 2:30 PM, and video file C on March 2, 2025 at 9:15 AM. Then, after sorting the videos in descending order of their upload times, the order of the video files in the video sequence is: video file B, video file C, and video file A.
[0074] S403 maps video files in the video sequence to program entries, and assigns program playback time slots to program entries according to the order of the video sequence and the video duration of the video files to generate a program list for the cloud disk channel.
[0075] After obtaining the video sequence, the display device 200 maps the video files in the video sequence to corresponding program entries, and allocates a program playback period to each program entry according to the order of the video sequence and the video duration of each video file, thereby generating a program list for the cloud drive channel. In other words, the program list of the cloud drive channel includes multiple program entries arranged chronologically with program playback periods. One program entry corresponds to one or more video files, meaning one or more video files are mapped to a program under the cloud drive channel.
[0076] In some embodiments, program entries include at least information such as program name, program cover, program broadcast time, and program duration, so that the program list of the cloud drive channel has the same data structure as the program list of the traditional live broadcast channel, which facilitates unified display on the same EPG page.
[0077] The program name can be set based on the video file's name or a user-defined setting. The program cover can be set based on the video file's thumbnail. The program playback time includes the program start and end times, which can be set based on the video duration and the program sequence in the program list. The program duration can be set to the actual video length of the video file.
[0078] In some embodiments, such as Figure 7 The diagram shows a flowchart of setting program playback time periods for program entries according to an embodiment of this application. The display device 200 can extract the video duration of each video file from the video metadata of each video file (S701), set the program start time of the program entry corresponding to the first video file in the video sequence to the current system time (S702), and set the program start time of the program entry corresponding to the Nth video file in the video sequence to the sum of the program start time of the program entry corresponding to the (N-1)th video file and the video duration of the (N-1)th video file, where N is an integer greater than 1 (S703).
[0079] In other words, after determining the video duration of each video file, the display device 200 uses the time recorded by the currently detected system clock as the starting point to arrange each program item in sequence according to its corresponding video duration, thereby forming a continuous program timeline.
[0080] In some embodiments, when a new video file is added to the cloud disk server, the display device 200 can insert the program entry corresponding to the new video file into the head of the video sequence, and recalculate the program playback period of each program entry according to the above calculation rules, and automatically adjust the program timeline to reflect the latest video upload status.
[0081] Using the above method, starting from the current system time, consecutive program playback periods are allocated to each program item in sequence, forming a virtual EPG program timeline. This enables the cloud drive channel to have the program sequence attributes of a traditional live channel, realizing the program arrangement of cloud drive videos.
[0082] For example, mapping video files in a video sequence to program entries yields program entry 1, program entry 2, and program entry 3. The video file corresponding to program entry 1 has a duration of 1 hour, program entry 2 has a duration of 45 minutes, and program entry 3 has a duration of 1.5 hours. If the currently detected system time is 09:00, then program entry 1 will play from 09:00 to 10:00, program entry 2 from 10:00 to 10:45, and program entry 3 from 10:45 to 12:15. The program playback times of each program entry are consecutive, forming the complete program timeline of this cloud drive channel.
[0083] In some embodiments, to provide richer information in the program list of the cloud drive channel, such as... Figure 8 The diagram shows a flowchart of setting program names and program covers for program entries according to an embodiment of this application. The display device 200 can also extract the video name and video thumbnail of each video file from the video meta information of each video file (S801), set the program name for the corresponding program entry according to the video name of each video file (S802), and set the program cover for the corresponding program entry according to the video thumbnail of each video file (S803).
[0084] Specifically, the video metadata contains the original filename or title information of the video file, i.e., the video name. After extracting the video name from the video metadata, the display device 200 sets it as the program name of the corresponding program entry, so that the program entry is identified by the video file name in the subsequent EPG page, making it easier for users to identify and find the video content.
[0085] The video metadata may also include video thumbnails, which are preview images of the video file content. After extracting the video thumbnails from the video metadata, the display device 200 sets them as the cover image of the corresponding program entry, so that the program entry is presented as an image preview on the EPG page, making it easier for users to browse and select video content.
[0086] In some embodiments, if the video thumbnail included in the video metadata is a Uniform Resource Locator (URL), the display device 200 can download the video thumbnail to its local machine via the URL before setting it as the program cover for the corresponding program entry when setting the program cover for that program entry. If the video metadata does not contain a video thumbnail or the URL address of the video thumbnail is inaccessible, causing the download to fail, the display device 200 can use a preset default cover image instead to ensure that each program entry has a program cover displayed on the EPG page, avoiding incomplete page display due to missing thumbnails.
[0087] The display device 200 can also perform size adaptation processing on video thumbnails, scaling the video thumbnails to a target size that matches the card size of the program entries in the EPG page, so as to ensure that the visual effect of the EPG page is uniform and neat.
[0088] S404, in response to the user's switching operation on the cloud drive channel in the channel list, determines the first program item from the program list of the cloud drive channel and plays the video file corresponding to the first program item.
[0089] After generating the program list for the cloud drive channel, when a user switches to the cloud drive channel via a remote control or other input device, the display device 200 responds to the switching operation by determining the first program item to be played from the program list of the cloud drive channel and playing the corresponding video file, thus achieving instant playback upon channel switching. Specifically, the display device 200 detects the current system time, searches the program list of the cloud drive channel for a program whose playback time includes the current system time, selects it as the first program item, and plays the corresponding video file.
[0090] For example, such as Figure 9 The image shown is a schematic diagram of the playback screen of a cloud drive channel provided in this application embodiment. When a user switches channels to enter a cloud drive channel, a prompt box can be displayed floating at the top of the user interface to show the channel number ( Figure 9 The pop-up message displays the number 5, channel name, currently playing program name, and program broadcast time. The message disappears after a preset time, allowing the cloud drive video to play in full screen.
[0091] In some embodiments, the display device 200 can send a request to the cloud disk server to obtain the video playback address of the video file corresponding to the first program entry, receive the video playback address (such as a URL address or a temporary authorization link) returned by the cloud disk server, and use the video playback address to control the display 260 to play the corresponding video file. Obtaining streaming media through the video playback address eliminates the need to download the video file locally, saving storage space on the display device 200.
[0092] In some embodiments, if the display device 200 fails to obtain a valid video playback address after sending a request to the cloud disk server for obtaining a video playback address due to network abnormalities, cloud disk server failure, or expired video playback address, the display device 200 can present a playback failure message to the user and automatically retry. The number of retries and the retry interval can be determined according to a preset configuration (e.g., a maximum of 3 retries, with a 5-second interval between each retrieval). If a valid video playback address still cannot be obtained after multiple retries, the display device 200 can display an error message on the display 260 and automatically switch to the video file corresponding to the next program item in the program list of the cloud disk channel or return to the standby state of the cloud disk channel to avoid interruption of the entire cloud disk channel playback due to the failure of a single video file, thus ensuring the continuity of the user's viewing experience.
[0093] In some embodiments, the cloud disk server supports video files in various video encoding formats and container formats. The player on the display device 200 must have decapsulation capabilities that match the video format to ensure that video files uploaded by users to the cloud disk server can be played normally on the display device 200. For video formats that the display device 200 does not support or cannot meet the decoding requirements, the cloud disk server can prioritize providing an adapted stream address that has been transcoded in the cloud when providing the video playback address, converting the original video file into an encoding format and resolution supported by the display device 200.
[0094] For example, the cloud drive channel's program list has three program entries: program entry 1 (corresponding to video file A), program entry 2 (corresponding to video file B), and program entry 3 (corresponding to video file C). Program entry 1 is played from 09:00 to 10:00, program entry 2 from 10:00 to 10:45, and program entry 3 from 10:45 to 12:15. If a user switches to the cloud drive channel at 10:20, the display device 200 detects that the current system time is 10:20. Therefore, it determines from the cloud drive channel's program list that program entry 2 should be played at that time, and plays the video file B corresponding to program entry 2, achieving instant playback upon channel switching.
[0095] In some embodiments, after the video file corresponding to the first program entry has finished playing, the display device 200 can detect whether there is a next program entry in the program list of the cloud disk channel after the first program entry. If there is, the video file corresponding to the next program entry in the program list of the cloud disk channel after the first program entry will be played automatically. This process is repeated to achieve sequential and continuous playback of video files under the user's personal cloud disk account, replicating the uninterrupted broadcasting characteristics of traditional live channels and providing users with an immersive and continuous viewing experience.
[0096] If the video file corresponding to the last program item in the program list of the cloud drive channel has finished playing, then the video file corresponding to the first program item in the program list of the cloud drive channel will be replayed, or the monitor 260 will be controlled to display the standby screen of the cloud drive channel, which can be determined according to user preference or system default settings.
[0097] In the aforementioned channel-switching and playback operation, unlike existing technologies that directly request and play at least one video file from the cloud drive server or play the first video file from a fixed list after the user selects a cloud drive channel, this application determines and plays the currently playing program (video file) through a dynamically generated program list with a continuous virtual broadcast timeline for the video files in the cloud drive server. This concept of "currently playing" dynamically changes based on the current system time and video duration, making its behavior closer to a real linear television channel and achieving an immersive passive viewing experience. When switching to a cloud drive channel, the user does not need to perform any selection or confirmation operation to start playing video content matching the current moment, ensuring that the initial interactive behavior of the cloud drive channel is consistent with the initial interactive behavior of public live channels.
[0098] It should be noted that the aforementioned continuous playback mechanism is implemented through the arrangement order of program items in the program list of the cloud drive channel. For example, the arrangement order of program items in the program list of the cloud drive channel is: program item 1 (corresponding to video file A), program item 2 (corresponding to video file B), and program item 3 (corresponding to video file C). When video file A finishes playing, the display device 200 automatically starts playing video file B. When video file B finishes playing, it automatically starts playing video file C, and so on. When the video file corresponding to the last program item finishes playing, the display device 200 can restart playback from the first program item in the program list of the cloud drive channel, forming a loop playback mechanism. Alternatively, playback can be stopped and the display 260 can be controlled to display the standby screen of the cloud drive channel.
[0099] Display device 200 can provide users with linear, channel-based program information through EPG, making user operation more intuitive. However, cloud disk client application only provides a file list browsing method and lacks program arrangement similar to EPG, making it impossible for users to obtain the same immersive experience as watching live channels.
[0100] In this regard, such as Figure 10 The diagram shown illustrates the display process of the EPG page provided in this embodiment of the application, specifically including the following steps: S1001, in response to the display command of the EPG page, controls the display 260 to display multiple program items in the program list of the cloud disk channel in the EPG page in the form of a timeline, and displays the playback status indicator corresponding to the second program item.
[0101] When the display device 200 receives a display command for the EPG page, it can control the display 260 to display the EPG page. The EPG page simultaneously presents the program list corresponding to the cloud drive channel and the program list corresponding to at least one live channel. In the EPG page, the cloud drive channel appears as an independent channel in the channel list, arranged side by side with each live channel. Users can directly browse cloud drive videos in the EPG page without switching to a separate cloud drive client application.
[0102] The methods for triggering the display command of the EPG page include, but are not limited to, the user pressing the EPG button on the remote control, the user triggering the EPG entry control in the user interface of the display device 200, and the display device 200 automatically popping up the EPG page when responding to a channel switching operation.
[0103] For example, such as Figure 11 The diagram shown is a schematic of the EPG page provided in this application embodiment. After the user presses the EPG button on the remote control, the display device 200 controls the display 260 to display the EPG page. In this EPG page, the left side of the page displays a channel list, including Channel 1, Channel 2, Channel 3, and the user-created cloud drive channel. The right side of the page displays the program entries corresponding to each channel. The top of the page includes a preview area for displaying the playback screen and an information area for displaying program information. When the user moves the cursor to a program entry, the playback screen corresponding to that program entry can be played in the preview area, and the program information corresponding to that program entry can be displayed in the information area, including the program name, program cover, program playback time, etc. The overall presentation effect of the cloud drive channel is the same as that of the live channel in the EPG page.
[0104] In some embodiments, in order to reflect the current playback status of the cloud drive channel on the EPG page and keep the EPG display of the cloud drive channel consistent with that of the live channel, the display device 200 can also detect the current system time when controlling the display 260 to display the EPG page, and determine the currently playing second program item in the program list of the cloud drive channel according to the current system time, and then display the playback status indicator corresponding to the second program item on the EPG page.
[0105] Specifically, the display device 200 detects the current system time and searches for a program entry in the cloud drive channel's program list whose playback time includes the current system time, designating it as the second program entry. After determining the second program entry, a playback status indicator can be displayed in the corresponding display area on the EPG page.
[0106] The playback status flag is used to indicate the current playback state. Playback status flags include various forms, such as... Figure 11 As shown, the display device 200 uses a highlighting method as a playback status indicator, allowing users to intuitively identify the program item currently in playback on the EPG page, enhancing the simulated live broadcast effect of the cloud drive channel and making it easier for users to quickly locate the currently playing content.
[0107] In some embodiments, the display device 200 supports users to browse the program list by turning pages on the EPG page. Since the number of video files stored on the cloud storage server may be large, the program list of the cloud storage channel may be long and exceed the visible area of the EPG page. To address this, the display device 200 can scroll through the program list to display the program items that exceed the visible area, based on user input. Alternatively, the display device 200 can display the program list in a paginated manner, allowing users to flip forward or backward along the timeline to view more historical videos.
[0108] In some embodiments, the EPG page not only displays program information but also supports search and filtering functions to enhance the user experience. Specifically, the EPG page may include a search box and filter controls. Users can quickly locate programs of interest by entering relevant keywords in the search box. Meanwhile, the filter controls allow users to finely filter the program list based on preset or custom video type tags (such as movies, TV series, documentaries, variety shows, animations, etc.).
[0109] In some embodiments, the display device 200 can also determine the video duration of video files to optimize the arrangement of video files with abnormal durations. Specifically, a first duration threshold (e.g., 30 seconds) and a second duration threshold (e.g., 4 hours) are set. For video files with a duration shorter than the first duration threshold, the corresponding program duration is set to a preset minimum display duration (e.g., 5 minutes) to avoid dense and short program entries on the timeline of the EPG page. Alternatively, the video file can be merged into a single program entry with the next adjacent video file in the video sequence ordered by the aforementioned time. For video files with a duration longer than the second duration threshold, a visual marker (e.g., an extra-long movie icon) can be added to their program entries when displaying the EPG page to remind the user that the program is longer. By introducing a duration-based classification processing mechanism, special presentation optimizations are performed on extremely short or extremely long video files on the EPG page, improving the cleanliness of the EPG page.
[0110] In some embodiments, when the number of video files stored in the cloud disk server exceeds a preset threshold (e.g., 200), the display device 200 can generate corresponding program entries only for video files whose upload time is within a preset time window (e.g., the last 30 days) for display on the EPG page. For video files whose upload time exceeds the preset time window, a collapsed or archived group of program entries is generated, which users can select to expand and view earlier video content. This controls the size of the program list and avoids the problem of slow EPG page loading due to an excessive number of video files.
[0111] S1002, in response to the user's command to select the third program item in the program list of the cloud drive channel, plays the video file corresponding to the third program item.
[0112] When the display device 200 displays the EPG page, it can respond to the user's selection command for any program item (third program item) in the program list corresponding to the cloud disk channel and play the corresponding video file.
[0113] For example, when watching a cloud drive channel, a user can bring up the EPG page to switch between cloud drive videos. When the user presses the EPG button on the remote control, the display device 200 overlays the EPG page onto the channel playback page. This EPG page displays the program list corresponding to the cloud drive channel and the live channel, highlighting the currently playing program item under the cloud drive channel. The user can browse the program list on the EPG page using the directional keys on the remote control. When the user selects any program item under the cloud drive channel and presses the confirmation button on the remote control, the display device 200 requests the video playback address of the corresponding video file from the cloud drive server and switches playback, allowing the user to immediately watch the selected video. Simultaneously, the playback status indicator on the EPG page can be updated, marking the program item with a playback status indicator to indicate that it is currently playing.
[0114] In some embodiments, when a user switches to a cloud drive channel, the display device 200, in response to the channel switching command, does not automatically query and play currently airing programs. Instead, it automatically triggers the display of the EPG page and controls the monitor 260 to display the EPG page. After viewing the EPG page, the user can browse and select a program item using the directional keys on the remote control. After pressing the confirmation button, the display device 200 can play the video file corresponding to the selected program item. This interactive mode of switching channels and selecting programs shifts the initial user interaction triggered by channel switching from automatic playback to the display and selection of the EPG page, giving users greater initial control and adapting to a wider range of user preferences and usage scenarios.
[0115] In some embodiments, the display device 200 supports sending requests to the cloud disk server to obtain video metadata at various triggering times, so as to ensure that the program list of the cloud disk channel can reflect the latest status of the video files in the cloud disk server in a timely manner.
[0116] Display device 200 can respond to user commands to create a cloud drive channel, create the channel, add it to the channel list, and send a request to the cloud drive server to obtain video metadata. Specifically, when a user creates a cloud drive channel for the first time, display device 200 requests video metadata from the cloud drive server and generates a program list for the cloud drive channel based on the returned video metadata, thus completing the creation and initialization of the cloud drive channel.
[0117] Display device 200 can also respond to playback commands from the cloud drive channel by sending a request to the cloud drive server to obtain video metadata. That is, when a user switches to the cloud drive channel, display device 200 requests video metadata from the cloud drive server and updates the program list accordingly. This ensures that the program list reflects the current state of the video files on the cloud drive server each time the user enters the cloud drive channel, preventing the program list from becoming invalid due to changes in the video files.
[0118] Display device 200 can also respond to the launch command of the live streaming application by sending a request to the cloud disk server to obtain video metadata. That is, when the user launches the live streaming application associated with the cloud disk channel, display device 200 requests the latest video metadata from the cloud disk server and updates the program list accordingly.
[0119] Display device 200 can also respond to display commands on the EPG page by sending a request to the cloud disk server to obtain video metadata. That is, when a user brings up the EPG page to view program information, display device 200 requests video metadata from the cloud disk server and updates the program list accordingly, ensuring that the video status seen by the user on the EPG page is consistent with the status of the video files stored in the cloud disk server.
[0120] Furthermore, after initially generating the program list corresponding to the cloud drive channel, the display device 200 can send requests to the cloud drive server to obtain video metadata at preset intervals. This allows for updating the program list corresponding to the cloud drive channel when the video metadata changes. In other words, the display device 200 periodically sends requests to the cloud drive server to obtain video metadata at preset time intervals (e.g., every 30 minutes or every hour) to retrieve the latest video metadata. If the video metadata changes, the program list is updated accordingly, achieving periodic synchronization of the program list.
[0121] It should be noted that the various triggering times mentioned above are not mutually exclusive, but can be used in combination. For example, the display device 200 can trigger a request to obtain video metadata when creating a cloud drive channel to complete the program list initialization. At the same time, it can be configured to trigger a request to obtain video metadata at a preset period to synchronously update the program list when the video metadata changes. It can also trigger a request to obtain video metadata every time a user switches to a cloud drive channel to determine the accuracy of the program list.
[0122] Understandably, the display device 200 sends requests to the cloud disk server to obtain video metadata at the aforementioned various times. The feedback time of the video metadata corresponding to the requests sent at different times will be used as the calculation base time for the program playback period, directly determining the values of the program start time and program end time for each program item in the cloud disk channel. Furthermore, if video files in the cloud disk server are added, deleted, or have their information changed, the corresponding feedback video metadata will also change, and the program order and the entire continuous program playback timeline will be adjusted accordingly.
[0123] In some embodiments, the preset period of the synchronization strategy can be dynamically adjusted based on factors such as the network status of the display device 200, whether the cloud drive channel is currently active, and user-defined preferences. For example, when the display device 200 is connected to a wired network and is in standby mode, the preset period can be shortened to 15 minutes to ensure data real-time performance; when connected to a mobile hotspot and bandwidth is limited, the preset period can be extended to 2 hours to save data usage. Furthermore, users can also manually trigger the synchronization operation. For example, a control for refreshing the program list can be set in the EPG page. When the user triggers this control via remote control, the display device 200 immediately sends a request to the cloud drive server to obtain video metadata to update the program list.
[0124] In some embodiments, the periodic synchronization strategy of the cloud disk channel can also be implemented in conjunction with the file change notification mechanism provided by the cloud disk server. Specifically, when the display device 200 sends a request to the cloud disk server for obtaining video metadata for the first time, it can subscribe to the file change notification service of the cloud disk server. When a user adds, modifies, or deletes video files in the cloud disk server, that is, when the video metadata stored under the personal cloud disk account in the cloud disk server changes, the cloud disk server can proactively push a change notification to the display device 200. After receiving the change notification, the display device 200 can immediately send a request to the cloud disk server for obtaining video metadata to obtain the latest video metadata and update the program list.
[0125] In some embodiments, to achieve localized management of video metadata and efficient updating of program lists, the display device 200 can also create a video index database for storing video metadata of video files fed back from the cloud storage server locally. The display device 200 can retrieve video metadata of at least one video file stored under a personal cloud storage account from the video index database to generate a program list for the cloud storage channel. It can also automatically trigger updates to the program list corresponding to the cloud storage channel in response to changes in the information in the video index database, ensuring that the program list always remains consistent with the latest video metadata stored in the video index database.
[0126] Information changes refer to the addition, modification, or deletion of video metadata. After initially receiving the video metadata from the cloud storage server, the display device 200 can store the video metadata of each video file in a locally created video index database for subsequent querying and use. Then, the display device 200 can send a request to the cloud storage server at a preset period to retrieve the video metadata of at least one video file stored under the personal cloud storage account, and dynamically update the video index database based on the latest video metadata of at least one video file returned by the cloud storage server.
[0127] For updating the video index database, the display device 200 can compare the latest video metadata obtained from the cloud disk server with the video metadata already stored in the video index database, identify newly added, modified, or deleted video metadata, and add, modify, or delete the corresponding content in the video index database accordingly, thus completing the dynamic update of the video index database. When the video metadata in the video index database changes, the display device 200 can automatically trigger the update operation of the corresponding program list of the cloud disk channel, and automatically update the program list of the cloud disk channel according to the updated video metadata in the video index database.
[0128] In some embodiments, the video index database is structured using the upload time of the video file as the index key, and the metadata of the video file is reorganized locally in a time sequence, so that the display device 200 can quickly read the video sequence sorted by upload time from the local machine, reducing the real-time dependence on the cloud server.
[0129] In some embodiments, for the construction of the video index database, the display device 200 can extract the video file identifier (unique identifier) corresponding to each video file in the cloud disk server, and use the video file identifier as the primary key of each record in the video index database.
[0130] In some embodiments, for dynamic updates to the video index database, the display device 200 can determine the video file identifier for each video file based on the latest acquired video metadata. For each video file identifier, the video index database is traversed. If the video file identifier for that video file exists in the video index database, the metadata of that video file recorded on the cloud server is compared with the video metadata of that video file recorded in the video index database. If there is a change, the video metadata of that video file recorded in the video index database is updated, while retaining its original upload time index value. If the video index database does not contain the video file identifier for that video file, it is determined that the video file is a newly added video file, and its corresponding video metadata is added to the video index database using the upload time as the index. If the video index database contains a video file identifier but the latest returned video metadata does not contain that video file identifier, it is determined that the video file is a deleted video file, and the video metadata corresponding to that video file is deleted from the video index database.
[0131] If multiple video files with the same video file identifier but different storage paths are found in the latest video file list, only one record is retained in the video index database.
[0132] When an incremental update to the video index database results in a new video file being added to the head of a video sequence sorted by upload time, a recalculation of the program list is triggered. The newly added video file is then inserted into the program list as the new first-ranked program entry, and the virtual program playback time slots for all subsequent program entries in the program list are automatically updated.
[0133] By using the inherent video file identifiers of the cloud disk server as the primary key of the video index database, instead of volatile filenames or paths, the problem of duplicate records or data inconsistencies in the local index caused by user operations such as moving, re-uploading, and modifying video files on the cloud disk server is solved. Furthermore, by using the rule of updating only the metadata of video files with existing identifiers during incremental updates while retaining the original upload time index value, the accuracy of video information is ensured, and the stability of program sorting based on upload time is maintained. Moreover, by using multi-path deduplication of files with the same identifier, program list redundancy caused by multiple file copies can be avoided.
[0134] In some embodiments, the video file identifier can be an MD5 hash value assigned to each video file by the cloud storage server or a cloud storage-owned file ID. An MD5 hash value is a fixed-length hash value calculated by applying the MD5 algorithm to the file content, possessing high uniqueness and immutability. A cloud storage-owned file ID is a unique identifier assigned by the cloud storage service provider when the file is uploaded, remaining unchanged throughout the file's entire lifecycle. Using this immutable and unique identifier as the index primary key ensures that index records are accurately associated with the same video file throughout its entire lifecycle.
[0135] In some embodiments, when an abnormal network status is detected between the display device 200 and the cloud disk server, the display device 200 can generate or maintain a program list corresponding to the cloud disk channel based on the last synchronized video metadata in the video index database. Furthermore, when the network status is detected to have returned to normal, the display device 200 can proactively send a request to obtain video metadata to synchronize the latest video metadata, thereby improving the accuracy of the program list.
[0136] In some embodiments, such as Figure 12 The diagram illustrates the resume playback process for a video file provided in this embodiment. When the playback of the video file corresponding to the first program entry is triggered, the display device 200 provides a resume playback function. It can detect whether the historical playback position of the video file corresponding to the first program entry is recorded (S1201). If the historical playback position is recorded, the video file corresponding to the first program entry continues to play according to the historical playback position (S1202). If the historical playback position is not recorded, the video file corresponding to the first program entry is played according to the starting position (S1203).
[0137] Specifically, when playing a video file, the display device 200 can record the current playback position of the video file (i.e., the playback progress time point) and store it in association with the identification information of the video file, so as to realize the function of resuming playback when the user plays the same video file again.
[0138] To address this, when the display device 200 needs to play the video file corresponding to the first program entry, it can check the locally stored historical playback records to determine if a historical playback position for the video file corresponding to the first program entry already exists. If a historical playback position for the video file corresponding to the first program entry is detected in the local storage, the video file will continue playing from that historical playback position, allowing the user to resume watching from where they left off, avoiding the need for the user to manually drag the progress bar to find the last playback position. If no historical playback position record is detected, it means that the user is playing the video file for the first time, and playback will begin from the beginning of the video file (i.e., second 0), providing the user with a complete viewing experience.
[0139] For example, if a user selects program item 1 in the program list of the cloud drive channel on the EPG page, the display device 200 requests the URL address of the video file corresponding to program item 1 from the cloud drive server and queries the local playback history. If it finds that the video file was interrupted at 00:33:05 when the user last watched it, it will start playing from 00:33:05 according to the URL address, allowing the user to continue watching directly from where it was interrupted.
[0140] For example, when a user switches to the cloud drive channel via remote control, the following channel switching playback process is triggered: Display device 200 responds to the channel switching event, identifies the switched channel as the cloud drive channel, and triggers the cloud drive channel's playback processing logic. Display device 200 queries the program list corresponding to the cloud drive channel to find the program item that should be played, and requests the video playback address of the corresponding video file from the cloud drive server. Display device 200 passes the obtained video playback address to the video player, which is responsible for downloading, decoding, and rendering the video data. The video player can detect whether the historical playback position of the video file is saved. If so, it continues playback from the historical playback position (resume playback); otherwise, it starts playback from the beginning of the video file. After the current video file finishes playing, it can automatically load the video file corresponding to the next program item in the program list of the cloud drive channel for continuous playback, simulating the continuous broadcast effect of traditional television channels.
[0141] In some embodiments, the cloud server records the historical playback position of video files. This historical playback position is stored in association with the user's personal cloud storage account. If a user interrupts viewing on one device, they can resume playback from the last interrupted point on any other device logged into the same account, without manually searching for the playback progress. To this end, the display device 200 can request the historical playback position of the video file corresponding to the first program item from the cloud server after the user switches cloud storage channels and matches the first program item to be played, thereby synchronizing the playback progress with the cloud progress. Specifically, when the display device 200 needs to play the video file corresponding to the first program item, it can send a request to the cloud storage server to obtain the historical playback position of the video file corresponding to the first program item. If the historical playback position is received from the cloud storage server, playback of the video file corresponding to the first program item continues according to the historical playback position. If the historical playback position is not received from the cloud storage server, playback of the video file corresponding to the first program item resumes from the starting position.
[0142] Meanwhile, when playing a video file, the display device 200 can record the playback position of the video file (i.e., the playback progress time point) and upload it to the cloud disk server to update the playback record stored in the cloud.
[0143] In some embodiments, such as Figure 13 The diagram shown illustrates the system architecture for cloud disk video playback provided in this embodiment. This system architecture comprises a cloud disk server and a display device 200. The display device 200 includes three functional modules: a live streaming application, a video index database, and a media playback center. The cloud disk server transmits media resource data to the live streaming application within the display device 200 via a communication device 220. The live streaming application establishes data interaction connections with both the video index database and the media playback center.
[0144] Specifically, the live streaming application can retrieve video metadata corresponding to user-stored video files from the cloud storage server using the Application Programming Interface (API) provided by the cloud storage server. This retrieved video metadata is stored in a video index database, and a cloud storage channel is constructed based on this information. The cloud storage server serves as the video source for this channel, with each video file on the server mapped to a program within that channel. When a user switches to this channel, they can select the corresponding video file according to preset rules, request the video playback address from the cloud storage server, and forward it to the media playback center. The media playback center then decodes and plays the video, achieving instant playback upon channel switching. Furthermore, when a user accesses the EPG page, all program entries under the cloud storage channel are displayed. When a user selects a program, the live streaming application requests the video playback address from the cloud storage server and forwards it to the media playback center, which then decodes and plays the video, enabling on-demand playback.
[0145] In some embodiments, such as Figure 14 The diagram shown illustrates the module interaction between the cloud disk server and the display device 200 provided in this embodiment of the application. The display device 200 includes six functional modules: a live channel management module, a private channel module, an EPG generation engine, a video player, an EPG page, and a video index database.
[0146] The cloud storage server is configured with a personal cloud storage service. This service is externally packaged and provides three types of open APIs: a file list API, a file metadata API, and a streaming media playback API. These APIs are used to provide network services to the display device 200, including video file list querying, video metadata retrieval, and streaming media playback address distribution.
[0147] The live channel management module manages the logical processing of each channel. The private channel module manages the logical processing of cloud drive channels. The video index database interacts with the cloud drive server via file list API and file metadata API, periodically synchronizing the changed video metadata information from the cloud server. The EPG generation engine reads the stored video metadata from the video index database and generates the program list corresponding to the cloud drive channel according to preset rules. The video player obtains the video playback address through the streaming media playback API and completes video playback based on the obtained video playback address. The EPG page provides users with interactive functions such as EPG page display, program item browsing, and program selection.
[0148] The following is a detailed explanation of the six functional modules mentioned above.
[0149] The live streaming channel management module is the core management unit of the live streaming application, responsible for maintaining and managing the channel list. The channel list contains multiple channel entries, each with at least the following attributes: channel name, channel number, channel icon, and channel source. The channel source attribute identifies the content source type of the channel entry, such as a broadcast signal source, a network stream address source, or a cloud drive channel source. The live streaming channel management module can receive creation commands from private channel modules, adding cloud drive channel entries to the channel list. This allows cloud drive channel entries to be displayed alongside traditional broadcast channel entries or other network stream channel entries in the same channel list, sharing the same basic attributes such as channel name and channel number. When the live streaming channel management module detects a user-input channel switching event to switch to a cloud drive channel, it can send a channel switching event containing the cloud drive channel identifier and channel source identifier to the video player, causing the video player to switch channels.
[0150] The private channel module is a software module corresponding to one or more cloud disk channel instances. Each cloud disk channel instance is bound to a user's personal cloud disk account and stores cloud disk access credentials. The private channel module can communicate with the personal cloud disk service on the cloud server through the cloud disk API, and can also connect to the live channel management module and the video index database. As a bridge between cloud disk channels and cloud disk resources, the private channel module is responsible for triggering channel registration, cloud disk account authorization binding, and video resource synchronization. The core data of the private channel module includes the private channel instance identifier, bound cloud disk account information, cloud disk access credentials, and cloud disk scanning path configuration. The cloud disk access credentials are stored in encrypted form in the local secure storage area of the display device 200. The private channel module first executes the channel registration function, registering a new cloud disk channel entry with the live channel management module. Next, it executes the cloud disk account authorization binding function, guiding the user to complete the authorization of their personal cloud disk account. Authorization methods include, but are not limited to, OAuth 2.0 protocol authorization, QR code login, or account and password login. After the user completes the cloud disk binding, it triggers the initial synchronization of the video index database and periodically triggers synchronization based on a preset synchronization strategy.
[0151] The video index database is the database system and storage space of the display device 200. It is used to persistently store video metadata synchronized from the cloud disk server and is organized using upload time as the primary index key. As the central data hub for the private channel module, EPG generation engine, and video player, the video index database receives synchronization triggers from the private channel module, calls the cloud disk API to retrieve data, outputs video sequence data to the EPG generation engine, and provides video file identifier lookup for the video player. The video index database includes storage space and database management logic. Each record corresponds to a video file in the cloud disk server and can contain the following fields: video file identifier, video name, video duration, video file size, upload time, video thumbnail or thumbnail address, etc. The database management logic is responsible for data CRUD operations, index maintenance, and synchronization management. The database uses upload time as the primary index key and constructs a structured data index sorted by upload time from newest to oldest, ensuring that video files are organized in an orderly manner along the time dimension.
[0152] The video index database operates through two processes: initialization synchronization and periodic synchronization. During initialization, the video index database receives the initialization synchronization command sent by the private channel module after the user completes cloud drive binding. It then calls the file list interface of the cloud drive API to obtain a list of all video files under the specified path. It iterates through the video file list, calling the file metadata API for each video file to obtain its detailed video metadata. The extracted video metadata is then inserted into the video index database line by line in ascending order of upload time, thus constructing the initial index.
[0153] During periodic synchronization, the video index database initiates a periodic synchronization process according to a preset cycle, calling the cloud disk API to obtain the latest list of video files. For each video file in the latest list, the database management logic checks whether its video file identifier already exists in the video index database. If the video file identifier does not exist, the video file is determined to be a newly added video file, its corresponding video metadata is extracted, and inserted into the index according to the upload time. If the video file identifier already exists, the video metadata on the cloud server is compared with the video metadata in the local record. If there are changes, the corresponding field in the local record is updated, but the original upload time index value of the record remains unchanged. If there are no changes, the video file is ignored. If the video index database contains a video file identifier that is not in the latest video file list, it is determined that the video file has been deleted from the cloud server, and the corresponding video metadata is removed from the video index database, thus completing this periodic synchronization.
[0154] In addition, if multiple video files with the same video file identifier but different storage paths are found during the traversal, only one record is retained in the video index database to achieve deduplication.
[0155] The EPG generation engine is a software engine responsible for reading data from the video index database and generating a program list (EPG data) according to predefined rules. The EPG generation engine connects the video index database and the EPG page, retrieving video sequences sorted by upload time from the video index database. After calculation and arrangement, it provides the generated program list to the EPG page for display and also for use by the video player. Internally, the EPG generation engine includes a data reading interface, program mapping logic, virtual timeline calculation logic, and program list update logic. The EPG generation engine maintains a structured program list containing multiple program entries. Each program entry includes at least the following fields: program name, program playback time (including start and end times), program duration, program cover image, and video file identifier.
[0156] The core function of the EPG generation engine is to automatically arrange a series of video files in a user's personal cloud drive, arranged by upload time, into EPG data with a continuous virtual broadcast timeline, consistent with the traditional EPG format. Its working mechanism employs a virtual timeline generation algorithm: using the current system time as a reference, the first (latest) video file in the video sequence is taken as the currently playing program, with its start time set to the current system time. For the Nth subsequent video file, its start time equals the start time of the (N-1)th program plus the actual video duration of the (N-1)th video file. Through this algorithm, discrete video files in the cloud drive server are dynamically mapped to a continuous timeline extending from the current moment into the future, with each video file assigned a specific virtual broadcast time window.
[0157] Regarding the dynamic updating of the program list (EPG data), when the video index database completes an information synchronization and a new video file is found to have been added to the index header, the EPG generation engine triggers a recalculation and update of the virtual broadcast time calculation. Specifically, the program entry corresponding to the new video file is inserted as the new first-ranked program entry at the head of the program list, its virtual program start time is set to the current system time, and the program start time of all subsequent programs is automatically recalculated and updated. The original first program becomes the second program, and its program start time becomes the current system time plus the actual video duration of the new video, with subsequent programs following suit. This dynamic update mechanism ensures that the program arrangement of the cloud drive channel is always synchronized with the latest video status in the user's cloud drive, thus prioritizing the presentation of the newest video content.
[0158] The video player is a software module responsible for managing the acquisition, decoding, and playback control of video streams. It receives channel switching events and cloud drive channel identifiers from the live channel management module, obtains the identifier of the video file to be played from the EPG generation engine, and then obtains the corresponding video playback address through the personal cloud drive API, ultimately driving the underlying player to play the video. The core function of the video player is to execute the playback logic of "instant playback after channel switching" and "EPG selection playback." "Instant playback after channel switching" means that when a user switches to a cloud drive channel, the video player automatically queries the program list (EPG data) for currently broadcast programs and plays them, without any additional user intervention. "EPG selection playback" means that when a user selects a program on the EPG page, the video player switches to play the selected program.
[0159] The EPG page is a software page presented as a screen overlay or full-screen page, displaying a program list generated by the EPG generation engine and supporting remote control navigation and selection. The EPG page connects to the EPG generation engine and video player, obtaining data from the EPG generation engine for rendering and display, and sending user selection commands to the video player. The EPG page is a graphical user interface component that can be presented semi-transparently above the currently playing screen as a screen overlay. The EPG page can include a program list area, a currently playing program marker, a program information display area (including thumbnails, names, durations, broadcast times, etc.), focus navigation controls, and timeline scrolling controls. The EPG page provides users with an entry point for browsing and switching videos along a timeline in their cloud drive channels, transforming the interaction of a video file list into an EPG-like interaction, shifting the interaction paradigm from a file manager style to a program guide style. This ensures that users see a program list with a clear sequence, duration information, and a contextual timeline through the EPG page, rather than a list of filenames without contextual association.
[0160] like Figure 15 The diagram shown is a timing diagram of cloud disk video playback provided in an embodiment of this application. The complete timing process of channel switching playback and EPG page interaction involves five participating roles: user, TV live broadcast system, private channel module, EPG generation engine, and cloud disk server.
[0161] The automatic playback process for users switching to cloud drive channels is as follows: When a user performs a channel switching operation via remote control, the TV live broadcast system captures the channel switching event, identifies the channel to be switched to as a cloud drive channel, and sends a channel switching event to the private channel module. The private channel module queries the EPG generation engine for the currently broadcast program entry. Based on the program list corresponding to the cloud drive channel, the EPG generation engine retrieves and returns the video file information corresponding to the currently broadcast program entry. The private channel module then requests the video playback address of the corresponding video file from the cloud drive server based on the video file information. The cloud drive server returns the video playback address. The private channel module passes the video playback address to the TV live broadcast system's video player, which then downloads, decodes, and renders the video for playback.
[0162] The following describes the interaction process for users accessing the EPG page to switch between cloud drive videos. When a user presses the EPG button on the remote control, the live TV system receives the EPG page display command and requests the program list of the cloud drive channels from the private channel module. The private channel module retrieves the program list from the EPG generation engine and returns it to the live TV system. The live TV system overlays the EPG page on monitor 260, displaying program lists from both the cloud drive channels and at least one live channel, highlighting the currently playing program in the cloud drive channel. After browsing the program list under the cloud drive channel and selecting a target program, the live TV system transmits the selection event to the private channel module. The private channel module determines the video file information corresponding to the target program and requests the corresponding video playback address from the cloud drive server. The cloud drive server returns the video playback address. The private channel module then passes the video playback address to the live TV system's video player, which switches to the selected video for playback and displays the playback screen to the user.
[0163] Based on the display device 200 described above, this application embodiment also provides a video playback method, which may include the following steps: Retrieve video metadata of at least one video file stored under a user's personal cloud disk account on the cloud disk server; the video metadata includes at least the upload time and duration of the video file; the personal cloud disk account corresponds to a cloud disk channel in the channel list, so as to play at least one video file stored under the personal cloud disk account on the cloud disk channel.
[0164] At least one video file is sorted based on its upload time to obtain a video sequence.
[0165] The video files in the video sequence are mapped to program entries, and program playback time slots are assigned to the program entries according to the order of the video sequence and the video duration of the video files to generate the program list of the cloud disk channel; the program list of the cloud disk channel includes multiple program entries configured with program playback time slots.
[0166] In response to the user's switching operation on the cloud drive channel in the channel list, the system determines the first program item corresponding to the program playback time period of the current system time from the program list of the cloud drive channel, and plays the video file corresponding to the first program item.
[0167] The same or similar parts among the various embodiments in this specification can be referred to mutually, and will not be repeated here.
[0168] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
[0169] For ease of explanation, the above description has been provided in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Various modifications and variations can be obtained based on the above teachings. The selection and description of the above embodiments are for the purpose of better explaining the principles and practical applications, thereby enabling those skilled in the art to better utilize the described embodiments and various different variations of embodiments suitable for specific use considerations.
Claims
1. A display device, characterized in that, include: The communication device is configured to communicate with the cloud disk server. The user's personal cloud disk account in the cloud disk server corresponds to a cloud disk channel in the channel list, so as to play at least one video file stored under the personal cloud disk account in the cloud disk channel. monitor; The controller is configured as follows: Obtain video metadata of at least one video file stored under the personal cloud storage account; the video metadata includes at least the upload time and video duration of the video file; The at least one video file is sorted based on the upload time to obtain a video sequence; The video files in the video sequence are mapped to program entries, and program playback time slots are assigned to the program entries according to the order of the video sequence and the video duration of the video files to generate the program list of the cloud disk channel; the program list of the cloud disk channel includes multiple program entries configured with the program playback time slots. In response to the user's switching operation on the cloud drive channel in the channel list, the system determines the first program entry corresponding to the program playback time period of the current system time from the program list of the cloud drive channel, and controls the display to play the video file corresponding to the first program entry.
2. The display device according to claim 1, characterized in that, The program playback time slot includes the program start time. The controller allocates program playback time slots to the program entries based on the order of the video sequence and the video duration of the video file, specifically configured as follows: Set the program start time of the program entry corresponding to the first video file in the video sequence to the current system time; The program start time of the program entry corresponding to the Nth video file in the video sequence is set to the sum of the program start time of the program entry corresponding to the (N-1)th video file and the video duration of the (N-1)th video file, where N is an integer greater than 1.
3. The display device according to claim 1, characterized in that, After mapping the video files in the video sequence to program entries, the controller is further configured to: Extract the video name and video thumbnail of each video file from the video metadata of each video file; Set a program name for the corresponding program entry based on the video name of each video file; Set a program cover for the corresponding program entry based on the video thumbnail of each video file.
4. The display device according to claim 1, characterized in that, The controller is also configured to: In response to the display command on the EPG page, the display is controlled to display multiple program items in the program list of the cloud disk channel in the EPG page in the form of a timeline, and the display is controlled to display the playback status indicator corresponding to the second program item; The current system time is within the program playback period of the second program entry; The playback status identifier is used to indicate the current playback status; In response to a user's selection command for a third program item in the program list of the cloud drive channel, the display is controlled to play the video file corresponding to the third program item.
5. The display device according to claim 1, characterized in that, After determining the first program item from the program list of the cloud drive channel and controlling the display to play the video file corresponding to the first program item, the controller is further configured to: After the video file corresponding to the first program entry has finished playing, check whether there is a next program entry in the program list of the cloud disk channel after the first program entry. If present, control the display to play the video file corresponding to the next program entry; If it does not exist, control the display to play the video file corresponding to the program item at the top of the program list of the cloud disk channel, or control the display to display the standby screen of the cloud disk channel.
6. The display device according to claim 1, characterized in that, The controller is also configured to: Create a video index database; the video index database is used to store the video metadata of at least one video file stored under the personal cloud storage account; According to a preset synchronization cycle, a request is sent to the cloud disk server to obtain video metadata of at least one video file stored under the personal cloud disk account. The video index database is dynamically updated based on the latest video metadata of the at least one video file fed back by the cloud disk server. The controller obtains video metadata of at least one video file stored under the personal cloud storage account, specifically configured as follows: The video metadata of at least one video file stored under the personal cloud drive account is obtained from the video index database to generate a program list for the cloud drive channel.
7. The display device according to claim 6, characterized in that, The controller is also configured to: After the program list of the cloud drive channel is generated for the first time, the program list of the cloud drive channel is updated in response to changes in the information in the video index database.
8. The display device according to claim 1, characterized in that, The controller is also configured to: After the program list of the cloud drive channel is generated for the first time, a change notification is received from the cloud drive server; the change notification is used to indicate that the video metadata stored under the personal cloud drive account has changed; In response to the change notification, a request is sent to the cloud disk server to obtain video metadata of the at least one video file stored under the personal cloud disk account; The program list of the cloud drive channel is updated based on the latest video metadata of the at least one video file fed back by the cloud drive server.
9. The display device according to claim 1, characterized in that, The controller controls the display to play the video file corresponding to the first program entry, and is also configured to: Send a request to the cloud disk server to obtain the historical playback position of the video file corresponding to the first program entry; If the historical playback position is received from the cloud disk server, the video file corresponding to the first program entry will continue to be played according to the historical playback position. If the historical playback position is not received from the cloud disk server, the video file corresponding to the first program entry will be played according to the starting position.
10. A video playback method, characterized in that, include: Obtain video metadata of at least one video file stored under a user's personal cloud disk account in the cloud disk server; the video metadata includes at least the upload time and video duration of the video file; the personal cloud disk account corresponds to a cloud disk channel in the channel list, so as to play at least one video file stored under the personal cloud disk account in the cloud disk channel; The at least one video file is sorted based on the upload time to obtain a video sequence; The video files in the video sequence are mapped to program entries, and program playback time slots are assigned to the program entries according to the order of the video sequence and the video duration of the video files to generate the program list of the cloud disk channel; the program list of the cloud disk channel includes multiple program entries configured with the program playback time slots. In response to the user's switching operation on the cloud drive channel in the channel list, the system determines the first program entry corresponding to the program playback time period of the current system time from the program list of the cloud drive channel, and plays the video file corresponding to the first program entry.