CN107566855B - Method for quickly switching channels, server and set top box - Google Patents

Method for quickly switching channels, server and set top box Download PDF

Info

Publication number
CN107566855B
CN107566855B CN201610514886.0A CN201610514886A CN107566855B CN 107566855 B CN107566855 B CN 107566855B CN 201610514886 A CN201610514886 A CN 201610514886A CN 107566855 B CN107566855 B CN 107566855B
Authority
CN
China
Prior art keywords
media stream
channel
code rate
server
target channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610514886.0A
Other languages
Chinese (zh)
Other versions
CN107566855A (en
Inventor
韦家毅
李耀辉
王杨忠
蒋勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610514886.0A priority Critical patent/CN107566855B/en
Priority to PCT/CN2017/089790 priority patent/WO2018001184A1/en
Publication of CN107566855A publication Critical patent/CN107566855A/en
Application granted granted Critical
Publication of CN107566855B publication Critical patent/CN107566855B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments

Abstract

The embodiment of the application relates to a method for quickly switching channels, a server and a set top box, comprising the following steps: sending an FCC request to an FCC server, receiving a media stream with a first code rate of a target channel from the FCC server, and playing the media stream with the first code rate of the target channel; sending a multicast join request to a multicast server according to a multicast join notification received from an FCC server; receiving a media stream of a second code rate of the target channel from the FCC server, wherein the second code rate is higher than the first code rate; receiving the media stream of the second code rate of the target channel from the multicast server; sending a media stream termination request to the FCC server; and playing the media stream with the second code rate of the target channel according to the media stream with the second code rate of the target channel received from the FCC server and the media stream with the second code rate of the target channel received from the multicast server. The set-top box receives the media stream in a shorter time and starts playing, and the time for switching channels is shortened.

Description

Method for quickly switching channels, server and set top box
Technical Field
The present application relates to the field of video media technologies, and in particular, to a method, a server, and a set top box for fast channel switching.
Background
Channel switching is a basic user experience of a conventional television, and in order to provide an optimal user experience for an Internet Protocol Television (IPTV), a level of a channel switching speed must reach or exceed that of the conventional television, and a picture quality played during channel switching is to be ensured. Therefore, the time delay of channel switching is effectively reduced, the user experience effect of playing the picture during the channel is ensured, and the method is of great importance to the success of IPTV.
The existing Fast Channel Change (FCC) server can be deployed, and the delay of channel switching can be reduced from 2.5 seconds to 1 second, but the delay of 1 second is still very long, and the channel switching of IPTV is still slower than that of the traditional television, and the requirement of user experience still cannot be met.
Disclosure of Invention
The embodiment of the application provides a method, a device and a system for fast switching channels, which reduce the time consumed by channel switching in an IPTV system and improve the user experience.
In one aspect, an embodiment of the present application provides a method for fast channel switching. The method comprises the following steps: the set-top box sends a channel fast switching request to the channel fast switching server, wherein the channel fast switching request comprises the identification of the target channel, so that the channel fast switching server can send the media stream of the target channel to the set-top box according to the identification of the target channel, and the set-top box can play the media stream with the first code rate after receiving the media stream with the first code rate. At this time, the transmitted media stream is a low-bit-rate media stream, that is, a first-bit-rate media stream, and since the media stream that the channel fast switching server starts playing is a low-bit-rate media stream, the channel fast switching server can fast transmit the cached media stream to the set-top box in a short time, so that the set-top box can play the low-bit-rate media stream in a short time, and a user can experience very fast channel switching. Generally speaking, after the channel fast switching server finishes sending the media stream with the first code rate within the set time, a multicast join notification is sent to the set-top box, and the media stream with the high code rate, that is, the media stream with the second code rate, is sent to the set-top box. After the set top box receives the media stream, the set top box acquires that the multicast which needs to be added into the multicast server at present is sent to the multicast server, then the set top box can receive the high-code-rate media stream of the target channel from the multicast server, at the moment, the channel fast switching server needs to be informed to stop sending the media stream, a media stream termination request is sent to the channel fast switching server, the channel fast switching server receives the media stream termination request, the high-code-rate media stream which is not sent to the set top box by the multicast server is sent to the set top box in a supplementing mode, and after the sending is completed, the sending of the media stream to the set top box. Therefore, the set-top box combines the high-code-rate media stream sent by the multicast server with the high-code-rate media stream sent by the channel fast switching server, plays the high-code-rate media stream, and then directly receives the high-code-rate media stream sent by the multicast server, thereby completing the fast switching of the channel. According to the method, since the low-bit-rate media stream is received from the FCC server at the beginning, the media stream of the target channel is quickly sent to the set-top box, so that the set-top box can receive the media stream in a shorter time and start playing, and the time for switching channels is shortened. And because the media stream is low in code rate, the network bandwidth required by sending the media stream is also reduced, and the impact of the fast channel switching process on the network bandwidth is small.
In one possible design, the media stream sent by the multicast server in a multicast mode or the media stream sent by the FCC server in a unicast mode is transmitted in the form of data packets (e.g., RTP packets) during the transmission process. That is to say: the media stream with the first code rate of the target channel can be carried in a unicast low-code-rate data packet, the media stream with the second code rate of the target channel received from the channel fast switching server can be carried in a unicast high-code-rate data packet, and the media stream with the second code rate of the target channel received from the multicast server can be carried in a multicast high-code-rate data packet.
In another possible design, the media stream may be embodied as individual segments, such as: and (6) dividing the dash into pieces. The encoder performs slice division on the media content according to the time sequence, such as: every 2 seconds, a piece of media content may be divided into individual segments. That is, 0-2 seconds is slice 1,2-4 seconds is slice 2,4-6 seconds is slice 3, and so on. Since each slice is an independent file, the set-top box (or a player comprised by the set-top box) can play the independent slice. Generally, the sending of the media stream with the first code rate in the time set by the channel fast switching server is completed, specifically, the channel fast switching server finishes sending the independent segments with 1 or more than 1 of the cached first code rate. And sending the high-code-rate media stream, namely the media stream with the second code rate, to the set top box, specifically, after the cached fragment with the first code rate is sent, sending the fragment with the second code rate to the set top box.
In another possible design, the set top box may decode the unicast high-rate data packet received from the channel fast switching server and the multicast high-rate data packet received from the multicast server into one segment, and play the segment. It can also be said that the unicast high-rate data packet received from the channel fast switching server and the multicast high-rate data packet received by the multicast server are two parts of an independent fragment, so that the set-top box (or a player included in the set-top box) can play only by decoding the two data packets into an independent fragment.
In another possible design, the media stream may be one of a video stream, an audio stream, or a subtitle stream, or any mixture thereof.
In another aspect, an embodiment of the present application provides a method for fast channel switching. The method comprises the following steps: the FCC server receives an FCC request sent by the set-top box, and sends a low-bit-rate media stream of a target channel to the set-top box according to the identification of the target channel contained in the FCC request; and when the low-code-rate media stream of the target channel within the set time is sent, stopping sending the low-code-rate media stream to the set top box, sending a multicast join notification to the set top box, and sending the high-code-rate media stream of the target channel to the set top box. When the set-top box receives the high-bit-rate media stream sent by the multicast server, the FCC server receives a media stream termination request sent by the set-top box, and at this time, the FCC server may stop sending the high-bit-rate media stream of the target channel to the set-top box.
In one possible design, the FCC server receives the media streams of the channels (including the target channel) sent by the multicast server, and since the FCC server only needs to implement fast channel switching, the FCC server does not permanently store the received media streams, but only caches the low-bitrate and high-bitrate media streams of the target channel for a certain time. Since the FCC server continuously receives the media stream sent by the multicast server, buffering the media stream for a certain time is equivalent to buffering the media stream of the sliding window. For example: the media stream is buffered for 10 seconds all the time, and when a new media stream of 1 second is received, the oldest media stream of 1 second is discarded. As in the above method, the media stream may be in the form of segments, for example, one segment in 2 seconds, and a media stream of 10 seconds may be 5 segments. The sending of the low-bit-rate media stream of the target channel within the set time by the FCC server may specifically be: and sending the buffered media stream with the low code rate of 10 seconds (equivalent to 5 fragments) to the set top box to be finished (the finishing mark is that the sending of one complete fragment is finished). At this time, the set top box already has 10 seconds of media stream to be played, and in order to improve the viewing experience of the user, the subsequent set top box can play the media stream with high code rate, so that the FCC server can stop sending the media stream with low code rate to the set top box, re-send the media stream with high code rate, and inform the set top box to join in multicast.
In another possible design, since the set-top box also receives the media stream transmitted by the target channel from the same multicast server, that is, the media streams received by the set-top box from the FCC server and the multicast server are both the same source media stream, their fragmentation divisions are the same. As described in the above method, for the same content, their corresponding fragments are the same, the data packets transmitting the content are the same, and the sequence numbers (the sequence numbers are time-sequential) corresponding to the data packets are naturally the same. The media stream termination request received from the set top box contains the serial number of the first multicast high-code-rate data packet of the target channel received from the multicast server, and as long as the FCC server sends the data packet with high code rate before the serial number (which belongs to the same fragment as the first multicast high-code-rate data packet received by the set top box) to the set top box, the set top box can compose the high-code-rate media streams received from the FCC server and the multicast server into an independent fragment for playing, and at this time, the FCC server also needs to stop sending the media stream with the second code rate of the target channel to the set top box.
In another aspect, an embodiment of the present invention provides a set top box, where the set top box has a function of implementing a behavior of the set top box in the above method design. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions. The modules may be software and/or hardware.
In one possible design, the set-top box includes a transceiver and a processor, and the receiver is configured to support the set-top box to send a channel fast switching request, a media stream termination request, and a multicast join request to the FCC server, receive various instructions or media streams, such as a media stream at a first code rate, a media stream at a second code rate, a multicast join notification, and receive media at the second code rate from the multicast server. And the processor controls the set top box to play the first code rate media stream or the second code rate media stream.
In yet another aspect, the embodiments of the present invention provide an FCC server having a function of implementing the FCC server behavior in the above method design. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions. The modules may be software and/or hardware.
In one possible design, the FCC server is configured to include a transceiver and a processor, and the receiver is configured to support the FCC server to receive the FCC request, the media stream termination request, and send the media stream at the first bitrate, the media stream at the second bitrate, and the multicast join notification to the set-top box. And the processor controls the FCC server to start or stop sending the media stream with the first code rate and the media stream with the second code rate to the set-top box.
In still another aspect, an embodiment of the present invention provides a communication system, which includes the set top box and the FCC server described in the above aspects.
In still another aspect, an embodiment of the present invention provides a computer storage medium for storing computer software instructions for the set-top box, which includes a program designed to execute the above aspects.
In yet another aspect, embodiments of the present invention provide a computer storage medium for storing computer software instructions for the FCC described above, which includes a program designed to perform the above aspects.
Compared with the prior art, in the scheme provided by the invention, as the FCC server sends the low-bit-rate media stream at the beginning, the time for transmitting the low-bit-rate media stream is shortened, and the time for the set-top box to receive the low-bit-rate media stream is shortened, the video of the target channel can be played in a short time, so that the waiting time of the set-top box and the time for switching the channel are shortened. In addition, because the transmitted media stream is low in code rate, the bandwidth consumed by the media stream transmitted between the FCC server and the set top box is reduced, the congestion situation is avoided, and the FCC efficiency and performance are improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic network diagram of a system for fast channel switching according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a computer device according to an embodiment of the present invention;
fig. 3 is a schematic flow chart illustrating a method for fast switching channels according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a set-top box according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a fast channel switching server according to an embodiment of the present invention.
Detailed Description
In order to make the purpose, technical solution and beneficial effects of the present application more clear and more obvious, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
First, a main idea of fast channel switching according to an embodiment of the present invention is introduced, including: the set top box sends the FCC request to the FCC server, so that the channel fast switching server can send the media stream of the target channel to the set top box according to the identification of the target channel contained in the FCC request, and at the beginning, the FCC server sends the media stream with low code rate to the set top box. However, the low bit rate is not good at all, so that the playing definition is reduced, and the set-top box is also a received video stream with a high bit rate after being added into the multicast server, so that the video stream needs to be transmitted to the set-top box to be switched between a high bit rate and a low bit rate. That is, after the FCC server finishes sending the media stream with the first code rate within the set time, it will send a multicast join notification to the set-top box, and send the media stream with a high code rate to the set-top box. After the set top box receives the media stream, the set top box acquires that the multicast which needs to be added into the multicast server at present is sent to the multicast server, then the set top box can receive the high-code-rate media stream of the target channel from the multicast server, at the moment, the channel fast switching server needs to be informed to stop sending the media stream, a media stream termination request is sent to the channel fast switching server, the channel fast switching server receives the media stream termination request, the high-code-rate media stream which is not sent to the set top box by the multicast server is sent to the set top box in a supplementing mode, and after the sending is completed, the sending of the media stream to the set top box. Therefore, the set-top box combines the high-code-rate media stream sent by the multicast server with the high-code-rate media stream sent by the channel fast switching server, plays the high-code-rate media stream, and then directly receives the high-code-rate media stream sent by the multicast server, thereby completing the fast switching of the channel.
As shown in fig. 1, a system framework diagram applied by the simple channel fast switching method of the embodiment of the present invention includes: a live source 101, an Adaptive Bit Rate (ABR) encoder 102, a live relay function (MRF) 103, a multicast server 104, a Fast Channel Change (FCC) server 105, and a Set Top Box (STB) 106. The live source 101 is configured to output a live media stream, where the media stream may include one or more of a video stream, an audio stream, and a subtitle stream. Generally speaking, the media stream may be a video stream, an audio stream, or a subtitle stream separately, in which case the live source 101 may output the video stream, the audio stream, or the subtitle stream separately to the ABR encoder 102. The live source 101 may also output a mixed media stream of a video stream and an audio stream, or a mixed media stream of a video stream, an audio stream, and a subtitle stream to the ABR encoder 102. However, no matter the live source 101 outputs a single video stream, an audio stream or a subtitle stream, or a mixed media stream such as a video stream and an audio stream, the technical solutions implemented by the embodiments of the present invention are the same, and the details of the solutions are similar.
The ABR encoder 102 receives the media stream pushed from the live broadcast source 101, and encodes the media stream according to different bit rates, thereby forming 2 or more than 2 media streams. Generally, the ABR encoder 102 can encode the same media stream with at least two different code rates, such as: low code rate and high code rate, the low code rate is the media stream with lower definition, such as: standard definition video, high bit rate is a media stream with higher definition, such as: high definition video or ultra high definition video. Generally, a low bit rate media stream is used for fast channel switching, and a high bit rate media stream is mainly used for multicast playing. The media stream may be encoded in various ways, such as: dynamic Adaptive Streaming over HTTP (dash) encoding, HTTP Live Streaming (HLS) encoding, or other formats may be used. It should be noted that: no matter what code rate or type of format the ABR encoder 102 encodes, as long as the same media stream is transmitted by the live source 101, the partitions of the segments between different media streams formed after encoding the media stream are the same, such as: it starts from 0s and is coded in one slice every 2 seconds. Therefore, the smooth switching can be realized by switching the media streams with different code rates, and the problem of picture loss or picture repetition is avoided. ABR encoder 102 will send the encoded media stream to MRF 103.
The MRF103 receives the media stream sent by the ABR encoder 102, and the MRF103 sends the media stream with different code rates to the multicast server 104. Of course, there may be more than one MRF103, and no limitation is made here.
The multicast server 104 receives the media streams with different bit rates sent by the MRF103, and these media streams serve as the content of multicast transmission.
The FCC server 105 is connected to the multicast server 104, and obtains media streams with different bit rates from the multicast server 104 by a multicast method. The FCC server 105 obtains media streams with different bit rates from the multicast server 104 as long as the FCC server is in an operating state. In order to enable fast channel switching, the FCC server 105 caches the media streams of all bit rates for a period of time (a certain number of segments) for each channel. For example: FCC server 104 caches 30 seconds (15 slices) of high rate media stream and 30 seconds (15 slices) of low rate media stream for each channel. When a new one of the shards can be received from the multicast server 104, the oldest cached shard is discarded. That is, the same number of fragmented media streams is always maintained. Media streams usually consist of individual fragments, and during transmission, fragments are usually compressed into Real-time Transport Protocol (RTP) messages for transmission, and since an RTP message usually has a size of about 1500 bytes, a fragment may have tens of kbytes, hundreds of kbytes, or even M. Therefore, a fragment may be transmitted by using a plurality of RTP packets, and each RTP packet is assigned a sequence number according to a time sequence, that is, the sequence number on each RTP packet may be unique. The multicast server 104 may also discard the oldest buffered RTP packet when it receives a new RTP packet. In the process of fast switching channels, the FCC server 105 first sends a low-bit-rate media stream to the STB106, and after the buffered segment is sent, the FCC server 105 sends a high-bit-rate media stream to the STB106 at a normal rate.
The STB106 is a user client, the STB106 is respectively in communication connection with the multicast server 104 and the FCC server 105, the ABR encoder 102 is in communication connection with the live broadcast repeater 103, and the live broadcast repeater 103 is in communication connection with the multicast server 104. The communication connection can be implemented in various ways, such as: through the internet, wireless networks (3G/4G/5G), direct communication, and the like. In fast channel switching, the STB106 receives a low-bitrate media stream from the FCC server 105, then gradually receives a high-bitrate media stream from the FCC server 105, and finally receives a high-bitrate media stream from the multicast server 104. The STB106 itself may buffer the media stream (of a certain number of slices) for a period of time. Usually, the STB106 also includes a player, and when the media stream is received, the player of the STB106 can realize playing.
In the scheme, the FCC server caches and receives the fragments of all code rate media streams, and when the channels are rapidly switched, the lowest code rate code stream is rapidly pushed to the client so as to rapidly start playing. After the client starts playing the new channel program, the FCC server pushes the code stream with higher code rate to the client, so that the image quality seen by the user shows gradually and smoothly improved effect in the channel switching process, and the fast channel switching is realized.
Fig. 2 is a schematic diagram of a computer device according to an embodiment of the present invention. The computer device 200 comprises at least one processor 201, a communication bus 202, a memory 203 and at least one communication interface 204.
The processor 201 may be a general purpose Central Processing Unit (CPU), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of programs in accordance with the inventive arrangements.
The communication bus 202 may include a path that conveys information between the aforementioned components. The communication interface 204 may be any device, such as a transceiver, for communicating with other devices or communication Networks, such as ethernet, Radio Access Network (RAN), Wireless Local Area Network (WLAN), etc.
The Memory 203 may be a Read-Only Memory (ROM) or other type of static storage device that can store static information and instructions, a Random Access Memory (RAM) or other type of dynamic storage device that can store information and instructions, an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc Read-Only Memory (CD-ROM) or other optical Disc storage, optical Disc storage (including Compact Disc, laser Disc, optical Disc, digital versatile Disc, blu-ray Disc, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to these. The memory may be self-contained and coupled to the processor via a bus. The memory may also be integral to the processor.
The memory 203 is used for storing application program codes for executing the scheme of the invention, and the processor 201 controls the execution. The processor 201 is configured to execute application program code stored in the memory 303.
In particular implementations, processor 201 may include one or more CPUs such as CPU0 and CPU1 in fig. 2, for example, as one embodiment.
In particular implementations, computer device 200 may include multiple processors, such as processor 201 and processor 208 in FIG. 2, as an example. Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (e.g., computer program instructions).
In particular implementations, computer device 200 may also include an output device 205 and an input device 206, as one embodiment. The output device 205 is in communication with the processor 201 and may display information in a variety of ways. For example, the output device 205 may be a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display device, a Cathode Ray Tube (CRT) display device, a projector (projector), or the like. The input device 206 is in communication with the processor 201 and can accept user input in a variety of ways. For example, the input device 206 may be a mouse, a keyboard, a touch screen device, or a sensing device, among others.
The computer device 200 described above may be a general purpose computer device or a special purpose computer device. In a specific implementation, the computer device 200 may be a desktop computer, a laptop computer, a web server, a Personal Digital Assistant (PDA), a mobile phone, a tablet computer, a wireless terminal device, a communication device, an embedded device, or a device with a similar structure as in fig. 2. Embodiments of the present invention are not limited by the type of computer device 200.
The set-top box as in fig. 1 may be the device shown in fig. 2, with one or more software modules stored in the memory of the set-top box 106. The set top box 106 may implement software modules via the processor and program code in the memory to enable fast channel switching.
The FCC server in fig. 1 may be the device shown in fig. 2, with one or more software modules stored in the memory of the set-top box 105. The set top box 106 may implement software modules via the processor and program code in the memory to enable fast channel switching.
The embodiments of the present invention will be described in further detail below based on the common aspects of the present invention described above.
As shown in fig. 3, according to the method for fast switching channels provided by the present invention, media streams sent by the multicast server and the FCC server to the set top box are homologous, so that it is ensured that media streams sent by the multicast server are aligned with media fragments of media streams sent by the FCC server. The process comprises the following steps:
s301: when a user needs to switch channels during watching a television program, the channel is switched from a channel A to a channel B, and then the user sends a channel switching command to the STB through the remote controller, wherein the channel switching command comprises an identification of a switching target channel (channel B).
S302: the STB receives a channel switching command of the remote controller, disconnects the multicast link with the channel A and exits the multicast group of the channel A; and the STB sends an FCC request for channel B to the FCC server, the FCC request including an identification of channel B.
S303: and the FCC server receives the FCC request sent by the STB, and establishes a unicast connection between the STB and the FCC server according to the identification of the channel B. After establishing the unicast connection, in order to enable the STB to play the content of the channel B quickly, the FCC server initially pushes the low bit rate video stream of the channel B to the STB in a unicast manner.
In a normal operation state, the FCC server receives media streams of various channels (including a target channel) sent by the multicast server, and since the FCC server is only for implementing fast channel switching, the FCC server does not permanently store the received media streams, but only caches the media streams with low bit rate and high bit rate of the target channel within a certain time. Since the FCC server continuously receives the media stream sent by the multicast server, the media stream in the FCC server for a certain time is equivalent to a media stream that buffers a sliding window. For example: the FCC server always buffers the 10 second media stream and will drop the oldest 1 second media stream when a new 1 second media stream is received. In order to realize fast channel switching, the FCC server pushes the low-bit-rate fragments in the initial process, the bandwidth consumed by the pushed content is small, the pushing speed is increased and the pushing delay is reduced, and the set-top box can start playing quickly.
The FCC server pre-caches video streams of each multicast channel sent by the multicast server, and the video streams include a low bit rate and a high bit rate. When the channel switching requirement exists, the FCC server can quickly transmit the cached low-rate video stream to the STB, so that the quick channel switching is realized. And each fragment of the media stream is independent and does not depend on the previous fragment, so that when the FCC server sends the low-bit-rate media stream to the STB, the FCC server needs to start sending from the fragment with the earliest time in the cached media stream, and thus, the STB receives the low-bit-rate media stream which is the complete fragment and can be directly used for playing.
S304: and the STB receives the video stream pushed by the FCC server and calls a player embedded in the STB to start video playing.
S305: since the video stream of the FCC server that starts to be transmitted to the STB has a low bit rate, when all the buffered video streams of the target channel having a low bit rate can be transmitted to the STB within a short set time, the FCC server transmits a multicast join notification to the STB and starts to transmit the video stream of the channel B having a high bit rate to the STB.
Specifically, the buffered media stream with low bit rate of 10 seconds (equivalent to 5 fragments) is sent to the set top box to be finished (the finishing mark is that the sending of one complete fragment is finished). At this time, the set top box already has 10 seconds of media stream to be played, and in order to improve the viewing experience of the user, the subsequent set top box can play the media stream with high code rate, so that the FCC server can stop sending the media stream with low code rate to the set top box and re-send the media stream with high code rate.
S306: the STB receives the multicast join notification sent by the FCC server, and sends a multicast join request to the multicast server, wherein the multicast join request comprises the identifier of the channel B.
S307: and the FCC server receives the multicast adding request of the STB and adds the STB into the multicast group of the channel B according to the identifier of the channel B. At this time, the STB joins the multicast group of channel B, and the multicast server starts to push the video stream with high bit rate to the STB.
S308: the STB receives the high-bit-rate video stream pushed by the multicast server. Generally, as described in the above technical solution, the video stream is transmitted by data packets, where the data table is an RTP packet. The STB receives the individual RTP packets from the multicast server, determines the sequence number of the first multicast high rate data packet received from the multicast server, and sends a media stream termination request to the FCC server, wherein the media stream termination request comprises the sequence number of the first multicast high rate data packet. Since each RTP packet has a sequence number and the sequence number is time-sequential, as long as the RTP packet with the sequence number before the sequence number of the first multicast high-rate data packet is received from the FCC server, all the RTP packets in the fragment of the RTP packet can be filled. For example: the content corresponding to the RTP packet with the larger sequence number follows the content corresponding to the RTP packet with the smaller sequence number. The STB will continue to receive high bitrate video streams from the multicast server.
S309: the FCC server receives the media stream termination request, determines the fragment of the RTP packet according to the carried sequence number of the first RTP packet, sends all RTP packets of the fragment before the sequence number of the first RTP packet to the STB, and stops sending the high-bit-rate video stream of the target channel to the STB when the sending of all RTP packets of the fragment before the sequence number of the first RTP packet is completed.
Specifically, the media streams received by the set-top box from the FCC server and the multicast server are both the same video stream, and their fragmentation is the same. As described in the above technical solutions, for the same content, the corresponding fragments are the same, the data packets for transmitting the content are the same, and the sequence numbers corresponding to the data packets are naturally the same. The media stream termination request received from the set top box contains the serial number of the first multicast high-bit-rate data packet of the target channel received from the multicast server, and as long as the FCC server sends the high-bit-rate data packet before the serial number (which belongs to the same slice as the first multicast high-bit-rate data packet received by the set top box) to the set top box, the set top box can compose the high-bit-rate media streams received from the FCC server and the multicast server into an independent slice for playing, and at this time, the FCC server also needs to stop sending the video stream of the second bit rate of the target channel to the set top box.
S310: the STB receives the RTP packet sent by the FCC server and decompresses the RTP packet into an independent high-code-rate fragment together with the RTP packet received by the multicast server, thereby realizing the playing of a high-code-rate video and simultaneously finishing the quick switching of channels.
Since the FCC server starts to send the low-bit-rate media stream, the time for transmitting the low-bit-rate media stream is shortened, and the time for the set-top box to receive the low-bit-rate media stream is shortened, the video of the target channel can be played in a short time, thereby shortening the waiting time of the set-top box and the time for switching channels. In addition, because the transmitted media stream is low in code rate, the bandwidth consumed by the media stream transmitted between the FCC server and the set top box is reduced, the congestion situation is avoided, and the FCC efficiency and performance are improved.
As shown in fig. 4, an embodiment of the present invention further provides a schematic structural diagram of a set top box. The set-top box 400 includes: a first sending unit 401, configured to send a channel fast switching request to a channel fast switching server, where the channel fast switching request includes an identifier of a target channel; a first receiving unit 402, configured to receive the media stream with the first bitrate of the target channel from the channel fast switching server, and a first playing unit 403, configured to play the media stream with the first bitrate of the target channel; a second sending unit 404, configured to send a multicast join request to the multicast server according to the multicast join notification received from the fast channel switching server; a second receiving unit 405, configured to receive, from the channel fast switching server, a media stream with a second code rate of the target channel, where the second code rate is higher than the first code rate; a third receiving unit 406, configured to receive the media stream with the second bitrate of the target channel from the multicast server; a third sending unit 407, configured to send a media stream termination request to the channel fast switching server; a second playing unit 408, configured to play the media stream with the second bitrate of the target channel according to the media stream with the second bitrate of the target channel received from the channel fast switching server and the media stream with the second bitrate of the target channel received from the multicast server.
In the present embodiment, the set-top box 400 is presented in the form of a functional unit. An "element" may refer to an application-specific integrated circuit (ASIC), an electronic circuit, a processor and memory that execute one or more software or firmware programs, an integrated logic circuit, and/or other devices that may provide the described functionality. In a simple embodiment, those skilled in the art will appreciate that the means for preventing memory data loss may take the form shown in fig. 2. The first transmitting unit 401, the first receiving unit 402, the first playing unit 403, the second transmitting unit 404, the second receiving unit 405, the third receiving unit 406, the third transmitting unit 407, and the second playing unit 408 may be implemented by a processor and a memory of fig. 2.
An embodiment of the present invention further provides a computer storage medium, configured to store computer software instructions for the set-top box shown in fig. 4, which includes a program designed to execute the above method embodiment. By executing the stored program, the set-top box can realize the quick channel switching.
As shown in fig. 5, an embodiment of the present invention further provides a schematic structural diagram of an FCC server. The FCC server 500 includes: a switching request receiving unit 501, configured to receive a channel fast switching request sent by a set top box, where the channel fast switching request includes an identifier of a target channel; a low-bit-rate sending unit 502, configured to send a media stream with a first bit rate of the target channel to the set top box according to the identifier of the target channel; a notification sending unit 503, configured to send a multicast join notification to the set-top box after the sending of the media stream with the first code rate of the target channel within the set time is completed; a high code rate sending unit 504, configured to send a media stream with a second code rate of the target channel to the set top box, where the second code rate is higher than the first code rate; a termination request receiving unit 505, configured to receive a media stream termination request sent by the set top box; a stopping unit 506, configured to stop sending the media stream with the second bitrate of the target channel to the set top box.
In the present embodiment, the FCC server 500 is presented in the form of a functional unit. An "element" may refer to an application-specific integrated circuit (ASIC), an electronic circuit, a processor and memory that execute one or more software or firmware programs, an integrated logic circuit, and/or other devices that may provide the described functionality. In a simple embodiment, those skilled in the art will appreciate that the means for preventing memory data loss may take the form shown in fig. 2. The handover request receiving unit 501, the low rate transmitting unit 502, the notification transmitting unit 503, the high rate transmitting unit 504, the termination request receiving unit 505, and the stopping unit 506 may be implemented by the processor and the memory of fig. 2.
Embodiments of the present invention also provide a computer storage medium for storing computer software instructions for the FCC server shown in fig. 5, which includes a program designed to execute the above method embodiments. By executing the stored program, the FCC server can realize fast channel switching.
It will be apparent to those skilled in the art that embodiments of the present application may be provided as a method, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all alterations and modifications as fall within the scope of the application.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (10)

1. A method for fast channel switching, comprising:
sending a channel fast switching request to a channel fast switching server, wherein the channel fast switching request comprises an identifier of a target channel;
receiving the media stream with the first code rate of the target channel from the channel fast switching server, and playing the media stream with the first code rate of the target channel;
sending a multicast adding request to a multicast server according to the multicast adding notification received from the channel fast switching server;
receiving a media stream of a second code rate of the target channel from the channel fast switching server, wherein the second code rate is higher than the first code rate;
receiving the media stream of the second code rate of the target channel from the multicast server;
when determining that the sequence number of a first second code rate data packet is received from the multicast server, sending a media stream termination request to the channel fast switching server, wherein the media stream termination request comprises the sequence number of the first second code rate data packet;
and playing the media stream with the second code rate of the target channel according to the media stream with the second code rate of the target channel received from the channel fast switching server and the media stream with the second code rate of the target channel received from the multicast server.
2. The method of claim 1, comprising: the media stream with the second code rate of the target channel received from the channel fast switching server is loaded in a unicast high-code-rate data packet, and the media stream with the second code rate of the target channel received from the multicast server is loaded in a multicast high-code-rate data packet.
3. The method according to claim 2, wherein the playing the media stream with the second bitrate of the target channel according to the media stream with the second bitrate of the target channel received from the channel fast switching server and the media stream with the second bitrate of the target channel received from the multicast server specifically includes:
and decoding the unicast high-code-rate data packet received from the channel fast switching server and the multicast high-code-rate data packet received from the multicast server into a fragment, and playing the fragment.
4. A method for fast channel switching, comprising:
receiving a channel fast switching request sent by a set top box, wherein the channel fast switching request comprises an identifier of a target channel;
according to the identification of the target channel, sending the media stream of the first code rate of the target channel to the set top box;
after the media stream with the first code rate of the target channel within the set time is sent, a multicast join notification is sent to the set top box, and the media stream with the second code rate of the target channel is sent to the set top box, wherein the second code rate is higher than the first code rate;
and receiving a media stream termination request sent by the set top box, wherein the media stream termination request comprises a sequence number of a first second code rate data packet, and when the sending of all second code rate data packets of a segment where the second code rate data packet is located before the sequence number of the first second code rate data packet is completed, stopping sending the media stream of the second code rate of the target channel to the set top box.
5. The method of claim 4, comprising: and the media stream with the second code rate of the target channel is borne in the unicast high-code-rate data packet.
6. The method of claim 5, wherein the step of applying the coating comprises applying a coating to the substrate
The receiving a media stream termination request sent by the set top box and stopping sending the media stream of the second code rate of the target channel to the set top box specifically includes:
receiving a media stream termination request sent by the set top box, wherein the media stream termination request includes a sequence number of a first multicast high-rate data packet, and the multicast high-rate data packet carries a media stream with a second rate of the target channel received by the set top box from the multicast server;
and when the unicast high-code-rate data packet corresponding to the sequence number before the sequence number of the first multicast high-code-rate data packet is completely sent, stopping sending the media stream of the second code rate of the target channel to the set top box.
7. A set top box, comprising:
a first sending unit, configured to send a channel fast switching request to a channel fast switching server, where the channel fast switching request includes an identifier of a target channel;
a first receiving unit, configured to receive the media stream with the first bitrate of the target channel from the channel fast switching server,
the first playing unit is used for playing the media stream with the first code rate of the target channel;
a second sending unit, configured to send a multicast join request to the multicast server according to the multicast join notification received from the channel fast switching server;
a second receiving unit, configured to receive, from the channel fast switching server, a media stream with a second code rate of the target channel, where the second code rate is higher than the first code rate;
a third receiving unit, configured to receive, from the multicast server, a media stream with a second bitrate of the target channel;
a third sending unit, configured to send a media stream termination request to the channel fast switching server when determining that a sequence number of a first second code rate packet is received from the multicast server, where the media stream termination request includes the sequence number of the first second code rate packet;
and the second playing unit is used for playing the media stream with the second code rate of the target channel according to the media stream with the second code rate of the target channel received from the channel fast switching server and the media stream with the second code rate of the target channel received from the multicast server.
8. The set-top box according to claim 7, comprising: the second playing unit is specifically configured to decode a unicast high-rate data packet received from the channel fast switching server and a multicast high-rate data packet received from the multicast server into a segment, and play the segment, where a media stream with a second rate of a target channel received from the channel fast switching server is borne in the unicast high-rate data packet, and a media stream with the second rate of the target channel received from the multicast server is borne in the multicast high-rate data packet.
9. A fast channel switching server, comprising:
a switching request receiving unit, configured to receive a channel fast switching request sent by a set top box, where the channel fast switching request includes an identifier of a target channel;
a low-bit-rate sending unit, configured to send a media stream with a first bit rate of the target channel to the set top box according to the identifier of the target channel;
a notification sending unit, configured to send a multicast join notification to the set top box after the media stream with the first code rate of the target channel within a set time is sent;
the high code rate sending unit is used for sending the media stream with a second code rate of the target channel to the set top box, wherein the second code rate is higher than the first code rate;
a termination request receiving unit, configured to receive a media stream termination request sent by the set top box, where the media stream termination request includes a sequence number of a first second code rate packet;
and a stopping unit, configured to stop sending the media stream at the second code rate of the target channel to the set top box when sending of all the second code rate data packets of the segment where the second code rate data packet is located before the sequence number of the first second code rate data packet is completed.
10. The fast channel switching server according to claim 9, wherein the termination request receiving unit is specifically configured to receive a media stream termination request sent by the set top box, where the media stream termination request includes a sequence number of a first multicast high-rate data packet, where the multicast high-rate data packet carries a media stream with a second rate of the target channel received by the set top box from a multicast server;
the stopping unit is configured to stop sending the media stream of the second code rate of the target channel to the set top box after the unicast high-code-rate data packet corresponding to the sequence number before the sequence number of the first multicast high-code-rate data packet is sent, where the media stream of the second code rate of the target channel sent to the set top box is borne in the unicast high-code-rate data packet.
CN201610514886.0A 2016-06-30 2016-06-30 Method for quickly switching channels, server and set top box Active CN107566855B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610514886.0A CN107566855B (en) 2016-06-30 2016-06-30 Method for quickly switching channels, server and set top box
PCT/CN2017/089790 WO2018001184A1 (en) 2016-06-30 2017-06-23 Fast channel change method, server and set-top box

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610514886.0A CN107566855B (en) 2016-06-30 2016-06-30 Method for quickly switching channels, server and set top box

Publications (2)

Publication Number Publication Date
CN107566855A CN107566855A (en) 2018-01-09
CN107566855B true CN107566855B (en) 2020-11-10

Family

ID=60785078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610514886.0A Active CN107566855B (en) 2016-06-30 2016-06-30 Method for quickly switching channels, server and set top box

Country Status (2)

Country Link
CN (1) CN107566855B (en)
WO (1) WO2018001184A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106961625B (en) * 2017-03-13 2020-02-21 华为技术有限公司 Channel switching method and device
CN110022534B (en) * 2019-03-28 2021-06-08 山东省计算中心(国家超级计算济南中心) Data transmission method and device based on multicast
CN113992969A (en) * 2020-07-27 2022-01-28 青岛海信宽带多媒体技术有限公司 Method, device and terminal for rapidly switching digital television channels
CN114007087B (en) * 2020-07-28 2023-04-11 华为技术有限公司 Media stream switching method and device
CN112153481B (en) * 2020-08-24 2023-02-17 深圳市捷视飞通科技股份有限公司 Video data processing method, computer device, and storage medium
CN114449357A (en) * 2020-11-02 2022-05-06 青岛海信宽带多媒体技术有限公司 Method, device and terminal for optimizing IPTV multicast channel switching
CN114786029B (en) * 2022-04-18 2024-02-27 青岛海信宽带多媒体技术有限公司 Intelligent set top box and live channel switching method

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212407A (en) * 2006-12-28 2008-07-02 中兴通讯股份有限公司 Multicast channel quick start method
CN101212328A (en) * 2006-12-27 2008-07-02 中兴通讯股份有限公司 Quick start system and method for multicast channels
CN101753973A (en) * 2008-12-12 2010-06-23 华为技术有限公司 Channel switching method, device and system
CN101854533A (en) * 2010-06-10 2010-10-06 华为技术有限公司 Frequency channel switching method, device and system
CN102957672A (en) * 2011-08-25 2013-03-06 中国电信股份有限公司 Method, client side and system for self-adaptive playing of FLV (flash video) media streams
CN102970585A (en) * 2012-11-30 2013-03-13 武汉市烽视威科技有限公司 Method for quick channel switching of streaming media
CN104144359A (en) * 2013-05-10 2014-11-12 中国电信股份有限公司 Method and system for fast channel change of IPTV multicast
CN104202676A (en) * 2014-09-12 2014-12-10 北京赛科世纪数码科技有限公司 Channel switching method and system
CN104581229A (en) * 2015-01-16 2015-04-29 京东方科技集团股份有限公司 Streaming media data transmission device, method and system
CN105245946A (en) * 2014-07-10 2016-01-13 中兴通讯股份有限公司 Variable-bit-rate media stream flow control method, device and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8054849B2 (en) * 2005-05-27 2011-11-08 At&T Intellectual Property I, L.P. System and method of managing video content streams
CN101998147A (en) * 2009-08-14 2011-03-30 华为技术有限公司 Transmission method of media data, network-side apparatus and communication system
CN102843351B (en) * 2012-03-31 2016-01-27 华为技术有限公司 A kind of processing method of streaming media service, streaming media server and system
CN104980819A (en) * 2015-06-26 2015-10-14 安徽四创电子股份有限公司 Video transmission method and device

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212328A (en) * 2006-12-27 2008-07-02 中兴通讯股份有限公司 Quick start system and method for multicast channels
CN101212407A (en) * 2006-12-28 2008-07-02 中兴通讯股份有限公司 Multicast channel quick start method
CN101753973A (en) * 2008-12-12 2010-06-23 华为技术有限公司 Channel switching method, device and system
CN101854533A (en) * 2010-06-10 2010-10-06 华为技术有限公司 Frequency channel switching method, device and system
CN102957672A (en) * 2011-08-25 2013-03-06 中国电信股份有限公司 Method, client side and system for self-adaptive playing of FLV (flash video) media streams
CN102970585A (en) * 2012-11-30 2013-03-13 武汉市烽视威科技有限公司 Method for quick channel switching of streaming media
CN104144359A (en) * 2013-05-10 2014-11-12 中国电信股份有限公司 Method and system for fast channel change of IPTV multicast
CN105245946A (en) * 2014-07-10 2016-01-13 中兴通讯股份有限公司 Variable-bit-rate media stream flow control method, device and system
CN104202676A (en) * 2014-09-12 2014-12-10 北京赛科世纪数码科技有限公司 Channel switching method and system
CN104581229A (en) * 2015-01-16 2015-04-29 京东方科技集团股份有限公司 Streaming media data transmission device, method and system

Also Published As

Publication number Publication date
CN107566855A (en) 2018-01-09
WO2018001184A1 (en) 2018-01-04

Similar Documents

Publication Publication Date Title
CN107566855B (en) Method for quickly switching channels, server and set top box
EP1982260B1 (en) Method and system for streaming digital video content to a client in a digital video network
CN108347622B (en) Multimedia data pushing method and device, storage medium and equipment
US8760490B2 (en) Techniques for a rate-adaptive video conference bridge
WO2016049976A1 (en) Method and system for realizing streaming media data seamlessly connecting in intelligent home
WO2017096935A1 (en) Fast channel switching method and server, and iptv system
EP3247121B1 (en) Streaming media data transmission method, client and server
CN101938456B (en) Method, device and system for reducing media delays
US10148990B2 (en) Video streaming resource optimization
CA2758763C (en) Method and device for fast pushing unicast stream in fast channel change
WO2018166320A1 (en) Channel changing method, and apparatus
US20150095454A1 (en) Transmitting And Receiving Method Of Multimedia Video Data And Corresponding Device
CN113242436B (en) Live broadcast data processing method and device and electronic equipment
JP2018507662A (en) Recording medium and apparatus for recording program for providing low-delay live broadcast content
KR20160108342A (en) Method and apparatus for multiplexing layered coded contents
CN113905257A (en) Video code rate switching method and device, electronic equipment and storage medium
US10530828B2 (en) Method and apparatus for signaling and operation of low delay consumption of media data in MMT
CN111385647B (en) Method for controlling streaming buffer in media player and related buffering device
EP1993289A1 (en) System having improved switching times between broadcast/multicast bearers
KR100651566B1 (en) Multimedia Player Using Output Buffering in Mobile Terminal and Its Control Method
JP5610743B2 (en) Content receiving method and apparatus
US8208561B2 (en) Technique for media frame decoding
CN108632681B (en) Method, server and terminal for playing media stream
CN111866526A (en) Live broadcast service processing method and device
KR101671311B1 (en) Cloud stream service system, apparatus and cloud streaming service method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant