Detailed Description
For the purposes of making the objects and embodiments of the present application more apparent, an exemplary embodiment of the present application will be described in detail below with reference to the accompanying drawings in which exemplary embodiments of the present application are illustrated, it being apparent that the exemplary embodiments described are only some, but not all, of the embodiments of the present application.
It should be noted that the brief description of the terminology in the present application is for the purpose of facilitating understanding of the embodiments described below only and is not intended to limit the embodiments of the present application. Unless otherwise indicated, these terms should be construed in their ordinary and customary meaning.
The terms first, second, third and the like in the description and in the claims and in the above-described figures are used for distinguishing between similar or similar objects or entities and not necessarily for describing a particular sequential or chronological order, unless otherwise indicated. It is to be understood that the terms so used are interchangeable under appropriate circumstances.
The terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a product or apparatus that comprises a list of elements is not necessarily limited to all elements explicitly listed, but may include other elements not expressly listed or inherent to such product or apparatus.
The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware or/and software code that is capable of performing the function associated with that element.
Fig. 1 is a schematic diagram of a usage scenario of a display device according to an embodiment. As shown in fig. 1, the display device 200 is also in data communication with a server 400, and a user can operate the display device 200 through the smart device 300 or the control apparatus 100.
In some embodiments, the control apparatus 100 may be a remote controller, and the communication between the remote controller and the display device includes at least one of infrared protocol communication or bluetooth protocol communication, and other short-range communication modes, and the display device 200 is controlled by a wireless or wired mode. The user may control the display apparatus 200 by inputting a user instruction through at least one of a key on a remote controller, a voice input, a control panel input, and the like.
In some embodiments, the smart device 300 may include any one of a mobile terminal, tablet, computer, notebook, AR/VR device, etc.
In some embodiments, the smart device 300 may also be used to control the display device 200. For example, the display device 200 is controlled using an application running on a smart device.
In some embodiments, the smart device 300 and the display device may also be used for communication of data.
In some embodiments, the display device 200 may also perform control in a manner other than the control apparatus 100 and the smart device 300, for example, the voice command control of the user may be directly received through a module configured inside the display device 200 device for acquiring voice commands, or the voice command control of the user may be received through a voice control apparatus configured outside the display device 200 device.
In some embodiments, the display device 200 is also in data communication with a server 400. The display device 200 may be permitted to make communication connections via a Local Area Network (LAN), a Wireless Local Area Network (WLAN), and other networks. The server 400 may provide various contents and interactions to the display device 200. The server 400 may be a cluster, or may be multiple clusters, and may include one or more types of servers.
In some embodiments, software steps performed by one step execution body may migrate on demand to be performed on another step execution body in data communication therewith. For example, software steps executed by the server may migrate to be executed on demand on a display device in data communication therewith, and vice versa.
Fig. 2 exemplarily shows a block diagram of a configuration of the control apparatus 100 in accordance with an exemplary embodiment. As shown in fig. 2, the control device 100 includes a controller 110, a communication interface 130, a user input/output interface 140, a memory, and a power supply. The control apparatus 100 may receive an input operation instruction of a user and convert the operation instruction into an instruction recognizable and responsive to the display device 200, and function as an interaction between the user and the display device 200.
In some embodiments, the communication interface 130 is configured to communicate with the outside, including at least one of a WIFI chip, a bluetooth module, NFC, or an alternative module.
In some embodiments, the user input/output interface 140 includes at least one of a microphone, a touchpad, a sensor, keys, or an alternative module.
Fig. 3 shows a hardware configuration block diagram of the display device 200 in accordance with an exemplary embodiment.
In some embodiments, display apparatus 200 includes at least one of a modem 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, memory, a power supply, a user interface.
In some embodiments the controller comprises a central processor, a video processor, an audio processor, a graphics processor, RAM, ROM, a first interface for input/output to an nth interface.
In some embodiments, the display 260 includes a display screen component for presenting a picture, and a driving component for driving an image display, for receiving an image signal from the controller output, for displaying video content, image content, and components of a menu manipulation interface, and a user manipulation UI interface, etc.
In some embodiments, the display 260 may be at least one of a liquid crystal display, an OLED display, and a projection display, and may also be a projection device and a projection screen.
In some embodiments, the modem 210 receives broadcast television signals via wired or wireless reception and demodulates audio-video signals, such as EPG data signals, from a plurality of wireless or wired broadcast television signals.
In some embodiments, communicator 220 is a component for communicating with external devices or servers according to various communication protocol types. For example: the communicator may include at least one of a Wifi module, a bluetooth module, a wired ethernet module, or other network communication protocol chip or a near field communication protocol chip, and an infrared receiver. The display apparatus 200 may establish transmission and reception of control signals and data signals with the control device 100 or the server 400 through the communicator 220.
In some embodiments, the detector 230 is used to collect signals of the external environment or interaction with the outside. For example, detector 230 includes a light receiver, a sensor for capturing the intensity of ambient light; either the detector 230 comprises an image collector, such as a camera, which may be used to collect external environmental scenes, user attributes or user interaction gestures, or the detector 230 comprises a sound collector, such as a microphone or the like, for receiving external sounds.
In some embodiments, the external device interface 240 may include, but is not limited to, the following: high Definition Multimedia Interface (HDMI), analog or data high definition component input interface (component), composite video input interface (CVBS), USB input interface (USB), RGB port, or the like. The input/output interface may be a composite input/output interface formed by a plurality of interfaces.
In some embodiments, the controller 250 and the modem 210 may be located in separate devices, i.e., the modem 210 may also be located in an external device to the main device in which the controller 250 is located, such as an external set-top box or the like.
In some embodiments, the controller 250 controls the operation of the display device and responds to user operations through various software control programs stored on the memory. The controller 250 controls the overall operation of the display apparatus 200. For example: in response to receiving a user command to select a UI object to be displayed on the display 260, the controller 250 may perform an operation related to the object selected by the user command.
In some embodiments, the object may be any one of selectable objects, such as a hyperlink, an icon, or other operable control. The operations related to the selected object are: displaying an operation of connecting to a hyperlink page, a document, an image, or the like, or executing an operation of a program corresponding to the icon.
In some embodiments the controller includes at least one of a central processing unit (Central Processing Unit, CPU), a video processor, an audio processor, a graphics processor (Graphics Processing Unit, GPU), RAM Random Access Memory, RAM), ROM (Read-Only Memory, ROM), first to nth interfaces for input/output, a communication Bus (Bus), and the like.
A CPU processor. For executing operating system and application program instructions stored in the memory, and executing various application programs, data and contents according to various interactive instructions received from the outside, so as to finally display and play various audio and video contents. The CPU processor may include a plurality of processors. Such as one main processor and one or more sub-processors.
In some embodiments, a graphics processor is used to generate various graphical objects, such as: at least one of icons, operation menus, and user input instruction display graphics. The graphic processor comprises an arithmetic unit, which is used for receiving various interactive instructions input by a user to operate and displaying various objects according to display attributes; the device also comprises a renderer for rendering various objects obtained based on the arithmetic unit, wherein the rendered objects are used for being displayed on a display.
In some embodiments, the video processor is configured to receive an external video signal, perform at least one of decompression, decoding, scaling, noise reduction, frame rate conversion, resolution conversion, image composition, and the like according to a standard codec protocol of an input signal, and obtain a signal that is displayed or played on the directly displayable device 200.
In some embodiments, the video processor includes at least one of a demultiplexing module, a video decoding module, an image compositing module, a frame rate conversion module, a display formatting module, and the like. The demultiplexing module is used for demultiplexing the input audio and video data stream. And the video decoding module is used for processing the demultiplexed video signal, including decoding, scaling and the like. And an image synthesis module, such as an image synthesizer, for performing superposition mixing processing on the graphic generator and the video image after the scaling processing according to the GUI signal input by the user or generated by the graphic generator, so as to generate an image signal for display. And the frame rate conversion module is used for converting the frame rate of the input video. And the display formatting module is used for converting the received frame rate into a video output signal and changing the video output signal to be in accordance with a display format, such as outputting RGB data signals.
In some embodiments, the audio processor is configured to receive an external audio signal, decompress and decode according to a standard codec protocol of an input signal, and at least one of noise reduction, digital-to-analog conversion, and amplification, to obtain a sound signal that can be played in the speaker.
In some embodiments, a user may input a user command through a Graphical User Interface (GUI) displayed on the display 260, and the user input interface receives the user input command through the Graphical User Interface (GUI). Or the user may input the user command by inputting a specific sound or gesture, the user input interface recognizes the sound or gesture through the sensor, and receives the user input command.
In some embodiments, a "user interface" is a media interface for interaction and exchange of information between an application or operating system and a user that enables conversion between an internal form of information and a form acceptable to the user. A commonly used presentation form of a user interface is a graphical user interface (Graphic User Interface, GUI), which refers to a graphically displayed user interface that is related to computer operations. It may be an interface element such as an icon, a window, a control, etc. displayed in a display screen of the electronic device, where the control may include at least one of a visual interface element such as an icon, a button, a menu, a tab, a text box, a dialog box, a status bar, a navigation bar, a Widget, etc.
In some embodiments, the user interface 280 is an interface (e.g., physical keys on a display device body, or the like) that may be used to receive control inputs.
In some embodiments, a system of display devices may include a Kernel (Kernel), a command parser (shell), a file system, and an application program. The kernel, shell, and file system together form the basic operating system architecture that allows users to manage files, run programs, and use the system. After power-up, the kernel is started, the kernel space is activated, hardware is abstracted, hardware parameters are initialized, virtual memory, a scheduler, signal and inter-process communication (IPC) are operated and maintained. After the kernel is started, shell and user application programs are loaded again. The application program is compiled into machine code after being started to form a process.
Referring to FIG. 4, in some embodiments, the system is divided into four layers, from top to bottom, an application layer (referred to as an "application layer"), an application framework layer (Application Framework) layer (referred to as a "framework layer"), a An Zhuoyun row layer (Android runtime) and a system library layer (referred to as a "system runtime layer"), and a kernel layer, respectively.
In some embodiments, at least one application program is running in the application program layer, and these application programs may be a Window (Window) program of an operating system, a system setting program, a clock program, or the like; or may be an application developed by a third party developer. In particular implementations, the application packages in the application layer are not limited to the above examples.
The framework layer provides an application programming interface (application programming interface, API) and programming framework for the application programs of the application layer. The application framework layer includes a number of predefined functions. The application framework layer corresponds to a processing center that decides to let the applications in the application layer act. Through the API interface, the application program can access the resources in the system and acquire the services of the system in the execution.
As shown in fig. 4, the application framework layer in the embodiment of the present application includes a manager (Managers), a Content Provider (Content Provider), and the like, where the manager includes at least one of the following modules: an activity manager (ACTIVITY MANAGER) is used to interact with all activities running in the system; a Location Manager (Location Manager) is used to provide system services or applications with access to system Location services; a package manager (PACKAGE MANAGER) for retrieving various information about the application packages currently installed on the device; a notification manager (Notification Manager) for controlling the display and clearing of notification messages; a Window Manager (Window Manager) is used to manage bracketing icons, windows, toolbars, wallpaper, and desktop components on the user interface.
In some embodiments, the activity manager is used to manage the lifecycle of the individual applications as well as the usual navigation rollback functions, such as controlling the exit, opening, fallback, etc. of the applications. The window manager is used for managing all window programs, such as obtaining the size of the display screen, judging whether a status bar exists or not, locking the screen, intercepting the screen, controlling the change of the display window (for example, reducing the display window to display, dithering display, distorting display, etc.), etc.
In some embodiments, the system runtime layer provides support for the upper layer, the framework layer, and when the framework layer is in use, the android operating system runs the C/C++ libraries contained in the system runtime layer to implement the functions to be implemented by the framework layer.
In some embodiments, the kernel layer is a layer between hardware and software. As shown in fig. 4, the kernel layer contains at least one of the following drivers: audio drive, display drive, bluetooth drive, camera drive, WIFI drive, USB drive, HDMI drive, sensor drive (e.g., fingerprint sensor, temperature sensor, pressure sensor, etc.), and power supply drive, etc.
At present, when the Android system plays videos, operations such as initializing a player, setting a video path, analyzing video file information, playing the player and the like are generally required to be performed. If the next video is to be switched (i.e. played), the current video playing is stopped, and then the operations of setting a video path, analyzing the video file information, playing and the like are performed. The whole process consumes relatively long time, and in the process of stopping the current video playing, a black screen phenomenon can appear on a television product, so that the user experience is poor.
A flow chart of playing the next video in the prior art is shown in fig. 5A. Firstly stopping playing the current video, then setting the next video address, preparing to play and acquiring media information, initializing a decoder and configuring the decoder, and finally playing the next video by the player. The operation of stopping the current video playing may refer to a flow chart of stopping the playing by the player shown in fig. 5B.
Specifically, the downloading and protocol parsing (i.e. the downloading and protocol parsing operation of the current video by the downloading and protocol parsing module in the player) is stopped, the demultiplexing (i.e. the demultiplexing operation of the current video by the demultiplexing module in the player) is stopped, the decoding (i.e. the decoding operation of the current video by the decoder in the player) is stopped, then the decoder is released, and then other resources of the player are released. Different applications may have slight differences in the logic implementation, but all the processes of stopping the protocol parsing module, stopping the demultiplexing module and releasing the decoder exist. But releasing the decoder and the process of initializing the decoder and configuring it a second time in fig. 5A causes a transient black screen phenomenon on some platforms. In addition, the process of playing preparation in fig. 5A requires re-downloading the video played for the second time, and stopping the current video playing in fig. 5B requires stopping the respective modules of the player, both of which are serial, which takes some time, so the whole process takes a long time.
Therefore, in order to solve the above-mentioned problem, the technical idea of the present application is that when the source is switched, the processing logic of the player is changed from serial to parallel processing by the controller, that is, the foreground decodes and displays the first source, but the background has already downloaded and parsed the second source, but the decoder does not stop until the demultiplexing module takes the data of the next source, the current buffer data of the decoder is emptied, and the data of the next source is sent to decode and display, that is, play the next source. The scheme that the next video can be played without stopping the current player is realized, the playing speed of the next video is accelerated, seamless switching between the two videos can be realized, and further user experience is improved.
The following describes the technical scheme of the present application and how the technical scheme of the present application solves the above technical problems in detail with specific embodiments. The following embodiments may be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
As shown in conjunction with fig. 1 to 4, the present application provides a display device including: a display;
a controller configured to:
Responding to a triggering operation for requesting video switching, and maintaining the operations of decoding the current video film source and displaying on the display while downloading and analyzing a protocol of the next video film source requesting video switching;
Demultiplexing the next video film source to obtain demultiplexed data, and stopping decoding and displaying the current video film source;
and playing the next video film source according to the demultiplexed data.
In this embodiment, the display device takes the television device as an example, and the user may use a remote controller or an intelligent terminal (such as a smart phone) to control the television device to play the next video (here, the video is a video film source), or the television device may automatically switch to the next video when the current video is about to be played. When the next video needs to be played, the television equipment receives an instruction for representing that the next video is played and then notifies the player to start processing.
Specifically, after receiving a trigger operation for requesting video switching, a controller in the television equipment starts downloading and protocol analysis on a next video film source, reads data of the next video film source, and meanwhile, does not stop decoding operation of a decoder on a current video, so that the current video is ensured to continue playing.
In practical application, when the film sources are switched, the processing logic of the installed player is changed from serial to parallel processing through the controller, namely, the foreground decodes and displays the first film source, but the background downloads and analyzes the second film source.
After the data of the next video film source is read, the next video film source is demultiplexed through a demultiplexing module, and demultiplexed data is obtained. The multiplexing/demultiplexing technique herein is to aggregate data over multiple transport connections to one network connection for transmission, so that a network with high throughput, high rate and low transmission delay, and high cost can support the low transmission cost requirements of users. The aim is to split different audio and video streams from an audio and video signal source; in addition, demultiplexing generally belongs to an active operation, namely, extraction from audio and video signal sources.
After the demultiplexed data is obtained, decoding and displaying of the current video film source are stopped, and then seamless switching to the next video is performed.
The demultiplexed data obtained by demultiplexing the next video film source is demultiplexed based on the demultiplexing module, and the output of the subtitles, the videos and the audios is realized through the subtitle output module, the video output module and the audio output module, so that the aim of playing the next video film source is fulfilled.
The display device provided by the embodiment comprises a display and a controller, wherein the controller responds to the triggering operation for requesting video switching, and the controller decodes and analyzes the next video film source requesting video switching while maintaining the operation of decoding the current video film source and displaying the next video film source on the display, so that the continuous playing of the current video film source is realized, and simultaneously, the parallel processing logic of the next video film source is not required to stop the current player, then the next video film source is demultiplexed, demultiplexed data is obtained, the decoding and displaying of the current video film source are stopped, the next video film source is played, seamless switching between two videos is realized, and the next video can be played without stopping the current player, so that the playing speed of the next video is accelerated, the problems that the time consumption of the process of switching the video in the prior art is relatively long, and in the process of stopping the current video playing, a black screen phenomenon exists on a television product due to the fact that the decoder used by the current player is required to be released are solved, and the user experience is further improved.
In some embodiments, the controller is specifically configured to:
determining an address of the next video clip source in response to a trigger operation for requesting video switching;
and according to the address of the next video film source, downloading and analyzing the next video film source, and simultaneously maintaining the operation of decoding and displaying the current video film source.
In this embodiment, after receiving a trigger operation for requesting video switching, the controller first determines an address of a next video clip source, then downloads and analyzes a protocol of the next video clip source based on a preset address of the next video clip source, reads data of the next video clip source, and meanwhile, does not stop a decoding operation of the decoder on the current video, thereby ensuring that the current video continues to be played.
In some embodiments, the controller includes a download and protocol parsing module, a demultiplexing module, and a decoder;
The controller is further configured to: and carrying out asynchronous processing on the downloading and protocol analysis operation of the downloading and protocol analysis module, the demultiplexing operation of the demultiplexing module and the decoding operation of the decoder.
In this embodiment, the downloading and protocol parsing and demultiplexing module in the controller and the decoding module are processed asynchronously. When the next film source is played, the downloading and protocol analyzing module and the demultiplexing module stop the operation of the current film source (namely the current video film source) and release related resources, then the downloading and analyzing work is carried out on the next film source (namely the next video film source), but the decoder does not stop, namely the current video film source is continuously played.
In some embodiments, the controller is further configured to:
Before downloading and analyzing the next video film source requesting video switching, controlling the downloading and protocol analyzing module to stop the operation of the current video film source and release the resource of the protocol analyzing module;
and controlling the demultiplexing module to stop the operation of the current video film source and releasing the resources of the demultiplexing module.
In this embodiment, after receiving a trigger operation for requesting video switching, the controller first determines an address of a next video clip source, and at the same time, the player in the controller will automatically stop the downloading and protocol parsing module and release resources, stop the demultiplexing module and release resources, and not stop the decoder. Then the next source is downloaded and parsed.
Therefore, the downloading and protocol analysis module, the demultiplexing module and the decoding module (namely the decoder) are processed asynchronously, so that the time in the whole video switching process is saved, and the time consumption is less.
In some embodiments, the controller is specifically configured to:
Initializing the demultiplexing module, and demultiplexing the next video film source to obtain demultiplexed data;
And after determining that the demultiplexed data is obtained, emptying the current buffer of the decoder so as to stop decoding and displaying the current video film source.
In this embodiment, after downloading and protocol parsing are performed on the next slice source, the demultiplexing module is initialized, so that the demultiplexing module demultiplexes the next slice source until the demultiplexing module takes the data of the next slice source, that is, the demultiplexed data, and then the current buffer of the decoder is emptied, that is, the decoding operation of the current video is stopped.
In some embodiments, the controller is further specifically configured to:
and decoding by the decoder according to the demultiplexed data so as to play the next video film source.
In this embodiment, after the demultiplexing module takes the data of the next slice source, the data of the next slice source is sent to the decoder, and the decoder decodes and displays the data of the next slice source.
Fig. 6 is a flowchart of a video switching method according to an embodiment of the present application. As shown in fig. 6, the method may include:
S601: and responding to the triggering operation for requesting video switching, and maintaining the operation of decoding and displaying the current video clip source while downloading and analyzing the protocol of the next video clip source requesting video switching.
In the following, a television device with a player is taken as an example, and how to realize seamless switching between videos on the television device is described in detail.
In this embodiment, the user may use a remote controller or an intelligent terminal (such as a smart phone) to control the television apparatus to play the next video (the video is a video source here), or the television apparatus may automatically switch to the next video when the current video is about to be played. When the next video needs to be played, the television equipment receives an instruction for representing that the next video is played and then notifies the player to start processing.
Specifically, after receiving a triggering operation for requesting video switching, the television equipment starts downloading and protocol analysis on a next video film source, reads data of the next video film source, and meanwhile, does not stop the decoding operation of the decoder on the current video, so that the current video is ensured to continue playing.
In practical application, when the film source is switched, the processing logic of the player is changed from serial to parallel processing, namely, the foreground decodes and displays the first film source, but the background downloads and analyzes the second film source.
S602, demultiplexing the next video film source to obtain demultiplexed data, and stopping decoding and displaying the current video film source.
In this embodiment, after reading the data of the next video clip source, the demultiplexing module demultiplexes the next video clip source to obtain demultiplexed data. The multiplexing/demultiplexing technique herein is to aggregate data over multiple transport connections to one network connection for transmission, so that a network with high throughput, high rate and low transmission delay, and high cost can support the low transmission cost requirements of users. The aim is to split different audio and video streams from an audio and video signal source; in addition, demultiplexing generally belongs to an active operation, namely, extraction from audio and video signal sources.
After the demultiplexed data is obtained, decoding and displaying of the current video film source are stopped, and then seamless switching to the next video is performed.
S603, playing the next video clip source according to the demultiplexed data.
In this embodiment, based on the demultiplexed data obtained by demultiplexing the next video clip source by the demultiplexing module, the output of the subtitles, the video and the audio is realized through the subtitle output module, the video output module and the audio output module, so as to play the next video clip source.
According to the video switching method provided by the embodiment, firstly, the trigger operation for requesting video switching is responded, the next video source requesting video switching is downloaded and analyzed by the protocol, meanwhile, the decoding and displaying operation of the current video source is kept, the current video source is continuously played, meanwhile, the parallel processing logic of the next video source is downloaded and analyzed by the protocol, the current player is not required to be stopped, then the next video source is demultiplexed, demultiplexed data are obtained, the decoding and displaying of the current video source are stopped, the next video source is played, seamless switching between two videos is achieved, and the playing speed of the next video is accelerated due to the fact that the current player is not required to be stopped, the problem that in the process of switching the video in the prior art, the time is relatively long, in addition, in the process of stopping the current video playing, a decoder used by the current player is required to be released, a black screen phenomenon exists on a television product is solved, and user experience is further improved.
In this embodiment, referring to fig. 7, a block schematic diagram of a player is provided. The player may include: the system comprises a source data reading module, a demultiplexing module, a video parsing module, an audio parsing module, a caption decoding module, a video parsing module, an audio decoding module, a caption output module, a video output wood block and an audio output module. Therefore, the player at least comprises a downloading and protocol analyzing module, a demultiplexing module and a decoder.
For example, taking the display device 200 as a television device, the control apparatus 100 takes a remote controller as an example, and referring to fig. 8, fig. 8 is an application scenario diagram of the video switching method provided by the present application.
Taking interaction between a user and television equipment and taking the case that the user uses a remote controller to control the television equipment to play the next video as an example, when the user uses the remote controller to control the television equipment to play the next video, sending an instruction for representing playing the next video film source, namely a video switching instruction, to the television equipment through the remote controller, after the television equipment receives the instruction, firstly, the address of the next film source is displayed, then stopping the operation of a downloading and protocol analyzing module in the player on the current video film source and releasing resources, simultaneously stopping the operation of a demultiplexing module in the player on the current video film source and releasing resources, then carrying out downloading and protocol analyzing on the next video film source, but a decoder in the player does not stop working, continuing decoding and displaying the current video film source, initializing a demultiplexing module, demultiplexing the next video film source until the demultiplexing module takes the data of the next film source, then, clearing the current cache data of the decoder, and sending the data of the next video film source to the decoder for decoding and displaying.
Therefore, the application provides a video switching method, when the film source is switched, the processing logic of the player is changed from serial to parallel processing, and the decoder is not stopped when the next film source is downloaded and analyzed, until the demultiplexing module takes the data of the next film source, the current buffer data of the decoder is emptied, the data of the next film source is sent to be decoded and displayed, the scheme of playing the next video can be started without stopping the current player, the playing speed of the next video is accelerated, and because the decoder used by the current player is not released, the seamless switching between two videos can be realized, and the user experience is improved.
In some embodiments, the present embodiment describes S601 in detail on the basis of the above embodiments. The operations of decoding and displaying the current video clip source while downloading and analyzing the next video clip source requesting video switching in response to the triggering operation for requesting video switching can be realized by the following steps:
And a step a1 of determining the address of the next video clip source in response to a triggering operation for requesting video switching.
And a2, according to the address of the next video film source, downloading and analyzing the next video film source, and simultaneously maintaining the operation of decoding and displaying the current video film source.
In this embodiment, after receiving a trigger operation for requesting video switching, the television device first determines an address of a next video clip source, then downloads and analyzes a protocol of the next video clip source based on a preset address of the next video clip source, reads data of the next video clip source, and meanwhile, does not stop a decoding operation of a decoder on a current video, thereby ensuring that the current video continues to be played.
In some embodiments, before downloading and parsing the next video clip source, it is also necessary to stop the operation of some modules in the player on the current video, to release resources, and to re-enable the operation of these modules on the next video. Wherein, the player can include: the system comprises a downloading and protocol analyzing module, a demultiplexing module and a decoder. The present embodiment describes the video switching method in detail on the basis of the above embodiments. The video switching method can also be realized by the following steps:
and carrying out asynchronous processing on the downloading and protocol analysis operation of the downloading and protocol analysis module, the demultiplexing operation of the demultiplexing module and the decoding operation of the decoder.
Specifically, the downloading and protocol parsing and demultiplexing module and the decoding module are processed asynchronously. When the next film source is played, the downloading and protocol analyzing module and the demultiplexing module stop the operation of the current film source (namely the current video film source) and release related resources, then the downloading and analyzing work is carried out on the next film source (namely the next video film source), but the decoder does not stop, namely the current video film source is continuously played.
In some embodiments, how asynchronous processing is implemented may be accomplished by:
and b1, before downloading and analyzing the next video film source requesting video switching, controlling the downloading and protocol analysis module to stop the operation of the current video film source and release the resources of the protocol analysis module.
And b2, controlling the demultiplexing module to stop the operation of the current video film source and releasing the resources of the demultiplexing module.
In this embodiment, after receiving a trigger operation for requesting video switching, the television device first determines an address of a next video clip source, and at the same time, the player in the television device will automatically stop the downloading and protocol parsing module and release resources, stop the demultiplexing module and release resources, and not stop the decoder. Then the next source is downloaded and parsed.
Therefore, the downloading and protocol analysis module, the demultiplexing module and the decoding module (namely the decoder) are processed asynchronously, so that the time in the whole video switching process is saved, and the time consumption is less.
In some embodiments, S602 is described in detail based on the above embodiments. The step of demultiplexing the next video film source to obtain demultiplexed data and stopping decoding and displaying the current video film source can be realized by the following steps:
And step c1, initializing the demultiplexing module, and demultiplexing the next video film source to obtain demultiplexed data.
And c2, after determining that the demultiplexed data is obtained, emptying the current buffer memory of the decoder so as to stop decoding and displaying the current video film source.
In this embodiment, after downloading and protocol parsing are performed on the next slice source, the demultiplexing module is initialized, so that the demultiplexing module demultiplexes the next slice source until the demultiplexing module takes the data of the next slice source, that is, the demultiplexed data, and then the current buffer of the decoder is emptied, that is, the decoding operation of the current video is stopped.
In some embodiments, S603 is described in detail based on the above embodiments. The playing of the next video clip source according to the demultiplexed data can be realized by the following steps:
and decoding by the decoder according to the demultiplexed data so as to play the next video film source.
In this embodiment, after the demultiplexing module takes the data of the next slice source, the data of the next slice source is sent to the decoder, and the decoder decodes and displays the data of the next slice source.
Specifically, referring to fig. 9, fig. 9 is a flowchart of a video switching method according to still another embodiment of the present application. The video switching process comprises the following steps: after receiving the triggering operation for requesting video switching, the television equipment firstly determines the address of the next video film source, and simultaneously, the player in the television equipment can automatically stop the downloading and protocol analysis module and release resources, stop the demultiplexing module and release resources, and does not stop the operation of the decoder. And then downloading and protocol analysis are carried out on the next chip source, and then a demultiplexing module is initialized, so that the demultiplexing module demultiplexes the next chip source until the demultiplexing module takes the data of the next chip source, and then the current buffer of the decoder is emptied, and the data of the next chip source is sent to the decoder for decoding and displaying.
According to the application, by responding to the triggering operation for requesting video switching, the next video film source for requesting video switching is downloaded and analyzed by the protocol, and meanwhile, the operation of decoding and displaying the current video film source is kept, so that the current video film source is continuously played, and simultaneously, the parallel processing logic of the next video film source is downloaded and analyzed by the protocol, the current player is not required to be stopped, then the next video film source is demultiplexed, demultiplexed data is obtained, the decoding and displaying of the current video film source are stopped, the next video film source is played, seamless switching between two videos is realized, and the playing speed of the next video is accelerated because the current player is not required to be stopped, therefore, the problems that the time consumption for switching the video in the prior art is relatively long, and a black screen phenomenon exists on a television product due to the decoder used by the current player is required to be released in the process of stopping the current video playing are solved, and the user experience is further improved.
Corresponding to the video switching method of the above embodiment, the structure of the video switching device provided by the embodiment of the application is schematically shown. For convenience of explanation, only portions relevant to the embodiments of the present application are shown. The video switching device includes: the device comprises a first processing module, a second processing module and a third processing module; the first processing module is used for responding to the triggering operation for requesting video switching, and keeping the operation of decoding and displaying the current video film source while downloading and analyzing the protocol of the next video film source requesting video switching; the second processing module is used for demultiplexing the next video film source to obtain demultiplexed data, and stopping decoding and displaying the current video film source; and the third processing module is used for playing the next video film source according to the demultiplexed data.
According to the video switching device provided by the embodiment, by configuring the first processing module, the second processing module and the third processing module, the operation of decoding and displaying the current video film source is kept while the next video film source requesting video switching is subjected to downloading and protocol analysis in response to the triggering operation for requesting video switching, so that the current video film source is continuously played, and simultaneously, parallel processing logic of the next video film source is downloaded and protocol analysis, a current player is not required to be stopped, then the next video film source is demultiplexed, demultiplexed data are obtained, the decoding and displaying of the current video film source are stopped, the next video film source is played, seamless switching between two videos is realized, and because the current player is not required to be stopped, the next video can be played, the playing speed of the next video is accelerated, the problems that in the prior art, the video switching process is relatively long in time, and in the process of stopping the current video playing, a decoder used by the current player is required to be released, and a black screen phenomenon exists on a television product are solved, and user experience is improved.
The device provided by the embodiment of the application can be used for executing the technical scheme of the embodiment of the method, and the implementation principle and the technical effect are similar, and the embodiment of the application is not repeated here.
In some embodiments, the first processing module is specifically configured to:
determining an address of the next video clip source in response to a trigger operation for requesting video switching;
and according to the address of the next video film source, downloading and analyzing the next video film source, and simultaneously maintaining the operation of decoding and displaying the current video film source.
In some embodiments, the method is applied to a player, and the player comprises: the system comprises a downloading and protocol analyzing module, a demultiplexing module and a decoder; the video switching device may further include a fourth processing module, configured to asynchronously process the downloading and protocol parsing operation of the downloading and protocol parsing module, the demultiplexing operation of the demultiplexing module, and the decoding operation of the decoder.
In some embodiments, the video switching apparatus may further include a fifth processing module, configured to control the downloading and protocol parsing module to stop the operation of the current video clip source and release the resource of the protocol parsing module before downloading and parsing the next video clip source requesting video switching; and controlling the demultiplexing module to stop the operation of the current video film source and releasing the resources of the demultiplexing module.
In some embodiments, the second processing module is specifically configured to:
Initializing the demultiplexing module, and demultiplexing the next video film source to obtain demultiplexed data;
And after determining that the demultiplexed data is obtained, emptying the current buffer of the decoder so as to stop decoding and displaying the current video film source.
In some embodiments, the third processing unit is specifically configured to:
and decoding by the decoder according to the demultiplexed data so as to play the next video film source.
The embodiment of the application also provides a computer readable storage medium, wherein the computer readable storage medium stores computer execution instructions, and when a processor executes the computer execution instructions, the video switching method of the embodiment of the method is realized.
The embodiment of the application also provides a computer program product, which comprises a computer program, and the computer program realizes the video switching method of the embodiment of the method when being executed by a processor.
The computer readable storage medium described above may be implemented by any type of volatile or non-volatile memory device or combination thereof, such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk, or optical disk. A readable storage medium can be any available medium that can be accessed by a general purpose or special purpose computer.
An exemplary readable storage medium is coupled to the processor such the processor can read information from, and write information to, the readable storage medium. In the alternative, the readable storage medium may be integral to the processor. The processor and the readable storage medium may reside in an Application SPECIFIC INTEGRATED Circuits (ASIC). The processor and the readable storage medium may reside as discrete components in a device.
Those of ordinary skill in the art will appreciate that: all or part of the steps for implementing the method embodiments described above may be performed by hardware associated with program instructions. The foregoing program may be stored in a computer readable storage medium. The program, when executed, performs steps including the method embodiments described above; and the aforementioned storage medium includes: various media that can store program code, such as ROM, RAM, magnetic or optical disks.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present application, and not for limiting the same; although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some or all of the technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the application.