Intelligent set-top box and playing method
By generating a channel selection page and muting the audio decoding of some players in multi-screen viewing scenarios, the problem of stuttering caused by excessive system resource consumption is solved, improving the playback smoothness and user experience of smart set-top boxes.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HISENSE BROADBAND MULTIMEDIA TECH
- Filing Date
- 2024-12-13
- Publication Date
- 2026-06-16
AI Technical Summary
In multi-screen viewing scenarios, the smart set-top box simultaneously analyzes signals from multiple live channels, leading to excessive system resource consumption, causing playback on the display device to lag and affecting the user experience.
The smart set-top box generates a channel selection page based on the multi-screen viewing command, creates multiple players, and sends a mute command to some players to stop audio decoding while continuing video decoding, thus freeing up system resources.
By reducing the number of audio decoding channels, system smoothness is improved, ensuring continuous video playback and a better user experience.
Smart Images

Figure CN122227003A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of set-top box technology, and more particularly to a smart set-top box and a playback method. Background Technology
[0002] An IPTV set-top box is a smart set-top box that provides digital television services over a broadband network. After connecting the IPTV set-top box to a display device such as a smart TV, it can transmit television program data to the display device for playback. Currently, IPTV set-top boxes use a B / S (server-side-browser) architecture, meaning the operator deploys the page content, and the set-top box integrates a browser responsible for parsing the page content.
[0003] In related technologies, IPTV set-top boxes support multi-screen viewing, meaning that users can select multiple live channels on the IPTV set-top box's browser page. The IPTV set-top box simultaneously transmits the TV program data from these live channels to the display device, allowing the display device to play multiple TV programs on the same page, thus meeting the user's need to watch multiple TV programs at the same time. However, in multi-screen viewing scenarios, the smart set-top box simultaneously analyzes the signals of multiple live channels to obtain TV program data, which consumes a lot of system resources. This can easily lead to situations where the signal analysis of one or more live channels is not timely, causing the playback page on the display device to stutter and affecting the user's viewing experience. Summary of the Invention
[0004] To address the technical issue of playback stuttering in multi-screen viewing scenarios using smart set-top boxes, this embodiment provides a smart set-top box and playback method to improve playback smoothness.
[0005] In some embodiments, a smart set-top box is provided, comprising:
[0006] Input interface, used for communication with the server;
[0007] Output interface, used for communication connection with display devices;
[0008] The processor, connected to input and output interfaces, is configured as follows:
[0009] In response to the multi-screen viewing command, a channel selection page is generated, which includes a list of channel controls.
[0010] In response to the playback command corresponding to the first number of channel controls in the channel control list, a playback page is generated, and the first number of players are created on the playback page. Each player corresponds to a channel of one of the channel controls. The player is controlled to decode the audio and video of the corresponding channel and play them on the playback page. Where the first number is greater than 1, the player is set with a first parameter. The value of the first parameter is a preset value. The preset value indicates that the player is created according to the multi-screen viewing command.
[0011] A mute command is sent to a second number of players, where the second number is less than the first number. The players are configured to: respond to the mute command, execute the mute command, and execute a stop audio decoding command according to the preset value of the first parameter, so that the players continue to decode the video of the corresponding channel while no longer decoding the audio of the corresponding channel.
[0012] One of the above technical solutions has the following advantages or beneficial effects: The smart set-top box, based on the multi-screen viewing instruction, enters a channel selection page for the user to select multiple channels to be played. After the user selects multiple channels, a playback instruction is generated. Multiple players with preset values for their first parameter are created based on the playback instruction. Since the preset value indicates that the player is created based on the multi-screen viewing instruction, and the player is pre-configured to execute a stop audio decoding instruction after being muted, after sending a mute instruction to some players, these players can execute the stop audio decoding instruction, thereby releasing the system resources required for audio decoding. Compared with existing technologies that simultaneously decode multiple channels of video and audio in a multi-screen viewing scenario, this embodiment reduces the number of audio channels decoded and improves the system smoothness of the smart set-top box.
[0013] In some embodiments, a smart set-top box is provided, wherein the player is configured to execute a stop audio decoding instruction, so that the player continues to decode the video of the corresponding channel but stops decoding the audio of the corresponding channel, including updating the audio stream address of the corresponding channel of the player to an invalid audio stream address.
[0014] One of the above technical solutions has the following advantages or beneficial effects: the smart set-top box updates the audio stream address to an invalid audio stream address, which can stop the audio decoding and release the system resources required for audio decoding. At the same time, it will not cause the audio process of the player to end immediately. When the user inputs an operation to unmute, the audio process is still running, so audio decoding can be quickly resumed.
[0015] In some embodiments, a smart set-top box is provided, wherein the processor is further configured to:
[0016] In response to the window switching command, a small screen playback command is sent to the first player and a large screen playback command is sent to the second player. The players on the playback page include the first player and the second player. The window of the first player is the large screen window and the window of the second player is the small screen window. The window switching command is used to play the second player in the large screen window.
[0017] The first player is configured to: execute a mute command and a stop audio decoding command according to the small screen playback command, so that the player continues to decode the video of the corresponding channel but stops decoding the audio of the corresponding channel;
[0018] The second player is configured to: execute the unmute command and the resume audio decoding command according to the large screen playback command, so that the second player can decode the audio of the corresponding channel while continuing to decode the video of the corresponding channel.
[0019] One of the above technical solutions has the following advantages or beneficial effects: the processor controls the first player to stop audio decoding according to the window switching instruction, and controls the second player to resume audio decoding, which can achieve the purpose of keeping the number of players performing audio decoding at the same level, thereby saving system resources.
[0020] In some embodiments, a smart set-top box is provided, wherein a second player is configured to execute a resume audio decoding instruction, including: the second player updating the audio stream address of the corresponding channel to the audio stream address of the second player before executing the stop audio decoding instruction.
[0021] One of the above technical solutions has the following advantages or beneficial effects: the smart set-top box updates the invalid audio stream address to the audio stream address before the execution of the stop audio decoding instruction, so that the second player can decode according to the updated audio stream address, thereby achieving the effect of restoring audio decoding and ensuring the user's experience of watching the second player in a large-screen window.
[0022] In some embodiments, a smart set-top box is provided, and the second player is further configured to:
[0023] After executing the audio decoding recovery command, obtain the current playback progress of the corresponding video in the second player;
[0024] The audio corresponding to the second player will be decoded starting from the current playback progress.
[0025] In the above embodiments, after restoring audio decoding, the second player decodes the audio according to the current playback progress of the video, ensuring audio-visual synchronization.
[0026] In some embodiments, a smart set-top box is provided, wherein the processor is further configured to:
[0027] In response to a full-screen playback command, a full-screen playback command is sent to the third player, and an exit player command is sent to the other players. The players on the playback page include the third player, and the control object of the full-screen playback command is the third player.
[0028] One of the above technical solutions has the following advantages or beneficial effects: after receiving the instruction to play the third player in full screen, controlling other players to exit can release the system resources occupied by these players and improve system smoothness.
[0029] Secondly, this embodiment provides a playback method for a smart set-top box, the method comprising:
[0030] In response to the multi-screen viewing command, a channel selection page is generated, which includes a list of channel controls.
[0031] In response to the playback command corresponding to the first number of channel controls in the channel control list, a playback page is generated, and the first number of players are created on the playback page. Each player corresponds to a channel of one of the channel controls. The player is controlled to decode the audio and video of the corresponding channel and play them on the playback page. Where the first number is greater than 1, the player is set with a first parameter. The value of the first parameter is a preset value. The preset value indicates that the player is created according to the multi-screen viewing command.
[0032] A mute command is sent to a second number of players, where the second number is less than the first number. The players are configured to: respond to the mute command, execute the mute command, and execute a stop audio decoding command based on a preset value for the first parameter, so that the players continue to decode the video of the corresponding channel while ceasing to decode the audio of the corresponding channel. One of the above technical solutions has the following advantages or beneficial effects: The smart set-top box, based on the multi-screen viewing command, enters a channel selection page for the user to select multiple channels to be played. After the user selects multiple channels, a playback command is generated, and multiple players with preset values for the first parameter are created based on the playback command. Since the preset value indicates that the player was created based on the multi-screen viewing command, and the player is pre-configured to execute a stop audio decoding command after the player is mute based on this preset value, after sending the mute command to some players, these players can execute the stop audio decoding command, thereby releasing the system resources required for audio decoding. Compared with the prior art of simultaneously decoding multiple channels of video and audio in a multi-screen viewing scenario, this embodiment reduces the number of audio channels decoded and improves the system smoothness of the smart set-top box.
[0033] In some embodiments, a playback method is provided that executes a stop audio decoding instruction, so that the player continues to decode the video of the corresponding channel but stops decoding the audio of the corresponding channel, including updating the audio stream address of the corresponding channel of the player to an invalid audio stream address.
[0034] One of the above technical solutions has the following advantages or beneficial effects: the smart set-top box updates the audio stream address to an invalid audio stream address, which can stop the audio decoding and release the system resources required for audio decoding. At the same time, it will not cause the audio process of the player to end immediately. When the user inputs an operation to unmute, the audio process is still running, so audio decoding can be quickly resumed.
[0035] In some embodiments, a playback method is provided, the method further comprising:
[0036] In response to the window switching command, a small screen playback command is sent to the first player and a large screen playback command is sent to the second player. The players on the playback page include the first player and the second player. The window of the first player is the large screen window and the window of the second player is the small screen window. The window switching command is used to play the second player in the large screen window.
[0037] The first player is configured to: execute a mute command and a stop audio decoding command according to the small screen playback command, so that the player continues to decode the video of the corresponding channel but stops decoding the audio of the corresponding channel;
[0038] The second player is configured to: execute the unmute command and the resume audio decoding command according to the large screen playback command, so that the second player can decode the audio of the corresponding channel while continuing to decode the video of the corresponding channel.
[0039] In the above embodiments, the processor controls the first player to stop audio decoding according to the window switching instruction, and controls the second player to resume audio decoding, so as to keep the number of players performing audio decoding at the same time, thereby saving system resources.
[0040] In some embodiments, a playback method is provided to execute a resume audio decoding instruction, including: the second player updating the audio stream address of the corresponding channel to the audio stream address of the second player before executing the stop audio decoding instruction.
[0041] One of the above technical solutions has the following advantages or beneficial effects: the smart set-top box updates the invalid audio stream address to the audio stream address before the execution of the stop audio decoding instruction, so that the second player can decode according to the updated audio stream address, thereby achieving the effect of restoring audio decoding and ensuring the user's experience of watching the second player in a large-screen window. Attached Figure Description
[0042] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0043] Figure 1 This is a schematic diagram illustrating a usage scenario of a smart set-top box according to some embodiments;
[0044] Figure 2 This is a schematic diagram of the hardware structure of a smart set-top box according to some embodiments;
[0045] Figure 3 This is a flowchart illustrating a playback method according to some embodiments;
[0046] Figure 4 This is an interactive schematic diagram of a smart set-top box software module according to some embodiments;
[0047] Figure 5 This is a timing diagram illustrating a multi-screen simultaneous viewing method according to some embodiments;
[0048] Figure 6 This is a schematic diagram of a channel selection page according to some embodiments;
[0049] Figure 7 This is a schematic diagram of a multi-screen viewing page according to some embodiments;
[0050] Figure 8 This is a timing diagram of a window switching according to some embodiments;
[0051] Figure 9 This is a schematic diagram of a multi-screen viewing page according to some embodiments;
[0052] Figure 10 This is a schematic diagram of a multi-screen viewing page according to some embodiments. Detailed Implementation
[0053] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. Based on the embodiments of this disclosure, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this disclosure.
[0054] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The singular forms “a” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
[0055] Figure 1 This is a schematic diagram illustrating a usage scenario of a smart set-top box according to some embodiments of this disclosure. Figure 1 As shown, the smart set-top box 100 is a device that connects the display device 200 and the server 400. It can convert compressed digital signals into television content and display it on the display device 200.
[0056] Users can operate the display device 200 through the smart device 300 or the control device 500.
[0057] In some embodiments, the control device 500 may be a remote control. Communication between the remote control and the display device 200 includes at least one of infrared protocol communication, Bluetooth protocol communication, and other short-range communication methods, controlling the display device 200 wirelessly or via a wired connection. Users can control the display device 200 by inputting user commands through at least one method, such as buttons on the remote control, voice input, or control panel input.
[0058] In some embodiments, the smart device 300 may include any one of a mobile terminal, tablet computer, computer, laptop computer, AR / VR device, etc.
[0059] In some embodiments, a smart device 300 may also be used to control a display device 200. For example, a Java layer of an application running on the smart device may be used to control the display device 200.
[0060] In some embodiments, the smart device 300 and the display device 200 may also be used for data communication.
[0061] In some embodiments, the display device 200 can also be controlled in ways other than the control device 500 and the smart device 300. For example, it can be controlled by directly receiving the user's voice commands through a module configured inside the display device 200 for acquiring voice commands, or it can be controlled by receiving the user's voice commands through a voice control device set outside the display device 200.
[0062] In some embodiments, the smart set-top box 100 also communicates with the server 400. The smart set-top box 100 may communicate via a local area network (LAN), a wireless local area network (WLAN), and other networks. The server 400 may provide various content and interactive features to the smart set-top box 100. The server 400 may be a cluster or multiple clusters, and may include one or more types of servers.
[0063] In some embodiments, software steps executed by one execution entity can be migrated to another execution entity with which it communicates data, as needed. For example, software steps executed by server 400 can be migrated to display device 200 with which it communicates data, and vice versa, as needed.
[0064] In some embodiments, the control device 500 is communicatively connected to the smart set-top box 100. Typically, the control device 500 and the smart set-top box 100 communicate via an infrared protocol. The smart set-top box 100 receives the communication signals from the control device 500 and completes the user's remote control operation.
[0065] The smart set-top box 100 can be externally placed on the outside of the display device 200 housing, or it can be built into the display device 200.
[0066] Figure 2 This is a schematic diagram of the hardware structure of a smart set-top box according to some embodiments. Figure 2 As shown, in some embodiments, the smart set-top box 100 includes an input interface 101, an output interface 102, and a processor 103. The input interface 101 is used for communication connection with the server 400, the output interface 102 is used for communication connection with the display device 200, and the processor 103 is used to control the smart set-top box 100 to interact with the display device 200 and the server 400, and to process control signals from the control device 500.
[0067] In some embodiments, the smart set-top box 100 may also include a memory, a power module, and other structures connected to the processor 103, which will not be shown in detail in this embodiment.
[0068] In some embodiments, the software architecture of a smart set-top box may include an application layer, a middleware layer, an adaptation layer, an operating system, and a driver layer.
[0069] The application layer contains at least one application, such as a browser application, a system settings program, a clock program, etc. The applications in the application layer include, but are not limited to, the examples above.
[0070] The middleware layer is a software layer located between the application layer and the operating system layer. It encapsulates protocols and algorithms and provides interfaces for the application layer to call. The middleware layer includes functional modules such as graphics libraries and player modules. The graphics library supports browser applications in the application layer to perform operations such as page rendering and page transformation, while the player module is used for audio and video data processing, such as decoding, conversion, and output.
[0071] The adaptation layer is used to unify the interfaces for different platforms and set-top box chips, thereby facilitating calls by the middleware layer.
[0072] The operating system and driver layer includes the OS kernel and drivers of the smart set-top box. The drivers of the smart set-top box are used to control the hardware of the smart set-top box, including but not limited to Bluetooth drivers, network card drivers, HDMI drivers, power drivers, etc.
[0073] In some embodiments, the smart set-top box 100 supports multi-screen viewing. The smart set-top box 100 can obtain signals from multiple channels from the server 400, parse these channel signals, and obtain the TV program data of these channels. The display device 200 can play these TV program data, allowing users to watch multiple TV programs simultaneously on the display device 200. However, parsing signals from multiple channels simultaneously places high demands on the performance of the smart set-top box 100. When the performance of the smart set-top box 100 is insufficient, it is prone to untimely parsing, affecting the playback smoothness of the display device 200.
[0074] To address the technical issue of playback stuttering in multi-screen viewing scenarios using the smart set-top box 100, this disclosure provides a playback method that reduces system resource consumption by minimizing audio decoding. Figure 3 This is a flowchart illustrating a playback method according to some embodiments. Figure 3 As shown, in some embodiments, the playback method may include the following steps:
[0075] Step S100: In response to the multi-screen viewing instruction, generate a channel selection page, which includes a list of channel controls.
[0076] In some embodiments, the smart set-top box launches a browser application by default upon power-on and runs the browser application in the foreground. After launching, the browser application sends a homepage request to the server, and the server returns the browser's homepage page file to the smart set-top box based on the homepage request.
[0077] The processor of the smart set-top box parses the page file of the browser homepage and generates the browser homepage, then sends the browser homepage to the display device, which displays the browser homepage.
[0078] It should be noted that all pages generated by the smart set-top box need to be sent to the display device for display. When the smart set-top box sends a page to the display device, it actually means sending the page data of that page to the display device, which will not be specified again below.
[0079] The browser homepage features a multi-screen viewing control. After the user operates the multi-screen viewing control via a smart set-top box control device, such as a remote control, the smart set-top box generates a multi-screen viewing command. In some implementations, the multi-screen viewing control may not be located on the browser homepage, but rather on other pages of the browser application; this embodiment does not specifically limit this.
[0080] In some embodiments, the remote control of the smart set-top box may be equipped with a multi-screen viewing button. After the user triggers the button, the smart set-top box generates a multi-screen viewing command based on the trigger signal received from the button.
[0081] The smart set-top box generates a channel selection page based on the multi-screen viewing command. The channel selection page can include a list of channel controls, which contains multiple channel controls, each corresponding to a channel. The focus of the channel selection page is on one of the channel controls by default.
[0082] In some embodiments, the smart set-top box generates a channel selection page in response to a multi-screen viewing command, which differs from a traditional channel selection page. A traditional channel selection page contains a channel list, and the user can only select one channel control; this traditional channel selection page does not have a multi-screen viewing indicator. After the user moves the focus to one of the channel controls, pressing the OK button on the remote control will enter the full-screen playback page for that channel control's corresponding channel. On some remote controls, the OK button is used. On this full-screen playback page, pressing the OK button on the remote control will return the user to the traditional channel selection page, allowing them to reselect the channel to be played in full-screen mode.
[0083] In this embodiment, the channel selection page generated in response to the multi-screen viewing command can be equipped with a multi-screen viewing indicator to prompt the user that the current channel selection page is not a traditional channel selection page. The user can select multiple channels on the current page and watch them on the multi-screen viewing page, which is a playback page that plays multiple channels simultaneously. On the multi-screen viewing page, the user can control the smart set-top box to generate the channel selection page of this embodiment by pressing the confirmation button on the remote control or pressing a preset button on the remote control, such as the multi-screen viewing button. On the channel selection page of this embodiment, the user can reselect the channels for multi-screen viewing.
[0084] Step S200: In response to the playback command corresponding to the first number of channel controls in the channel control list, a playback page is generated, and a first number of players are created on the playback page. Each player corresponds to a channel of one of the channel controls. The player is controlled to decode the audio and video of the corresponding channel and play them on the playback page. The first number is greater than 1. The player is set with a first parameter. The value of the first parameter is a preset value. The preset value indicates that the player is created according to the multi-screen viewing command.
[0085] In some embodiments, the focus of the channel selection page is located by default on one of the channel controls, such as the first channel control on the channel selection page. After the user adjusts the focus to one of the channel controls on the channel selection page, they can press the confirmation button on the smart set-top box remote control. The smart set-top box generates a channel selection information based on the received confirmation button signal. This channel selection information corresponds to the channel control, and the channel corresponding to the channel control is the channel to be viewed simultaneously on multiple screens. The channel selection information may include the channel parameters corresponding to the channel control. The channel parameters may include the playback address of the channel, which can be a URL address and can be obtained from the page data of the channel selection page.
[0086] In some embodiments, the channel selection page may include a start playback control. After a user selects a first number of channels to be viewed simultaneously on multiple screens, this start playback control can be triggered. Upon triggering the start playback control, the smart set-top box generates playback instructions corresponding to the first number of channel controls, where the first number is the number of channel selections and is greater than 1; for example, the first number could be 4. This start playback control allows the user sufficient time to modify or delete channels before triggering it. If the user triggers the start playback control after selecting only one channel to be viewed simultaneously on multiple screens, the channel selection page may display a pop-up prompt to continue selecting channels.
[0087] In some embodiments, the smart set-top box generates a playback page in response to playback instructions corresponding to a first number of channel controls. Based on the player creation data included in the playback page data, a player creation operation is performed, thereby creating a first number of players on the playback page according to the first number of channel controls corresponding to the playback instructions. When creating a player, player parameters need to be set. In this embodiment, the player parameters include first parameters and channel parameters.
[0088] When the first parameter is set to a preset value, it indicates that the player is a player created according to the multi-screen viewing instruction. For example, the first parameter may include the player name. According to the IPTV specification, only players created in a multi-screen viewing scenario have a preset player name, i.e., mosaic. In this embodiment, the player names of the first number of players can be mosaic1, mosaic2, ... and so on.
[0089] Alternatively, the first parameter can be any other parameter, as long as the player can identify that the current player was created based on the multi-screen viewing instruction. For example, the player can be configured to determine that the current player was created based on the multi-screen viewing instruction when the player parameters include the first parameter, and to determine that the current player was created based on the full-screen playback instruction when the player parameters do not include the first parameter. The full-screen playback instruction is the playback instruction generated by the smart set-top box after the user selects only one channel for full-screen playback.
[0090] In some embodiments, the playback page for multi-screen simultaneous viewing is configured to include four playback areas, each displaying a player window. These four playback areas consist of one large area and three smaller areas, which do not obstruct each other, corresponding to one large-screen window and three small-screen windows. To enable the player to determine which area to play in, the player parameters also include position information, which is used to determine the playback area. For example, the position information can be {(x1, x2), (y1, y2)}, representing that the playback area starts from the x1th pixel and ends at the x2th pixel in the horizontal direction, and starts from the y1th pixel and ends at the y2th pixel in the vertical direction. Another example is that the position information can be one of p1, p2, p3, and p4, where p1 corresponds to the position of the large-screen window, and p2, p3, and p4 correspond to the positions of the three small-screen windows.
[0091] In some embodiments, after the smart set-top box creates a player on the playback page, the player can obtain the video and audio of the corresponding channel from the server based on the channel parameters in the player parameters. The player can interact with the server to obtain the streaming media data of the corresponding channel. This streaming media data is a .ts file. After parsing these .ts files, the player can obtain the video and video PID, or the audio and audio PID. The video PID is the video stream address; different channels have different video stream addresses. The audio PID is the audio stream address; different channels have different audio stream addresses.
[0092] The player can decode the video of the channel based on the video PID, and decode the audio of the channel based on the audio PID.
[0093] The player plays the decoded video and audio, allowing users to watch the channels played by that player on the playback page. Since the playback page includes a first-order number of players, users can see a first-order number of channels playing simultaneously on the playback page.
[0094] Step S300: Send a mute command to a second number of players, where the second number is less than the first number. The players are configured to: respond to the mute command, execute the mute command, and execute a stop audio decoding command according to a preset value for the first parameter, so that the players continue to decode the video of the corresponding channel while no longer decoding the audio of the corresponding channel. In some embodiments, to avoid a poor viewing experience for users due to simultaneous playback of audio from multiple channels, the smart set-top box can send a mute command to a second number of players after controlling the first number of players to start playback, so that the second number of players mute according to the mute command. The second number is less than the first number, thereby reducing the amount of audio data decoded and improving system smoothness.
[0095] In some embodiments, since the second quantity is less than the first quantity, only the second quantity of audio is decoded instead of the first quantity, which reduces resource consumption and improves system smoothness.
[0096] For example, the second quantity can be 1 less than the first quantity, so that there is only one non-mute player, ensuring the user's viewing experience. For example, if four players are created in step S200, a mute command can be sent to the second, third, and fourth players to make them play in mute mode, while the first player plays according to the default volume or the current system volume of the smart set-top box.
[0097] In some embodiments, the player is configured to, after executing a mute command, execute a stop audio decoding command based on player parameters, including a first parameter. This causes the decoding module to stop decoding the audio of the channel while decoding the video, thereby releasing system resources occupied by decoding the audio and improving the system smoothness of the smart set-top box. Since audio decoding for a second number of players is stopped on the playback page, leaving only one player for audio decoding, resource consumption is significantly reduced, improving the system smoothness of the smart set-top box.
[0098] The player, after receiving and executing the mute command, then executes the stop audio decoding command, ensuring that the channel whose audio decoding is stopped is a muted channel, not an unmute channel, thus protecting the user's viewing experience for unmute channels.
[0099] The player stops decoding the channel's audio based on the first parameter. This is to ensure the current playback scenario is a multi-screen viewing scenario before stopping decoding. If the player parameters do not include the first parameter, indicating that the current playback scenario is not a multi-screen viewing scenario, then decoding of the channel's audio will not stop. This is because, in a multi-screen viewing scenario, users typically continue to listen attentively to the audio of the unmute channels. Since the video on the mute channels continues to play normally, stopping the decoding of the muted channels will not affect the user's viewing experience. Furthermore, it improves system smoothness and allows for faster response to user operations on the smart set-top box, such as quickly responding to volume adjustments on the unmute channels.
[0100] In other playback scenarios, such as full-screen playback on a single channel, if audio decoding stops after receiving a user's mute command, the user may have accidentally pressed the mute button. Therefore, the user may immediately input an unmute command. If audio decoding is restarted at this time, it will take some time, causing the user to mistakenly believe that the unmute command was not responded to in time, thus affecting the user experience.
[0101] In some embodiments, the player may have a built-in decoding module, which initiates video decoding and audio decoding processes respectively to perform video decoding and audio decoding. The decoding module may include an audio decoding unit for audio decoding and a video decoding unit for video decoding.
[0102] In some embodiments, the player can initiate video decoding and audio decoding processes by calling an external decoding module to perform video decoding and audio decoding.
[0103] In some embodiments, executing a stop audio decoding command means calling a preset audio stream update interface to update the audio stream address of the player's decoding module to an invalid audio stream address. The player's decoding module is configured to stop decoding the audio of the corresponding channel based on the invalid audio stream address, thereby releasing the system resources required for audio decoding. At this time, the player's audio decoding process can continue to run so that after the user inputs an operation to restore the volume of the channel, such as switching the channel to play in a large-screen window or playing the channel in full screen, audio decoding of the channel can be quickly resumed. Furthermore, the decoding module can be configured to terminate the audio decoding process of the audio decoding unit after stopping audio decoding based on the invalid audio stream address, thereby releasing all system resources occupied by the decoding process, achieving further release of system resources. The decoding module can be configured to terminate the audio decoding process after stopping audio decoding at a preset interval. The preset time can be set according to actual needs, for example, it can be set to 10 seconds. If the user does not input an operation to restore the volume of the channel within the preset time, the audio decoding process can be terminated, thereby releasing all system resources occupied by the decoding process.
[0104] In some embodiments, executing a stop audio decoding instruction means directly terminating the decoding process of the audio decoding unit, thereby quickly releasing all system resources occupied by the decoding process.
[0105] As can be seen from the above embodiments, this embodiment enters the channel selection page according to the multi-screen viewing instruction, allowing the user to select multiple channels to be played. After the user selects multiple channels, a playback instruction is generated, and multiple players with a first parameter are created according to the playback instruction. The value of the first parameter indicates that the player is a player created according to the multi-screen viewing instruction. Thus, after some players execute the mute instruction, they determine that the current scenario is a multi-screen viewing scenario based on the first parameter. By executing the stop audio decoding instruction, the player decodes the video but does not decode the audio, thereby releasing system resources and improving the system smoothness of the smart set-top box.
[0106] In the playback method shown in the above embodiments, an interactive schematic diagram of the various software modules of the smart set-top box can be found here. Figure 4 ,like Figure 4 As shown, the software modules of the smart set-top box include a browser application and a player module. The browser application parses the playback page and calls the player module to implement the playback function based on the parsing result. The browser and player modules communicate across processes through Android Binder.
[0107] In some embodiments, the player module includes a player service, an API interface, a control module, a streaming media module, a TS parsing module, and a decoding module. The browser application interacts with the player module through the API interface, creating a player instance. The streaming media module retrieves streaming media data from the server; this data is in the form of TS files. The TS parsing module parses the TS files to obtain audio or video. The decoding module performs audio decoding and video decoding. There can be multiple decoding modules, for example, n modules, enabling simultaneous decoding of multiple channels. Each decoding module may include a video decoding unit and an audio decoding unit, where the video decoding unit decodes the video and the audio decoding unit decodes the audio.
[0108] The control module is used to control the operation of the streaming media module, TS parsing module, and decoding module.
[0109] In some embodiments, some or all of the functions of the player module can be integrated into the player instance. For example, a mute command can be executed by the control module to mute the player instance, or the mute command can also be executed directly by the player instance to mute the player instance; as another example, a stop decoding command can be executed by the control module to set the audio stream address of the player instance to an invalid audio stream address, or the stop decoding command can also be executed directly by the player instance to set the audio stream address to an invalid audio stream address.
[0110] In some embodiments, the process of a browser application calling a player module to implement playback functionality includes: the browser application sending a player creation instruction to the control module of the player module via an API interface, the player creation instruction including player parameters; the control module of the player module creating a first number of player instances, such as player instance 1, player instance 2, ..., player instance n, where n is the first number; each player instance obtaining streaming media data of the corresponding channel through a streaming media module, then parsing the streaming media data through a TS parsing module to obtain audio and video, and then decoding the audio and video through a decoding module, and the player instance playing the decoded data; the browser application sending a mute instruction to the control module of a second number of player modules; the control module of the player transmitting the mute instruction to the second number of player instances for processing, the player instances executing the mute instruction, thereby ceasing to play the decoded audio; the control module of the player also updating the audio stream address of the decoding module called by the player instance to an invalid audio stream address according to the mute instruction and the player parameters including the first parameter, so that the player instance continues to decode the video of the channel but no longer decodes the audio of the corresponding channel, thereby releasing system resources.
[0111] Based on the above embodiments, the overall process of the smart set-top box executing the above playback method can be found in [reference needed]. Figure 5 This is a timing diagram illustrating multi-screen simultaneous viewing according to some embodiments, such as... Figure 5 As shown, the browser application of the smart set-top box interacts with the server by calling the player module to obtain streaming media data from multiple channels and play it.
[0112] In some embodiments, such as Figure 5 As shown, after the user controls the smart set-top box to enter the multi-screen viewing page, the smart set-top box's browser application requests channel selection page data from the server, and generates the channel selection page based on the data returned by the server. See also... Figure 6 The channel selection page can include a list of channel controls and a start playback control. When a user moves focus to a channel control and presses the OK button on the remote, the smart set-top box generates a channel selection message based on whether the channel corresponding to the currently focused control is a channel to be viewed on multiple screens simultaneously. A selection indicator is displayed on the channel control, indicating that the channel is one to be viewed on multiple screens. If the user does not wish to watch that channel, they can press the OK button again. The smart set-top box, upon receiving the OK button signal and confirming that the channel corresponding to the currently focused control is indeed a channel to be viewed on multiple screens, will deselect the channel control. To select other channels, the user can move focus to the channel control corresponding to the desired channel and press the OK button on the remote again. This process continues until a first number of channels are selected for simultaneous viewing, such as 3 or 4 channels. Users can select a preset number of channels on the channel selection page, where the first number is less than or equal to the preset number, which can be 4. Figure 6 In the middle, the channels that need to be viewed on multiple screens are Channel 3, Channel 6, Channel 8, and Channel 9.
[0113] In some embodiments, when a user selects a channel control, the channel selection information generated by the browser application includes location information, which corresponds to the playback area of the channel on the playback page. The playback page includes four playback areas: a first area 601, a second area 602, a third area 603, and a fourth area 604. The first area 601 is located on the left side of the playback page and has a relatively large area. The second, third, and fourth areas 602 are vertically distributed to the right of the first area 601 and have relatively smaller areas. These four playback areas do not obstruct each other. The player instance creates windows of appropriate sizes based on the location information of the playback areas. These windows are used to display the video feed of the channel. The window displayed in the first area 601 is a large-screen window, while the windows in the second, third, and fourth areas 602 are small-screen windows. The browser application determines the position information based on the order in which the user selects the channel controls. Specifically, the first channel control selected by the user is assigned to the first area 601, the second to the second area 602, the third to the third area 603, and the fourth to the fourth area 604. To help users understand which channel will play in the first area 601, a large icon is displayed for the channel control corresponding to the first area 601 on the channel selection page. This icon indicates that the channel corresponding to that control will play in the first area 601. If the user wants to adjust the channel playing in the first area 601, they can move the focus to the desired channel control in the first area 601 and press the left or right button on the remote control. This will cause the browser application to swap the position of that channel control with the original position of the channel control corresponding to the first area 601 in the channel selection information.
[0114] In some embodiments, when a user triggers the start playback control, the browser application generates playback instructions corresponding to a first number of channel controls in response to the trigger, based on the start playback control being configured to do so.
[0115] In some embodiments, after the user selects a first number of channel controls, no further input is sent to the smart set-top box. After a period of inactivity, such as 10 seconds, the smart set-top box automatically generates playback instructions corresponding to the first number of channel controls based on the number of channel selections. By automatically generating playback instructions for the first number of channel controls, user operations are reduced, and the convenience of multi-screen playback is improved.
[0116] The browser application generates a playback page based on playback instructions. The playback page is configured to create a first number of players based on the first number of channel controls corresponding to the root playback instructions. A player creation instruction, including player parameters, is sent to the player module. The player module creates the first number of player instances based on these parameters, for example, player instances 1 to 4. Player instances 1 to 4 respectively retrieve streaming media data for their respective channels from the server, parse the streaming media data to obtain audio and video, decode the audio and video, and return the decoded data to the browser application's window for rendering and display. The browser application's playback page updates in real time based on the received audio and video, enabling multiple channels to play simultaneously on the playback page. For example, if the user... Figure 6 The channel selection page shown has selected channels 3, 6, 8, and 9 as the channels to be played in sequence. Therefore... Figure 7 As shown, the video from channel 3 will be played in zone 1 601, the video from channel 6 will be played in zone 2 602, the video from channel 8 will be played in zone 3 603, and the video from channel 9 will be played in zone 4 604.
[0117] On this playback page, the focus is located by default in the first area 601. Users can move the focus area using the directional keys on the remote control. When the focus is in one of the areas, users can press the menu button on the remote control to display an editing overlay on the playback page. The editing overlay can include a switch to large screen control, which switches the current channel to the first area 601 for display. When the focus is in the first area, the switch to large screen control is not triggered; when the focus is in the second area 602 to the fourth area 604, the switch to large screen control can be triggered. When the focus is in one of the areas, users can also press the OK button on the remote control to control the video in the current area to play in full screen.
[0118] In some embodiments, the browser application is configured, based on the playback page, to send a mute command to a second number of player instances after sending the player creation command. The player instances requiring the mute command are those playing in the second region 602 to the fourth region 604, excluding those playing in the first region 601. The mute command includes the channel information to be muteed, and the player module determines the player instance to be mute based on this channel information. Figure 7For example, the browser application sends a mute command to player instances 2-4. Upon receiving the mute command, the player module mutes player instances 2-4 and sets their audio stream addresses to invalid audio stream addresses. This causes player instances 2-4 to only decode the video of the corresponding channel, not the audio, and return the decoded video to the corresponding area of the browser application for playback. Before setting the audio stream address to invalid, this address can be recorded for easy restoration of the invalid address using an audio decoding restoration command when volume needs to be restored. After executing the audio decoding restoration command, the current playback progress of the video can be obtained, and the channel's audio can be decoded starting from the current playback progress to ensure audio-visual synchronization. The player module does not mute player instance 1 according to the mute command, allowing player instance 1 to continue playing the decoded video and audio in the first area 601. The implementation code is as follows:
[0119] Init_iptv_player(id1, vidpid = x100, audipd = 0x200) / / Records the audio stream address and video stream address
[0120] `iptv_player_setvolume(id1,volume=50);` / / Executes a mute command, thus setting the volume of id1 to 50. id1 corresponds to a channel.
[0121] iptv_player_updateAudioPid(id1,0x1fff) / / Update audioopid
[0122] Init_iptv_player(id2,vidpid=x300,audipd=0x400)
[0123] `iptv_player_setMute(id2,true);` / / Executes the mute command, thus muting id2.
[0124] iptv_player_updateAudioPid(id2,0x1fff) / / Executes the stop audio decoding command, thereby updating audioPid.
[0125] Init_iptv_player(id3,vidpid=x500,audipd=0x600)
[0126] `iptv_player_setvolume(id3,0);` / / Executes the mute command, thus setting the volume of id3 to 0.
[0127] iptv_player_updateAudioPid(id3,0x1fff) / / Update audioopid
[0128] Init_iptv_player(id4,vidpid=x700,audipd=0x800)
[0129] Iptv_player_setMute(id4,true); / / Executes the mute command, thus setting id4 to mute.
[0130] In some embodiments, the decoding module and the streaming media module are two independent modules. The decoding module stopping audio decoding of a channel does not affect the streaming media module's continued downloading of the channel's audio. The advantage of this is that, in multi-screen viewing scenarios, users can switch between muted and unmute channels, restoring the volume of the previously muted channel. Therefore, by continuing to download the audio of the previously muted channel, upon receiving an operation to restore the volume of that channel, the audio can be quickly decoded and played, thus improving the efficiency of volume restoration. Furthermore, to improve system smoothness, downloaded audio for channels that are not being decoded can be periodically deleted to free up system resources.
[0131] On a multi-screen playback page, the process of switching between a muted channel and a non-mute channel can be found in [link to relevant documentation]. Figure 8 This is a timing diagram of window switching according to some embodiments. The browser application generates window switching instructions based on the window switching operation.
[0132] See Figure 9 Currently, the first area 601 is playing channel 3 with the first player, and the second area 602 is playing channel 6 with the second player. The browser application on this multi-screen playback page can receive window switching operations. For example, when the user moves the focus to the second area 602, they can press the menu button on the remote control to bring up the editing overlay on the playback page, triggering the switch to the large screen control on the editing overlay. Based on this window switching operation, the browser application generates a window switching command. This command is used to play the second player in the large screen window. The window switching command includes the channel parameters currently playing in the first area 601 and the channel parameters of the currently focused area. The browser application sends the window switching command to the player module. The player module's control module resets the playback position and volume of the relevant player instance according to the window switching command.
[0133] For example, according to the window switching instruction to switch the positions of the first player and the second player, that is, to switch window 1 and window 2, the position of player instance 1 can be updated to the second area 602. That is, the window of player instance 1 is adjusted to be the same size as the second area 602 and the position is located in the second area 602. Player instance 1 is set to mute and the audio stream address of player instance 1 is set to an invalid audio stream address, so that player instance 1 only decodes the video of the corresponding channel and does not decode the audio, and returns the decoded video to the browser application for playback.
[0134] Based on the window switching instruction to switch the positions of the first and second players, the position of player instance 2 is updated to the first region 601. This means adjusting the window of player instance 2 to the same size as the first region 601 and placing it within the first region 601. Player instance 2 is then set to unmute, and its audio stream address is set to the original audio stream address. This allows player instance 2 to simultaneously decode the video and audio of the corresponding channel and return the decoded video and audio to the browser application for playback. See also... Figure 10 After the user inputs the action of switching windows, the playback positions of Channel 3 and Channel 6 are swapped. The code is as follows:
[0135] `iptv_player_setMute(id1,true);` / / Sets id1 to mute.
[0136] iptv_player_updateAudioPid(id1,0x1fff) / / Executes the stop audio decoding command, thereby updating the audio PID of id1 to an invalid audio PID.
[0137] iptv_player_updateAudioPid(id2,0x200) / / Executes the audio decoding recovery command, thereby recovering the audio PID originally recorded in id2.
[0138] `iptv_player_setMute(id2, false);` / / Executes the unmute command, thus unmuteing `id2`.
[0139] Iptv_player_setvolume(id2,volume=50); / / Set the volume of id2 to 50.
[0140] In some embodiments, executing a mute command and executing a stop audio decoding command can be integrated into executing a small screen playback command, and executing a unmute command and executing a resume audio decoding command can be integrated into executing a large screen playback command. This allows the player instance to execute multiple operations in succession when a single command is sent to it, thereby improving the switching speed.
[0141] In some embodiments, if a user inputs a full-screen playback operation, for example, when the focus is on the third region 603, by pressing the OK button on the remote control, the user can input a full-screen playback operation for the third player. The browser application generates a full-screen playback instruction and sends the full-screen playback instruction to the player module. The player module controls the corresponding player instance to play in full screen and controls the other player instances to exit playback, so as to release the system resources occupied by these players.
[0142] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this disclosure, and are not intended to limit them. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure.
Claims
1. A smart set-top box, characterized in that, include: Input interface, used for communication with the server; Output interface, used for communication connection with display devices; A processor, connected to the input and output interfaces, is configured to: In response to a multi-screen viewing command, a channel selection page is generated, the channel selection page including a list of channel controls; In response to the playback command corresponding to the first number of channel controls in the channel control list, a playback page is generated, and a first number of players are created on the playback page. Each player corresponds to a channel of one of the channel controls. The player is controlled to decode the audio and video of the corresponding channel and play them on the playback page. The first number is greater than 1. The player is set with a first parameter. The value of the first parameter is a preset value. The preset value indicates that the player is created according to the multi-screen viewing command. A mute command is sent to a second number of players, wherein the second number is less than the first number. The players are configured to: execute the mute command in response to the mute command, and execute a stop audio decoding command according to the preset value of the first parameter, so that the players continue to decode the video of the corresponding channel while no longer decoding the audio of the corresponding channel.
2. The smart set-top box according to claim 1, characterized in that, The player is configured to execute a stop audio decoding instruction, which causes the player to continue decoding the video of the corresponding channel while ceasing to decode the audio of the corresponding channel, including updating the audio stream address of the corresponding channel to an invalid audio stream address.
3. The smart set-top box according to claim 1, characterized in that, The processor is also configured to: In response to a window switching command, a small-screen playback command is sent to the first player and a large-screen playback command is sent to the second player. The players on the playback page include the first player and the second player. The window of the first player is a large-screen window, and the window of the second player is a small-screen window. The window switching command is used to play the second player in the large-screen window. The first player is configured to: execute the mute command and the stop audio decoding command according to the small screen playback command, so that the player continues to decode the video of the corresponding channel while no longer decoding the audio of the corresponding channel; The second player is configured to: execute a demute command and a resume audio decoding command according to the large screen playback command, so that the second player can decode the audio of the corresponding channel while continuing to decode the video of the corresponding channel.
4. The smart set-top box according to claim 3, characterized in that, The second player is configured to execute a resume audio decoding instruction, including: the second player updating the audio stream address of the corresponding channel to the audio stream address of the second player before executing the stop audio decoding instruction.
5. The smart set-top box according to claim 4, characterized in that, The second player is also configured as follows: After executing the audio decoding recovery command, obtain the current playback progress of the video corresponding to the second player; The audio corresponding to the second player is decoded starting from the current playback progress.
6. The smart set-top box according to claim 1, characterized in that, The processor is also configured to: In response to a full-screen playback command, the full-screen playback command is sent to a third player, and an exit player command is sent to the other players. The player on the playback page includes the third player, and the control object of the full-screen playback command is the third player.
7. A playback method, characterized in that, For use in a smart set-top box, the method includes: In response to a multi-screen viewing command, a channel selection page is generated, the channel selection page including a list of channel controls; In response to the playback command corresponding to the first number of channel controls in the channel control list, a playback page is generated, and a first number of players are created on the playback page. Each player corresponds to a channel of one of the channel controls. The player is controlled to decode the audio and video of the corresponding channel and play them on the playback page. The first number is greater than 1. The player is set with a first parameter. The value of the first parameter is a preset value. The preset value indicates that the player is created according to the multi-screen viewing command. A mute command is sent to a second number of players, wherein the second number is less than the first number. The players are configured to: execute the mute command in response to the mute command, and execute a stop audio decoding command according to the preset value of the first parameter, so that the players continue to decode the video of the corresponding channel while no longer decoding the audio of the corresponding channel.
8. The playback method according to claim 7, characterized in that, The execution of the stop audio decoding instruction, which causes the player to continue decoding the video of the corresponding channel while ceasing to decode the audio of the corresponding channel, includes updating the audio stream address of the corresponding channel of the player to an invalid audio stream address.
9. The playback method according to claim 7, characterized in that, The method further includes: In response to a window switching command, a small-screen playback command is sent to the first player and a large-screen playback command is sent to the second player. The players on the playback page include the first player and the second player. The window of the first player is a large-screen window, and the window of the second player is a small-screen window. The window switching command is used to play the second player in the large-screen window. The first player is configured to: execute the mute command and the stop audio decoding command according to the small screen playback command, so that the player continues to decode the video of the corresponding channel while no longer decoding the audio of the corresponding channel; The second player is configured to: execute a demute command and a resume audio decoding command according to the large screen playback command, so that the second player can decode the audio of the corresponding channel while continuing to decode the video of the corresponding channel.
10. The playback method according to claim 9, characterized in that, The execution of the audio decoding recovery instruction includes: the second player updating the audio stream address of the corresponding channel to the audio stream address of the second player before executing the audio decoding stop instruction.