A method of playing a video in a display device and a display device
By acquiring the playback capabilities and encoding protocols of the display device, and selecting appropriate video data index files and resolutions, the problem of bandwidth waste during video playback on the display device is solved, achieving efficient video data transmission and playback.
Patent Information
- Application Number
- CN202111489716.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-08
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2041-12-08
AI Technical Summary
In existing technologies, when display devices play videos, bandwidth resources are wasted significantly, and the differences in encoding protocols of display devices cannot be effectively utilized, resulting in excessive consumption of network resources.
By acquiring the playback capabilities of the display device, obtaining the corresponding video data index file, selecting an appropriate resolution and encoding protocol for video data transmission, ensuring successful decoding, and reducing bandwidth requirements.
It effectively reduces the bandwidth requirements when acquiring video data, improves the clarity and smoothness of video playback, and avoids wasting bandwidth resources.
Smart Images

Figure CN116248941B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of video playing, and in particular to a video playing method in a display device and the display device. BACKGROUND
[0002] The display device refers to a terminal device capable of outputting a specific display picture, and can be a smart television, a mobile terminal, a smart advertising screen, a projector or the like. Taking the smart television as an example, the smart television is based on Internet application technology, has an open operating system and a chip, has an open application platform, has a bidirectional man-machine interaction function, and integrates a plurality of functions such as audio, video and entertainment, and is used to meet the diversified and personalized needs of users.
[0003] Different applications installed on the display device can provide various entertainment resources for the user, for example, the user can watch video resources provided by a resource provider through a video application. Since the playing capabilities of different display devices have differences, a unified audio and video pushing scheme can cause great waste of bandwidth. SUMMARY
[0004] Some embodiments of the present application provide a video playing method in a display device and the display device, which obtains video data corresponding to the playing capability of the display device from a server, and reduces the bandwidth requirement as much as possible when the video data is obtained.
[0005] In a first aspect, a display device is provided, comprising:
[0006] a display configured to display a user interface, the user interface displaying at least one video control;
[0007] a user interface configured to receive an input signal;
[0008] a controller connected to the display and the user interface, respectively, and configured to perform:
[0009] receive an instruction of selecting the video control, send a first request instruction carrying a device identifier to a server, so that the server issues a playing capability corresponding to the device identifier, wherein the playing capability refers to an encoding protocol supported by the display device; according to the playing capability and a video identifier corresponding to the video control, obtain an index file through the server, the index file corresponding to the playing capability and including a video data address corresponding to at least one resolution of a video corresponding to the video identifier;
[0010] determining a resolution of video data to be played; screening a video data address corresponding to the resolution to be played from the index file; sending a second request instruction carrying the video data address to the server, so that the server issues video data corresponding to the video data address; decoding the video data, and playing the video data whose decoding is successful.
[0011] In some embodiments, the controller is further configured to perform:
[0012] If the decoding of the video data fails, the playing capability of the display device is re-determined, wherein the re-determined playing capability is different from the playing capability requested from the server; and the steps of acquiring the index file from the server according to the playing capability and the video identifier corresponding to the video control are repeatedly performed.
[0013] In some embodiments, the controller is further configured to perform:
[0014] According to the playing capability and the video identifier corresponding to the video control, a resolution list is acquired from the server, wherein the resolutions in the resolution list are the same as the resolutions in the index file;
[0015] When it is identified that the video appears to be played with a pause, a resolution corresponding to the current bandwidth is selected from the resolution list; a video data address corresponding to the selected resolution is found from the index file; a third request instruction carrying the video data address is sent to the server, so that the server issues video data corresponding to the video data address; the video data is decoded, and the video data whose decoding is successful is played.
[0016] In some embodiments, the controller is further configured to perform:
[0017] During the playing of the video, a display instruction of the resolution list is received, and the resolution list is controlled to be displayed;
[0018] A resolution control in the resolution list is selected, a video data address corresponding to the resolution of the resolution control is screened from the index file; a fourth request instruction carrying the video data address is sent to the server, so that the server issues video data corresponding to the video data address; the video data is decoded, and the video data whose decoding is successful is played.
[0019] In some embodiments, the controller is configured to perform the step of acquiring the index file from the server according to the playing capability and the video identifier corresponding to the video control, by performing the following steps:
[0020] sending a sixth request instruction carrying the playing capability and the video identifier corresponding to the video control to the server, so that the server issues an index file address found according to the playing capability and the video identifier; and sending a seventh request instruction carrying the index file address to the server, so that the server issues an index file corresponding to the index file address.
[0021] In some embodiments, before sending the first request instruction to the server, the controller is further configured to perform:
[0022] when displaying the user interface including the video controls, sending a seventh request instruction carrying a video identifier corresponding to the video control to the server, so that the server issues video information corresponding to each video identifier, the video information being used to distinguish self-operated videos from non-self-operated videos;
[0023] receiving an instruction of selecting the video control, and if the video information corresponding to the video control indicates that the video is a self-operated video, performing the step of sending the first request instruction to the server.
[0024] In some embodiments, before sending the first request instruction to the server, the controller is further configured to perform:
[0025] sending a verification request carrying the verification information to the server, so that the server issues a verification result of verifying the display device according to the verification information; and if the verification result is a verification success, performing the step of sending the first request instruction to the server.
[0026] In some embodiments, before sending the first request instruction to the server, the controller is configured to perform:
[0027] when displaying the user interface including the video controls, controlling the browser to send a seventh request instruction carrying a video identifier corresponding to the video control to the server, so that the server issues video information corresponding to each video identifier to the browser;
[0028] receiving an instruction of selecting the video control, controlling the browser to determine whether the video information corresponding to the video control indicates that the video is a self-operated video; if the video information corresponding to the video control indicates that the video is a self-operated video, controlling the browser to notify a download agent by using a browser plug-in, so that the download agent sends a verification request carrying the verification information to the server, and receives a verification result of verifying the display device according to the verification information fed back by the server;
[0029] controlling the download agent to determine whether the verification result is a verification success; if the verification result is a verification success, controlling the download agent to send a first request instruction to the server, so that the server issues the index file address found according to the playing capability and the video identifier; and controlling the download agent to send a seventh request instruction carrying the index file address to the server, so that the server issues an index file corresponding to the index file address.
[0030] In some embodiments, the controller is configured to determine the to-be-played resolution of the to-be-played video data according to the following steps: when the instruction of selecting the video control is received, the to-be-played resolution of the to-be-played video data is a preset resolution, and the preset resolution is a resolution in the index file.
[0031] In a second aspect, a method for playing a video in a display device is provided, which includes:
[0032] receiving an instruction of selecting a video control, sending a first request instruction carrying a device identifier to a server, so that the server issues a playing capability corresponding to the device identifier, wherein the playing capability refers to an encoding protocol supported by the display device; obtaining an index file from the server according to the playing capability and a video identifier corresponding to the video control, wherein the index file includes video data addresses corresponding to at least one resolution of a video corresponding to the video identifier;
[0033] determining a to-be-played resolution of to-be-played video data; screening out a video data address corresponding to the to-be-played resolution from the index file; sending a second request instruction carrying the video data address to the server, so that the server issues video data corresponding to the video data address; decoding the video data, and playing the video data with successful decoding.
[0034] In the above embodiments, a method for playing a video in a display device and the display device are provided, which obtains video data corresponding to a playing capability of the display device from a server, and reduces bandwidth demand as much as possible when the video data is obtained. The method includes: receiving an instruction of selecting a video control, sending a first request instruction carrying a device identifier to a server, so that the server issues a playing capability corresponding to the device identifier, wherein the playing capability refers to an encoding protocol supported by the display device; obtaining an index file from the server according to the playing capability and a video identifier corresponding to the video control, wherein the index file includes video data addresses corresponding to at least one resolution of a video corresponding to the video identifier; determining a to-be-played resolution of to-be-played video data; screening out a video data address corresponding to the to-be-played resolution from the index file; sending a second request instruction carrying the video data address to the server, so that the server issues video data corresponding to the video data address; decoding the video data, and playing the video data with successful decoding. BRIEF DESCRIPTION OF DRAWINGS
[0035] Figure 1 An operating scenario between a display device and a control device according to some embodiments is shown;
[0036] Figure 2 A hardware configuration block diagram of the control device 100 according to some embodiments is shown;
[0037] Figure 3 A hardware configuration block diagram of the display device 200 is shown according to some embodiments;
[0038] Figure 4 A software configuration diagram in the display device 200 is shown according to some embodiments;
[0039] Figure 5 A user interaction diagram of displaying a user interface according to some embodiments is exemplarily shown in FIG. 2;
[0040] Figure 6 A flowchart of a method of playing a video in a display device according to some embodiments is exemplarily shown in FIG. 3;
[0041] Figure 7 A user interaction diagram of displaying a user interface according to some embodiments is exemplarily shown in FIG. 4;
[0042] Figure 8 A flowchart of a method of playing a video in a display device according to some embodiments is exemplarily shown in FIG. 5;
[0043] Figure 9 A user interface diagram according to some embodiments is exemplarily shown in FIG. 6;
[0044] Figure 10 A user interface diagram according to some embodiments is exemplarily shown in FIG. 7;
[0045] Figure 11 A flowchart of a method of playing a video in a display device according to some embodiments is exemplarily shown in FIG. 8. DETAILED DESCRIPTION
[0046] For the purpose of clarity and a thorough understanding of the application, the application will be described in greater detail with reference to the accompanying drawings, wherein the same or similar components are generally designated with the same reference numerals, and wherein:
[0047] It should be noted that the brief description of terms in the present application is only for the convenience of understanding the following described embodiments, and is not intended to limit the embodiments of the present application. Unless otherwise specified, these terms should be understood according to their ordinary and general meanings.
[0048] The terms "first", "second", "third", and the like in the specification and claims of the present application and the above-described drawings are used to distinguish similar or identical objects or entities, and do not necessarily mean a specific order or sequence, unless otherwise noted. It should be understood that the terms used in this way can be interchanged under appropriate circumstances.
[0049] The terms "comprises", "comprising", "includes", "including", "has", "having" and their conjugates, mean that the object or entities listed are included, but not limited to, the clear list of objects or entities, and that other objects or entities not expressly listed are also included, for example, a product or apparatus that comprises a list of components is not necessarily limited to only those components clearly listed, but can include other components not expressly listed or inherent to such product or apparatus.
[0050] The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that can perform the functions related to the element.
[0051] Figure 1 The following shows the operation scenarios between the display device and the control device according to the embodiments. As shown in the figure, the user can operate the display device 200 through the smart device 300 or the control device 100. Figure 1
[0052] In some embodiments, the control device 100 can be a remote controller, and the communication between the remote controller and the display device includes infrared protocol communication or Bluetooth protocol communication, and other short-distance communication methods, to control the display device 200 through wireless or wired means. The user can input user instructions through the keys on the remote controller, voice input, control panel input, etc., to control the display device 200.
[0053] In some embodiments, the smart device 300 (such as a mobile terminal, a tablet computer, a computer, a notebook computer, etc.) can also be used to control the display device 200. For example, the display device 200 is controlled using an application running on the smart device.
[0054] In some embodiments, the display device 200 can also be controlled in ways other than the control device 100 and the smart device 300, for example, the user's voice instructions can be directly received by the voice instruction acquisition module configured inside the display device 200, or the user's voice instructions can be received through a voice control device set outside the display device 200.
[0055] In some embodiments, the display device 200 also communicates data with the server 400. The display device 200 can be allowed to communicate through a local area network (LAN), a wireless local area network (WLAN), and other networks. The server 400 can provide various content and interactions to the display device 200. The server 400 can be a cluster, or multiple clusters, and can include one or more types of servers.
[0056] Figure 2 The following shows an exemplary configuration block diagram of the control device 100 according to the exemplary embodiments. As shown in the figure, Figure 2 As shown, the control device 100 includes a controller 110, a communication interface 130, a user input / output interface 140, a memory, a power supply. The control device 100 can receive the input operation instruction of the user, and convert the operation instruction into an instruction that the display device 200 can recognize and respond to, and play a role of an intermediary in the interaction between the user and the display device 200.
[0057] Figure 3 A hardware configuration block diagram of the display device 200 according to an exemplary embodiment is shown.
[0058] In some embodiments, the display device 200 includes at least one of a tuner and demodulator 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a user interface.
[0059] In some embodiments, the controller includes a processor, a video processor, an audio processor, a graphics processor, a RAM, a ROM, a first interface to an n-th interface for input / output.
[0060] In some embodiments, the display 260 includes a display screen component for presenting a picture, and a driving component for driving the image display, a component for receiving an image signal originating from the output of the controller, and a component for displaying video content, image content, and a menu control interface, and a user control UI interface.
[0061] In some embodiments, the display 260 can be a liquid crystal display, an OLED display, and a projection display, and can also be a projection device and a projection screen.
[0062] In some embodiments, the communicator 220 is a component for communicating with external devices or servers according to various communication protocol types. For example, the communicator can include at least one of a Wifi module, a Bluetooth module, a wired Ethernet module, and other network communication protocol chips or near field communication protocol chips, and an infrared receiver. The display device 200 can establish transmission and reception of control signals and data signals with the external control device 100 or the server 400 through the communicator 220.
[0063] In some embodiments, the user interface can be used to receive control signals of the control device 100 (such as an infrared remote control, etc.).
[0064] In some embodiments, the detector 230 is configured to collect signals of the external environment or the interaction with the external environment. For example, the detector 230 includes a light receiver configured to collect the intensity of ambient light, or the detector 230 includes an image collector, such as a camera, configured to collect the scene of the external environment, the attribute of the user, or the gesture of the user interaction, or the detector 230 includes a sound collector, such as a microphone, configured to receive the external sound.
[0065] In some embodiments, the external device interface 240 can include, but is not limited to, any one or more of a high-definition multimedia interface (HDMI), an analog or digital high-definition component input interface (component), a composite video input interface (CVBS), a USB input interface (USB), an RGB port, etc. The input / output interface can also be a composite interface formed by a plurality of the above interfaces.
[0066] In some embodiments, the tuner and demodulator 210 receives broadcast television signals through wired or wireless reception, and demodulates audio / video signals, such as EPG data signals, from a plurality of wireless or wired broadcast television signals.
[0067] In some embodiments, the controller 250 and the tuner and demodulator 210 can be located in different separate devices, i.e., the tuner and demodulator 210 can also be located in an external device of the main device where the controller 250 is located, such as an external set-top box, etc.
[0068] In some embodiments, the controller 250 controls the operation of the display device and responds to the user's operation by storing various software control programs in the memory. The controller 250 controls the overall operation of the display device 200. For example, in response to receiving a user command for selecting a UI object displayed on the display 260, the controller 250 can perform an operation related to the object selected by the user command.
[0069] In some embodiments, the object can be any one of selectable objects, such as a hyperlink, an icon, or other operable control. The operation related to the selected object includes an operation of displaying a page connected to a hyperlink, a document, an image, etc., or an operation of executing a program corresponding to the icon.
[0070] In some embodiments, the controller includes at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processing unit (GPU), a RAM (Random Access Memory), a ROM (Read-Only Memory), a first interface to an n-th interface for input / output, a communication bus, etc.
[0071] CPU processor. For executing operating system and application program instructions stored in memory, and according to receiving various interactive instructions of external input, to execute various application programs, data and content, so as to finally display and play various audio and video content. CPU processor, can include multiple processors. As, including a main processor and one or more sub-processors.
[0072] In some embodiments, the graphics processor, for generating various graphical objects, such as: icons, operation menu, and user input instruction display graphics, etc. The graphics processor includes an operator, which operates by receiving various interactive instructions of user input, and displays various objects according to display attributes; also includes a renderer, which renders various objects based on the operator, and the above rendered objects are used for display on the display.
[0073] In some embodiments, the video processor, for receiving external video signals, according to the standard encoding and decoding protocol of input signal, to carry out video processing such as decompression, decoding, scaling, noise reduction, frame rate conversion, resolution conversion, image synthesis, etc., which can obtain signals directly displayable on the device 200.
[0074] In some embodiments, the video processor includes a demultiplexing module, a video decoding module, an image synthesizer, a frame rate conversion module, a display formatting module, etc. The demultiplexing module is used for demultiplexing processing of input audio and video data stream. The video decoding module is used for processing of video signals after demultiplexing, including decoding and scaling processing, etc. The image synthesizer is used for superimposed mixing processing of GUI signals generated by the graphics generator according to user input or itself, and video images after scaling processing, to generate image signals available for display. The frame rate conversion module is used for converting input video frame rate. The display formatting module is used for changing received video output signals after frame rate conversion to signals conforming to display format, such as outputting RGB data signals.
[0075] In some embodiments, the audio processor is used for receiving external audio signals, according to the standard encoding and decoding protocol of input signal, to carry out processing such as decompression and decoding, noise reduction, digital-to-analog conversion, and amplification processing, etc., to obtain sound signals playable in the loudspeaker.
[0076] In some embodiments, the user can display the graphical user interface (GUI) on the display 260 to input user commands, and then the user input interface receives the user input commands through the graphical user interface (GUI). Alternatively, the user can input user commands by inputting specific sound or gesture, and then the user input interface receives the user input commands by identifying the sound or gesture through the sensor.
[0077] In some embodiments, a "user interface" is a medium interface for interaction and information exchange between an application program or an operating system and a user, which realizes the conversion between the internal form of information and the form that the user can accept. The commonly used form of the user interface is a graphic user interface (GUI), which refers to a user interface related to computer operation displayed in a graphical manner. It can be an icon, a window, a control, etc. interface element displayed in the display screen of an electronic device, wherein the control can include an icon, a button, a menu, a tab, a text box, a dialog box, a status bar, a navigation bar, a widget, etc. visual interface element.
[0078] In some embodiments, the system of the display device can include a kernel, a shell, a file system and an application program. The kernel, the shell and the file system together constitute a basic operating system structure, which allows the user to manage files, run programs and use the system. After power-on, the kernel starts, activates the kernel space, abstracts hardware, initializes hardware parameters, etc., runs and maintains virtual memory, scheduler, signals and inter-process communication (IPC). After the kernel starts, the shell and the user application program are loaded. The application program is compiled into machine code after starting, forming a process.
[0079] As shown in Figure 4 , the system of the display device can include a kernel, a shell, a file system and an application program. The kernel, the shell and the file system together constitute a basic operating system structure, which allows the user to manage files, run programs and use the system. After power-on, the kernel starts, activates the kernel space, abstracts hardware, initializes hardware parameters, etc., runs and maintains virtual memory, scheduler, signals and inter-process communication (IPC). After the kernel starts, the shell and the user application program are loaded. The application program is compiled into machine code after starting, forming a process.
[0080] As shown in Figure 4 , the system of the display device is divided into three layers from top to bottom, namely an application layer, a middleware layer and a hardware layer.
[0081] The application layer mainly includes common applications on the television and an application framework. The common applications are mainly applications developed based on a browser, such as HTML5 APPs, and native applications (Native APPs);
[0082] An application framework is a complete program model that has all the basic functions required by standard application software, such as file access, data exchange, etc., as well as the user interface for these functions (toolbar, status bar, menu, dialog box).
[0083] Native apps can support online or offline access, push notifications, or access to local resources.
[0084] The middleware layer includes various television protocols, multimedia protocols, and system components. Middleware can use the basic services (functions) provided by system software to connect different parts of application systems or different applications on the network, achieving resource sharing and function sharing.
[0085] The hardware layer mainly includes the HAL interface, hardware, and drivers. The HAL interface is a unified interface for all TV chips, with the specific logic implemented by each chip. The drivers mainly include: audio drivers, display drivers, Bluetooth drivers, camera drivers, Wi-Fi drivers, USB drivers, HDMI drivers, sensor drivers (such as fingerprint sensors, temperature sensors, pressure sensors, etc.), and power drivers.
[0086] In this embodiment, the display device can play video data. When a video control is displayed on the user interface, the user can select the video control using a control device, causing the display device to play the video data corresponding to the video control.
[0087] For example, such as Figure 5 As shown in ①, the user moves the focus to the video A control (with a thickened border) using the control device and presses the confirmation button on the control device to generate a command to select the video control. The user interface then jumps to the following... Figure 5 The user interface is shown in ②. It should be noted that in this embodiment, moving the focus to a control can thicken the control's border. Alternatively, other forms can be used to indicate that the control is selected. For example, when the focus moves to a control, the control can change its shape, such as from a square to a circle. Alternatively, when a control is selected, it can be enlarged according to a preset ratio. For instance, if the display area of video controls on the user interface is the same, when a control is selected, its display area increases by 1.2 times compared to the original control's display area. Since this application does not restrict the shape of the control when the focus is on it, other forms that facilitate user identification of selected video controls are acceptable.
[0088] Before playing the video data corresponding to the video control on the user interface, the corresponding video data needs to be obtained from the server. Since the same audio and video pushing scheme is currently used when sending video data from the server to the display device, a lot of bandwidth may be wasted, because the same audio and video pushing scheme is used without considering the difference in the playing capability of the display device. If the currently used display device can support the H.265 encoding protocol, the H.265 encoding protocol has a higher compression ratio than the H264 encoding protocol, and in the case of the same bandwidth, a higher definition video can be played. In the related art, in order to ensure the usability of old display device models, the same scheme of pushing video data of the H.264 encoding protocol is still used, which causes a lot of network resource consumption and waste of network resources.
[0089] It should be noted that H.264 is an abbreviation of MPEG-4 AVC (Advanced Video Codec). H.264 and H.265 are both video compression standards and are also widely used high-precision video recording, compression and publishing formats. H.265 (HEVC, High Efficiency Video Coding) is a new generation of video coding technology. It retains some technologies of the existing video coding standard H.264 and uses new technologies to improve and optimize some aspects. The new technology uses advanced techniques to improve the relationship between code stream, encoding quality, delay and algorithm complexity to achieve optimal settings. Specific contents include: improving compression efficiency, improving robustness and error recovery capability, reducing real-time delay, reducing channel acquisition time and random access delay, and reducing complexity. The core advantage of H.265 is that it can significantly reduce the compression code rate under the same image quality compared to previous generations of standards. In terms of objective effect improvement, according to the test, H.265 reduces the code rate by about half at 1080P resolution, and the higher the resolution, the more significant the advantage.
[0090] To solve the above technical problems, the embodiments of the present application provide a method for playing a video in a display device, which obtains video data corresponding to the playing capability of the display device from a server to reduce the bandwidth required when obtaining the video data as much as possible. The method, as shown in Figure 6 includes:
[0091] When at least one video control is displayed on the user interface, a command for selecting the video control is received, and a first request command carrying a device identifier is sent to the server.
[0092] In the embodiments of the present application, there are many scenarios in which the user interface displays video controls, for example, when the display device is powered on, the home application of the display device is started, the display device displays the user interface of the home application, and the user interface displays video controls. The video corresponding to the video controls can be a movie, a TV series, etc. The user can select the video controls through the control device.
[0093] In addition, the user interface can also display video controls in other scenarios, for example, the second-level page of the home application can also display video controls. The first-level page of the home application displays column categories, including a movie column and a TV series column. There are movie category controls and TV category controls. When the user selects the movie category controls, the user interface jumps to the second-level page corresponding to the movie category controls. The second-level page includes a plurality of video controls, and each video control corresponds to a movie. Figure 7 As shown in FIG. 1, the first-level page displays TV category controls, movie category controls, and cartoon category controls. The user can move the focus to the movie category controls and press the confirmation key on the control device. The user interface jumps to the second-level page as shown in FIG. 2. Figure 7 As shown in FIG. 2, the second-level page displays a plurality of movie controls. The user can move the focus to the movie A controls and play the movie corresponding to the movie A controls.
[0094] In the embodiments of the present application, the device identifier corresponds to the display device, and the display device has a unique device identifier. The present application does not limit the specific form of the device identifier. For example, the device identifier can include one or more of numbers, letters, and symbols.
[0095] The server receives the first request instruction sent by the display device and carrying the device identifier, and finds the playing capability corresponding to the display device according to the device identifier. The playing capability refers to the encoding protocol supported by the display device, which can be H.264 or H.265.
[0096] In some embodiments, the server itself stores a storage list of device identifiers and playing capabilities. Of course, the device identifier and the playing capability can also not be stored in the form of a list, which is not limited herein. When receiving the first request instruction, the server filters the playing capability corresponding to the same device identifier as the device identifier in the first request instruction from the storage list. The storage list is shown in Table 1. The device identifier carried by the first request instruction is 001, and the playing capability found by the server at this time is H.264.
[0097] Table 1
[0098] Device identification Playability 001 H.264 002 H.265 003 H.265
[0099] In some other embodiments, the storage list is not stored in the server, but is stored in a storage device connected to the server, and the storage device stores the storage list of the device identifiers and the playing capabilities. When the server receives the first request instruction, the storage device is searched to find the playing capability corresponding to the device identifier in the first request instruction.
[0100] After the server finds the playing capability of the display device, the server sends the playing capability to the display device. The display device acquires the index file from the server according to the playing capability and the video identifier corresponding to the video control.
[0101] In the embodiments of the present application, the number of index files of each video is determined according to the number of types of playing capabilities. For example, the playing capability of all display devices currently supports H.265 or H.264, and the number of types of playing capabilities is two. In this case, there are two index files for each video, one of which corresponds to the playing capability supporting H.265, and the other of which corresponds to the playing capability supporting H.264. Each index file contains video data addresses of different resolutions. For example, index file A contains a video data address A of 720P resolution under H.265 encoding protocol and a video data address B of 1080P resolution under H.265 encoding protocol, and index file B contains a video data address C of 720P resolution under H.264 encoding protocol and a video data address D of 1080P resolution under H.264 encoding protocol. In some embodiments, the index file is stored in the server. In some other embodiments, the index file is stored in the storage device, and the server finds the corresponding index file from the storage device and sends it to the display device.
[0102] In some embodiments, the step of acquiring the index file from the server according to the playing capability and the video identifier corresponding to the video control comprises the following steps: finding all index files of the corresponding video according to the video identifier, and then determining a unique index file according to the playing capability.
[0103] In some embodiments, the index file corresponds to an index file address, and the index file address corresponds to the video identifier and the playing capability one by one. The server no longer directly searches for the index file according to the video identifier and the playing capability, but searches for the corresponding index file address, and then searches for the corresponding index file according to the index file address.
[0104] In some other embodiments, the step of acquiring the index file from the server according to the playing capability and the video identifier corresponding to the video control comprises the following steps: Figure 8The method further includes: sending a sixth request instruction carrying a playing capability and a video identifier corresponding to a video control to the server, so that the server issues an index file address found according to the playing capability and the video identifier; and sending a seventh request instruction carrying the index file address to the server, so that the server issues an index file corresponding to the index file address.
[0105] In some embodiments, the method further includes determining a to-be-played resolution of the to-be-played video data. In some embodiments, when the instruction of selecting the video control is received, the to-be-played resolution of the to-be-played video data is a preset resolution, and the preset resolution is one of resolutions in the index file. When a user watches a video by using a display device, the user selects a video control corresponding to a video desired to be watched by using a control device, and the preset resolution is used to play the video when the video is played. For example, the preset resolution can be 720P.
[0106] The method further includes screening a video data address corresponding to the to-be-played resolution from the index file. In an embodiment of the application, the index file includes resolutions and video data addresses corresponding to the resolutions, and the video data address corresponding to the to-be-played resolution is found from the index file.
[0107] The method further includes sending a second request instruction carrying the video data address to the server, and the server receives the second request instruction and issues video data corresponding to the video data address to the display device. In an embodiment of the application, the video data address is found from the index file corresponding to the playing capability of the display device, and the video data corresponding to the video data address meets the playing capability of the display device. For example, the display device supports an H.265 encoding protocol, and in this embodiment, the index file corresponds to the encoding protocol, and the video data corresponding to the video data address in the index file corresponds to the encoding protocol. Therefore, the video data received by the display device can be video data under the H.265 encoding protocol. The H.265 encoding protocol has a higher compression ratio than the H264 encoding protocol, and in the case of the same bandwidth, the video can be played in a higher definition. Therefore, the video data transmitted can reduce the occupation of network resources as much as possible while still being able to see clear video. Through this adaptive capability, bandwidth waste caused by improving compatibility can be avoided. If the display device supports the H.265 encoding protocol, and the server still issues video data under the H.264 encoding protocol, and the H.264 encoding protocol video data has a low compression ratio. Therefore, the problem that the video data cannot be used for improving bandwidth utilization can occur.
[0108] The display device decodes the video data and plays the decoded video data. In the embodiment of the present application, the video data found by the server is encoded data encoded according to the playing capability. After the encoded video data is sent from the server to the display device, the display device decodes the video data and plays the decoded video data.
[0109] In the decoding process, the display device can fail to decode. This is because when the server fails to successfully find the playing capability of the display device, the playing capability sent to the display device can be null. When the display device receives the playing capability as null, the playing capability is automatically assigned a value. For example, the display device assigns the playing capability as H.265. The display device acquires an index file from the server according to the assigned playing capability and the video identifier corresponding to the video control. It can be understood that the acquired index file corresponds to the H.265 encoding protocol. Finally, the video data sent by the server to the display device is video data under the H.265 encoding protocol. The playing capability of different display devices can be different. At this time, the display device can support the H.264 encoding protocol but not the H.265 encoding protocol, and thus the decoding fails.
[0110] In the embodiment of the present application, if the decoding of the video data fails, the playing capability of the display device is re-determined. The re-determined playing capability is different from the playing capability requested from the server. For example, the playing capability includes two types, one is to support the H.265 encoding protocol, and the other is to support the H.264 encoding protocol. At this time, the playing capability is automatically assigned from the H.265 encoding protocol to the H.264 encoding protocol, and then the step of acquiring an index file from the server according to the playing capability and the video identifier corresponding to the video control is repeatedly executed. At this time, the acquired index file corresponds to the H.264 encoding protocol. The display device can find the video data address from the index file corresponding to the H.264 encoding protocol. At this time, the video data corresponding to the video data address acquired from the server is video data under the H.264 encoding protocol, and the display device can decode successfully.
[0111] In this way, when the video data sent by the server to the display device cannot be decoded, the user can also watch the video corresponding to the video control. When the sent video data is video data under the H.265 encoding protocol and the display device cannot decode successfully, the H.264 encoding protocol video data is acquired through the above operation, so that the display device can normally decode and play. In this way, the compression ratio of the H.265 encoding can be maximized, and the bandwidth can be fully utilized. Only in the case of not supporting, the request for downloading the audio and video of the H.264 playing capability is re-initiated.
[0112] In some embodiments, the method further comprises: obtaining a resolution list from the server according to the playing capability and the video identifier corresponding to the video control, wherein the resolutions in the resolution list are the same as the resolutions in the index file.
[0113] In the embodiments of the present application, the resolution list is also downloaded from the server, and when it is identified that the video is playing with lag, a resolution corresponding to the current bandwidth is selected from the resolution list. For example, the identification of the video playing with lag can be completed by the browser installed in the display device. When the video is playing with lag, the bandwidth of the current network is determined, the resolution of the playing video is determined according to the current bandwidth, and the resolution of the playing video needs to be reduced at this time. In the embodiments of the present application, the method of determining the corresponding resolution according to the bandwidth includes various methods, which will not be described here.
[0114] The video data address corresponding to the resolution selected according to the bandwidth is found from the index file; a third request instruction carrying the video data address is sent to the server, and the server issues the video data corresponding to the video data address according to the third request instruction. The display device decodes the video data and plays the decoded video data. In the embodiments of the present application, when the video is playing with lag, the corresponding resolution is adaptively selected according to the bandwidth, and the video data address corresponding to the resolution is found from the index file. In this way, the video data is reacquired according to the video data address, and the reacquired video data is played. Since the resolution of the video data is low, the bandwidth occupied is small, and the video can be played smoothly.
[0115] In some embodiments, during the video playing process, a display instruction of the resolution list is received, and the resolution list is controlled to be displayed. For example, as shown in Figure 9 , in Figure 9 , the user interface displays that the resolution of the currently playing video data is high definition. The user can use the control device to move the focus to the resolution control, i.e., the “high definition” control (the frame is thickened), and press the confirmation key on the control device to generate a display instruction of the resolution list. When the display instruction of the resolution list is received, the resolution list is controlled to be displayed on the user interface, as shown in Figure 10 , the resolution list includes a smooth control, a clear control, a 720P control and a 1080P control. In some embodiments, the resolution corresponding to the smooth control is 240P, and the resolution corresponding to the clear control is 360P.
[0116] In some embodiments, the resolution list displayed on the user interface is determined according to the highest displayable resolution of the display device. When the highest resolution in the resolution list sent by the server is 4k, and the highest displayable resolution of the display device is 2k, the highest resolution of the resolution list displayed on the user interface is determined to be 2k. The process of determining the resolution list displayed on the user interface can be completed in the server or in the display device. When it is completed in the server, the highest displayable resolution of the display device is sent to the server, and the server processes the stored resolution list according to the highest displayable resolution. After deleting the content higher than the highest displayable resolution, the resolution list is sent to the display device for display. When it is completed in the display device, the unprocessed resolution list sent by the server is sent to the display device, and compared with the highest displayable resolution of the display device. After deleting the content higher than the highest displayable resolution, the resolution list is displayed on the user interface.
[0117] For example, in the above embodiment, the user moves the focus to the 720P control through the keys on the control device, and presses the confirmation key on the control device. At this time, the instruction of selecting the resolution control in the resolution list is generated, the video data address corresponding to the resolution 720P is screened out in the index file, sent to the server, and the video data corresponding to the video data address is sent by the server. The video data is played after being successfully decoded, and the resolution of the video data is 720P. Figure 10 In some embodiments, the resolution list including the resolution control further includes a cancel control. When the user selects the cancel control through the keys on the control device, the resolution list is controlled to no longer be displayed.
[0118] In some embodiments, the resolution list displayed on the user interface is determined according to the highest displayable resolution of the display device. When the highest resolution in the resolution list sent by the server is 4k, and the highest displayable resolution of the display device is 2k, the highest resolution of the resolution list displayed on the user interface is determined to be 2k. The process of determining the resolution list displayed on the user interface can be completed in the server or in the display device. When it is completed in the server, the highest displayable resolution of the display device is sent to the server, and the server processes the stored resolution list according to the highest displayable resolution. After deleting the content higher than the highest displayable resolution, the resolution list is sent to the display device for display. When it is completed in the display device, the unprocessed resolution list sent by the server is sent to the display device, and compared with the highest displayable resolution of the display device. After deleting the content higher than the highest displayable resolution, the resolution list is displayed on the user interface.
[0119] Since the embodiment of the present application involves the index file, the index file includes the resolution and the video data address corresponding to the resolution. The video data corresponding to the video data address is made from the original video data according to different resolutions and the playing ability of the display device. For self-operated videos, the video data can be made according to different resolutions and the playing ability, but for non-self-operated videos, the video data cannot be made. In some embodiments, before the first request instruction is sent to the server, it is judged whether the video corresponding to the selected video control is a self-operated video, and the method further includes:
[0120] When the user interface including the video control is displayed, a seventh request instruction carrying a video identification corresponding to the video control is sent to the server, so that the server issues video information corresponding to each video identification, and the video information is used to distinguish self-operated videos and non-self-operated videos. In the embodiment of the application, when the video control is displayed, the video information corresponding to all video controls on the user interface is obtained from the server. The video identification is used to indicate a video, and each video has a unique video identification. The instruction of selecting the video control is received, and if the video information corresponding to the video control indicates that the video is a self-operated video, the step of sending the first request instruction to the server is executed.
[0121] In the embodiment of the application, when the instruction of selecting the video control is received, the video information corresponding to the video control is filtered from the video information obtained from the server. If the video information indicates that the video is a self-operated video, it is indicated that the video has a corresponding index file. If the video information indicates that the video is a non-self-operated video, it is indicated that the video does not have a corresponding index file. Therefore, it is meaningless to send the first request instruction to the server to perform subsequent operations. Therefore, when the video information indicates that the video is a non-self-operated video, a video data request carrying the video identification is sent to the server. The server receives the request and issues the video data, and the step of sending the first request instruction to the server is not performed.
[0122] In some embodiments, before the first request instruction is sent to the server, it is judged whether the display device can execute the method in the embodiment of the application. The method further includes sending a verification request carrying verification information to the server, and the server issues a verification result obtained by verifying the display device according to the verification information. If the verification result is verification success, the step of sending the first request instruction to the server is executed. In the embodiment of the application, the verification information is a KEY value. The KEY value is used to verify whether the display device can execute the method in the embodiment of the application. Specifically, when the verification is successful, the first request instruction is sent to the server. If the verification fails, the first request instruction is not sent to the server.
[0123] In some embodiments, the display device further comprises a browser, a TV middleware and a download agent, the browser is responsible for foreground display page, streaming download and video playback control, etc. In case of playback problem caused by decoding failure, the browser application needs to be able to retry playback. The browser plug-in provides an interface for the download agent, such as reporting the playback capability of the TV platform, receiving resolution, starting / stopping download, etc. The TV middleware provides information such as software / hardware version and device identification of the TV platform. The download agent is responsible for stream download and encoding, etc. It can report the device identification according to the device identification provided by the browser. It can generate streams of different resolutions and different encodings according to the playback capability of the display device provided by the server. The server provides the playback capability corresponding to the TV platform and provides streaming service.
[0124] In some embodiments, before sending the first request instruction to the server, the method further comprises: Figure 11
[0125] When displaying the user interface comprising the video control, the browser is controlled to send a seventh request instruction carrying a video identifier corresponding to the video control to the server, so that the server sends video information corresponding to each video identifier to the browser.
[0126] The instruction of selecting the video control is received, and the browser is controlled to determine whether the video information corresponding to the video control indicates that the video is a self-operated video. If the video information corresponding to the video control indicates that the video is a self-operated video, the browser is controlled to notify the download agent by using the browser plug-in, so that the download agent sends a verification request carrying verification information to the server, and receives a verification result of verifying the display device according to the verification information fed back by the server.
[0127] The download agent is controlled to determine whether the verification result is verification success. If the verification result is verification success, the download agent is controlled to send a get request to the TV middleware, so that the TV middleware feeds back the device identification. The download agent is controlled to execute the step of sending the first request instruction to the server.
[0128] It should be noted that the order of the verification information verification step and the step of obtaining the video information in the embodiments of the present application can not be in sequence, or the display device can be verified first, and then the video information is obtained when the verification is successful.
[0129] In the embodiment, the download agent receives the playing capability sent by the server according to the first request instruction, and acquires the index file through the server according to the video identifier and the playing capability. The download agent determines the to-be-played resolution of the to-be-played video data, searches the corresponding video data address in the index file, sends the second request instruction carrying the video data address to the server, the server issues the corresponding video data, the browser decodes the video data, and if the decoding is successful, the decoded video data is played.
[0130] In the above embodiments, a playing method of a video in a display device and the display device, the method acquires video data corresponding to the playing capability of the display device from a server, and reduces the bandwidth requirement as much as possible when acquiring the video data. The method comprises: receiving an instruction of selecting a video control, sending a first request instruction carrying a device identifier to a server, so that the server issues a playing capability corresponding to the device identifier, wherein the playing capability refers to an encoding protocol supported by the display device; acquiring an index file through the server according to the playing capability and a video identifier corresponding to the video control, wherein the index file comprises a video data address corresponding to at least one resolution of a video corresponding to the video identifier; determining a to-be-played resolution of to-be-played video data; screening out a video data address corresponding to the to-be-played resolution in the index file; sending a second request instruction carrying the video data address to the server, so that the server issues video data corresponding to the video data address; decoding the video data, and playing the video data whose decoding is successful.
[0131] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, but not to limit them; although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that: they can still modify the technical solutions recorded in the above embodiments, or make equivalent replacement for part or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.
[0132] In order to facilitate explanation, the above description has been made in combination with specific embodiments. However, the above exemplary discussion is not intended to exhaust or limit the embodiments to the specific forms disclosed above. Various modifications and variations can be derived according to the above teachings. The selection and description of the above embodiments are to better explain the principles and practical applications, so that those skilled in the art can better use the embodiments and various different modified embodiments suitable for specific use considerations.
Claims
1. A display device, characterized in that, include: A display for showing a user interface, wherein at least one video control is displayed on the user interface; User interface, used to receive input signals; A controller connected to both a display and a user interface, the controller running a browser, TV middleware, and a download agent, the controller being used to perform: When the user interface is displayed on the screen, the browser is controlled to obtain video information corresponding to the video identifier from the server based on the video identifier corresponding to the video control. The video information is used to distinguish between self-operated videos and non-self-operated videos. The browser receives an instruction to select the first video control corresponding to the first video and controls the browser to determine whether the first video is a self-operated video based on the video information of the first video. If it is determined that the first video is not a self-operated video, then the download agent is controlled to obtain the video data of the first video from the server based on the video identifier of the first video; If it is determined that the first video is a self-operated video, the browser is controlled to use a browser plugin to notify the download agent, so that the download agent sends a verification request containing verification information to the server and receives the verification result obtained by the server after verifying the display device based on the verification information. If the verification result is successful, the download agent is controlled to send an acquisition request to the TV middleware, so that the TV middleware returns the device identifier. The download agent is controlled to send a first request instruction containing the device identifier to the server, so that the server issues the playback capability corresponding to the device identifier, wherein the playback capability refers to the encoding protocol supported by the display device; the download agent is controlled to obtain an index file from the server according to the playback capability and the video identifier corresponding to the first video; the index file corresponds to the playback capability and includes the video data address corresponding to at least one resolution of the first video; The download agent is controlled to determine the playback resolution of the first video and filter out the first video data address corresponding to the playback resolution in the index file; the download agent is controlled to send a second request instruction containing the first video data address to the server, so that the server sends the first video data corresponding to the first video data address; the first video data is decoded and the successfully decoded first video data is played.
2. The display device according to claim 1, characterized in that, The controller is also used to perform: If decoding the video data fails, the playback capability of the display device is re-determined, wherein the re-determined playback capability is different from the playback capability requested from the server; the step of obtaining the index file from the server based on the playback capability and the video identifier corresponding to the first video is repeated.
3. The display device according to claim 1, characterized in that, The controller is also used to perform: Based on the playback capability and the video identifier corresponding to the first video, a resolution list is obtained from the server, wherein the resolutions in the resolution list are the same as the resolutions in the index file; When playback stuttering is detected in the first video, a resolution corresponding to the current bandwidth is selected from the resolution list; The system retrieves the second video data address corresponding to the selected resolution from the index file; sends a third request instruction containing the second video data address to the server, so that the server sends the second video data corresponding to the second video data address; decodes the second video data and plays the successfully decoded second video data.
4. The display device according to claim 3, characterized in that, The controller is also used to perform: During the playback of the first video, a display instruction for the resolution list is received, and the display of the resolution list is controlled. The system receives an instruction to select a first resolution control in the resolution list, filters out a third video data address corresponding to the resolution of the first resolution control from the index file, sends a fourth request instruction containing the third video data address to the server, so that the server sends the third video data corresponding to the third video data address, decodes the third video data, and plays the successfully decoded third video data.
5. The display device according to claim 1, characterized in that, The controller is configured to perform the following steps: Obtain an index file from the server based on the playback capability and the video identifier corresponding to the first video: A sixth request instruction containing playback capabilities and the video identifier of the first video is sent to the server, so that the server issues the address of the index file found based on the playback capabilities and the video identifier of the first video; a seventh request instruction containing the address of the index file is sent to the server, so that the server issues the index file corresponding to the address of the index file.
6. The display device according to claim 1, characterized in that, The controller is configured to determine the playback resolution of the first video by performing the following steps: When an instruction to select the first video control is received, the resolution to be played is determined to be a preset resolution, which is the resolution in the index file.
7. A method for playing video on a display device, characterized in that, include: When a display device displays a user interface containing at least one video control, the browser is controlled to obtain video information corresponding to the video identifier from the server based on the video identifier corresponding to the video control. The video information is used to distinguish between self-operated videos and non-self-operated videos. The browser receives an instruction to select the first video control corresponding to the first video and controls the browser to determine whether the first video is a self-operated video based on the video information of the first video. If it is determined that the first video is not a self-operated video, the download agent is controlled to obtain the video data of the first video from the server based on the video identifier of the first video; If it is determined that the first video is a self-operated video, the browser is controlled to use a browser plugin to notify the download agent, so that the download agent sends a verification request containing verification information to the server and receives the verification result obtained by the server after verifying the display device based on the verification information. If the verification result is successful, the download agent is controlled to send an acquisition request to the TV middleware, so that the TV middleware returns the device identifier. The download agent is controlled to send a first request instruction containing the device identifier to the server, so that the server issues the playback capability corresponding to the device identifier, wherein the playback capability refers to the encoding protocol supported by the display device; the download agent is controlled to obtain an index file from the server according to the playback capability and the video identifier corresponding to the first video; the index file corresponds to the playback capability and includes the video data address corresponding to at least one resolution of the first video; The download agent is controlled to determine the playback resolution of the first video and filter out the first video data address corresponding to the playback resolution in the index file; the download agent is controlled to send a second request instruction containing the first video data address to the server, so that the server sends the first video data corresponding to the first video data address; the first video data is decoded and the successfully decoded first video data is played.
Citation Information
Patent Citations
Method and device for selectively playing code rate content
CN103269331A
Video playing method and equipment
CN104702976A
Method and device for obtaining video data, electronic device and storage medium
CN110113669A
Audio and video playing method and device, electronic equipment and storage medium
CN110677727A