[go: up one dir, main page]

CN101212406A - Multicast Channel Quick Start System - Google Patents

Multicast Channel Quick Start System Download PDF

Info

Publication number
CN101212406A
CN101212406A CNA2006101703230A CN200610170323A CN101212406A CN 101212406 A CN101212406 A CN 101212406A CN A2006101703230 A CNA2006101703230 A CN A2006101703230A CN 200610170323 A CN200610170323 A CN 200610170323A CN 101212406 A CN101212406 A CN 101212406A
Authority
CN
China
Prior art keywords
multicast
player
buffer
code stream
historical
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.)
Withdrawn
Application number
CNA2006101703230A
Other languages
Chinese (zh)
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CNA2006101703230A priority Critical patent/CN101212406A/en
Publication of CN101212406A publication Critical patent/CN101212406A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种组播频道快速启动系统,包括:流服务器、头端和至少一个播放器,其中,头端产生或者中转频道的媒体数据并发送;播放器设置有缓冲区,用于播放所述媒体数据;流服务器,设置有历史缓冲区,所述历史缓存区保存有历史码流;接收所述头端发出的码流,保存在所述历史缓冲区,当所述流服务器收到所述播放器的组播请求后,所述流服务器将历史缓冲区的历史码流,以单播方式填充到所述播放器的缓冲区,当所述播放器加入组播组后,所述流服务器停止发送单播码流;所述播放器加入组播组后接收组播码流,并将所述组播码流和单播码流进行拼接。本发明有效地提高了播放启动速度,实现了快速启动组播频道的播放,提高了用户的体验。

Figure 200610170323

The invention discloses a system for quickly starting a multicast channel, comprising: a streaming server, a head end and at least one player, wherein the head end generates or transfers media data of the channel and sends it; the player is provided with a buffer for playing The media data; the stream server is provided with a historical buffer, and the historical buffer stores a historical code stream; receives the code stream sent by the head end and stores it in the historical buffer, when the stream server receives After the multicast request of the player, the stream server fills the historical code stream of the historical buffer into the buffer of the player in unicast mode, and when the player joins the multicast group, the The stream server stops sending the unicast code stream; the player receives the multicast code stream after joining the multicast group, and splices the multicast code stream and the unicast code stream. The present invention effectively improves the playback start-up speed, realizes the quick start of the playback of the multicast channel, and improves user experience.

Figure 200610170323

Description

组播频道快速启动系统 Multicast Channel Quick Start System

技术领域 technical field

本发明涉及一种流媒体技术,具体说,涉及一种组播频道快速启动的系统和方法。The invention relates to a streaming media technology, in particular to a system and method for quickly starting a multicast channel.

背景技术 Background technique

在一个现有流媒体频道系统中,头端、流服务器和播放器是最基本的组成部分,通常采用TCP/IP协议转输码流和信令,播放器和流服务器之间采用RTSP协议交换信令,在UDP或TCP协议之上承载RTP或TS等格式的载荷,传输媒体数据。一般来说,UDP较TCP更为常用。In an existing streaming media channel system, the headend, streaming server and player are the most basic components. Usually, the TCP/IP protocol is used to transfer the code stream and signaling, and the player and the streaming server are exchanged using the RTSP protocol. Signaling, carrying payloads in formats such as RTP or TS on top of UDP or TCP protocols, and transmitting media data. In general, UDP is more commonly used than TCP.

组播是UDP的一种,由于历史和现有不少网络都不能很好地支持组播,当网络不能支持组播协议时,只能由流服务器接收头端发出的码流,然后通过TCP协议或点对点的UDP协议,分发给各个播放器,我们把码流分发给其中一个播放器的过程称为单播。在一个IPTV频道系统中,单播是流服务器最为基本的功能之一。Multicast is a kind of UDP. Due to history and many existing networks cannot support multicast well, when the network cannot support multicast protocol, the stream server can only receive the code stream sent by the head end, and then pass TCP The protocol or the point-to-point UDP protocol is distributed to each player. The process of distributing the code stream to one of the players is called unicast. In an IPTV channel system, unicast is one of the most basic functions of a streaming server.

组播是TCP/IP协议中,从一个单点向多点发送相同的数据协议,发送者只需要向组播IP地址发送一份组播UDP包,然后由网络上的路由器把数据分发复制到感兴趣的接收者,不管接收者的数量,发送者的工作负荷是常数,同时,组播协议的设计,可以把网络上传输的数据量减到最小。这一特性,使得组播非常适合于频道数据的传输。Multicast is a protocol for sending the same data from a single point to multiple points in the TCP/IP protocol. The sender only needs to send a multicast UDP packet to the multicast IP address, and then the router on the network will distribute and copy the data to Interested receivers, regardless of the number of receivers, the workload of the sender is constant, and at the same time, the design of the multicast protocol can minimize the amount of data transmitted on the network. This feature makes multicast very suitable for the transmission of channel data.

如果网络支持组播协议,播放器则可以通过加入组播组,直接接收头端发出的组播码流,从而大大减轻流服务器的工作负荷和降低网络流量。由于通过组播传输码流,中间无须流服务器参与,这样减少了一个故障点,也提高了系统的可靠性。If the network supports the multicast protocol, the player can directly receive the multicast stream sent by the headend by joining the multicast group, thereby greatly reducing the workload of the streaming server and network traffic. Since the code stream is transmitted through multicast, no stream server is required to participate in the middle, which reduces a point of failure and improves the reliability of the system.

如图1所示,组播频道子系统是流媒体频道系统的一个子系统,一般来说,逻辑上没有流服务器的参与,仅仅由一个头端和数量不等的播放器组成,由于头端没有信令交互能力,头端只能按照媒体编码方法的要求,按照固有的方式发送码流。例如按照一定的时间间隔,定期发送视频媒体的I帧数据等。头端发送媒体码流时,数据发送的方向是单向的,由头端发送到播放器。As shown in Figure 1, the multicast channel subsystem is a subsystem of the streaming media channel system. Generally speaking, logically, there is no streaming server involved, and it only consists of a headend and a number of players. Without signaling interaction capabilities, the headend can only send code streams in an inherent way according to the requirements of the media encoding method. For example, according to a certain time interval, the I-frame data of the video media is sent regularly. When the headend sends the media stream, the direction of data transmission is one-way, from the headend to the player.

客户端是由用户操纵的,可能在任意一个时刻点,加入组播接收码流,因此接收到的码流的起始点是随机的。The client is manipulated by the user, and may join the multicast receiving code stream at any point in time, so the starting point of the received code stream is random.

而相当多的编码方法,尤其是视频编码方法,必须接收到一帧完整的关键帧(例如,视频编码的I帧),其解码结果才是完整正确的。收到关键帧之前接收的码流不能完全正确解码,要么是只能丢弃,要么强行解码,但解码后的数据是有误的,对于视频来说,会有马赛克或停顿等异常现象出现,同样影响用户体验。And quite a few encoding methods, especially video encoding methods, must receive a complete key frame (for example, the I frame of video encoding), and its decoding result is complete and correct. The code stream received before receiving the key frame cannot be completely decoded correctly, either it can only be discarded, or it is decoded forcibly, but the decoded data is wrong. For the video, there will be abnormal phenomena such as mosaic or pause, and the same affect user experience.

从开始接收数据,到接收到关键帧的码流,需要一段时间,这段时刻称为关键帧等待时间。关键帧等待时间取决时关键帧的发送频率,平均值为关键帧的发送间隔的1/2。It takes a period of time from the start of receiving data to the reception of the code stream of the key frame. This period is called the key frame waiting time. The key frame waiting time depends on the key frame sending frequency, and the average value is 1/2 of the key frame sending interval.

同时,为了防止传输的抖动,客户端一般都设置了缓冲区,需要首先把接收到的码流保存到缓冲区中,当缓冲区填充到一定大小时,才把媒体数据从缓冲区取出解码播放。这段缓冲区的填充,也需要一段时间,这段时间称为缓冲填充时间。At the same time, in order to prevent transmission jitter, the client generally sets a buffer. It needs to save the received code stream in the buffer first. When the buffer is filled to a certain size, the media data is taken out from the buffer, decoded and played. . The filling of this buffer also takes a period of time, which is called the buffer filling time.

同时,从播放器加入组播组,到收到组播包,也需要一段时间,这段时间称为加入组播时间,加入组播时间取决网络结构。在某些网络结构或环境下,这个时间可能非常长。At the same time, it also takes a period of time from the player joining the multicast group to receiving the multicast packet. This period of time is called the time to join the multicast, and the time to join the multicast depends on the network structure. Under certain network structures or environments, this time may be very long.

在一个码率大于1Mbps的IPTV频道系统中,关键帧的发送间隔往往设为2秒左右,同时缓冲填充时间也为2秒左右。也就是说,从用户开始点播一个频,到正常观看节目,不计加入组播时间,平均需要3秒左右的等待时间。而人在观看电视时,切换频道时能容忍的等待时间往往在1秒以内,因此有必要采用某些技术方案,提高播放启动速度,提高用户体验。In an IPTV channel system with a code rate greater than 1 Mbps, the key frame sending interval is often set to about 2 seconds, and the buffer filling time is also about 2 seconds. That is to say, from the time when the user starts ordering a channel to watching the program normally, it takes an average of about 3 seconds of waiting time, excluding the time to join the multicast. When people watch TV, the waiting time they can tolerate when switching channels is often within 1 second, so it is necessary to adopt some technical solutions to improve the playback start-up speed and improve user experience.

绝大部分播放器,都设置了最大等待时间,如果在规定的时间内,收到不到组播包,则认为播放失败,中止播放。如果出现某些特殊情况,加入组播时间大于最大等待时间,还可能造成播放失败。Most of the players have set the maximum waiting time. If the multicast packet is not received within the specified time, the playback will be considered as a failure and the playback will be stopped. In some special cases, the time to join the multicast is greater than the maximum waiting time, which may also cause playback failure.

在申请号为CN200410069507的专利申请中,提及了一些提高组播频道切换速度的技术方案。该方法的核心是当用户终端离开当前所在的组播频道时,根据所述用户终端接入的位置信息判断该组播频道下的该位置信息是否还存在其他接入的用户终端,并根据判断结果对相应组播频道的组播复制表进行维护。其目的是解决播放器从一个组播频道,切换到另一个频道时,切换时间长的问题,它工作的层次在网络设备,并没有解决前面所述的问题。In the patent application with the application number CN200410069507, some technical solutions for improving the switching speed of multicast channels are mentioned. The core of the method is when the user terminal leaves the current multicast channel, according to the location information accessed by the user terminal, it is judged whether there are other user terminals connected to the location information under the multicast channel, and according to the judgment As a result, the multicast replication table of the corresponding multicast channel is maintained. Its purpose is to solve the problem of long switching time when the player switches from one multicast channel to another. It works at the level of network equipment and does not solve the aforementioned problems.

发明内容 Contents of the invention

本发明所解决的技术问题是提供一种组播频道快速启动系统,提高了播放启动速度,实现了快速启动组播频道的播放。The technical problem solved by the invention is to provide a multicast channel quick start system, which improves the playback start speed and realizes quick start of multicast channel playback.

技术方案如下:The technical solution is as follows:

组播频道快速启动系统包括:头端和至少一个播放器,其中,The multicast channel quick start system includes: a head end and at least one player, wherein,

头端,产生或者中转频道的媒体数据并发送;The headend generates or transfers the media data of the channel and sends it;

播放器,设置有缓冲区,用于播放所述媒体数据;The player is provided with a buffer for playing the media data;

流服务器,设置有历史缓冲区,所述历史缓存区保存有历史码流;接收所述头端发出的码流,保存在所述历史缓冲区,当所述流服务器收到所述播放器的组播请求后,所述流服务器将历史缓冲区的历史码流,以单播方式填充到所述播放器的缓冲区,当所述播放器加入组播组后,所述流服务器停止发送单播码流;The streaming server is provided with a historical buffer, and the historical buffer stores a historical code stream; receives the code stream sent by the head end and saves it in the historical buffer, when the stream server receives the player's After the multicast request, the streaming server fills the buffer of the player with the historical code stream of the historical buffer in unicast mode, and when the player joins the multicast group, the streaming server stops sending unicast broadcast stream;

所述播放器加入组播组后接收组播码流,并将所述组播码流和单播码流进行拼接。After the player joins the multicast group, it receives the multicast code stream, and splices the multicast code stream and the unicast code stream.

优选的,所述流服务器以TCP方式发送码流。Preferably, the stream server sends the code stream in TCP mode.

优选的,当所述历史缓冲区耗尽时,所述流服务器向播放器发送快发结束通知。Preferably, when the history buffer is exhausted, the stream server sends a fast sending end notification to the player.

优选的,所述播放器把单播通道和组播通道接收到的RTP填充到缓冲区,填充前过滤已经收到的重复的RTP包。Preferably, the player fills the buffer with RTP received by the unicast channel and the multicast channel, and filters received duplicate RTP packets before filling.

优选的,当所述播放器加入组播组后,接收组播码流。Preferably, after the player joins the multicast group, it receives the multicast code stream.

优选的,所述流服务器从历史缓冲区的历史码流的关键帧开始,以单播方式将历史码流填充到所述播放器的缓冲区。Preferably, the stream server fills the buffer of the player with the historical code stream in a unicast manner starting from a key frame of the historical code stream in the historical buffer.

技术效果如下:The technical effect is as follows:

本发明解决了关键帧等待时间、缓冲区时间和加入组播时间三者的累积导致的播放启动速度慢的问题,有效地提高了播放的启动速度,实现了快速启动组播频道的播放,提高了用户的体验。同时,本发明也可以有效地防止意外出现的,如由于加入组播时间过长,造成的播放失败的错误。The present invention solves the problem of slow playback start-up speed caused by the accumulation of key frame waiting time, buffer time and multicast joining time, effectively improves the playback start-up speed, realizes the quick start of multicast channel playback, and improves the user experience. At the same time, the present invention can also effectively prevent accidental errors, such as playing failures caused by joining the multicast for too long.

在快发单播阶段,采用的是TCP协议,可以防止网络流量过大,通信链路拥塞造成的丢包;快发结束后,边收边发,继续以正常速度发送单播码流,直到播放器收到组播包,防止两段码流出现空档拼接不上;快发结束后,才让播放器加入组播,防止在快发阶段,组播码流的加入,进一步加激通信链路拥塞。In the fast sending unicast stage, the TCP protocol is used, which can prevent excessive network traffic and packet loss caused by communication link congestion; The player receives the multicast packet to prevent the gap between the two code streams from being spliced; after the fast sending is over, the player is allowed to join the multicast to prevent the addition of the multicast code stream during the fast sending stage, which further stimulates the communication The link is congested.

收到流服务器发出的快发结束标记播放器就加入组播分组,尽量缩短流服务器单播的时间,即尽量减轻流服务器的工作负荷;收到组播包后,尽快通知流服务器停止继续单播,把单播和组播两份码流在通信链路上重叠传输的时间减到最小。流服务器可以从历史码流中,选择从关键帧开始发送,播放器接收到码流,就可以解码播放,关键帧等待时间被缩减到0。The player will join the multicast group after receiving the fast sending end mark sent by the streaming server, so as to shorten the unicast time of the streaming server as much as possible, that is, reduce the workload of the streaming server as much as possible; after receiving the multicast packet, notify the streaming server as soon as possible to stop the unicast broadcast to minimize the overlapping transmission time of unicast and multicast streams on the communication link. The stream server can choose to start sending from the key frame from the historical code stream, and the player can decode and play the code stream after receiving the code stream, and the key frame waiting time is reduced to 0.

播放器在通知流服务器停止单播时,附带媒体包的标记性信息,流服务器可以判断到该媒体包之间,是否所有的媒体包已经发送,如果没有,则继续发送,直至通知中指定的媒体包为止,保证单播和组播码流可以无缝地拼接在一起。不管播放器加入组播时间的长短,都不影响播放器正常播放组播频道,加入组播时间对播放启动速度的影响被缩减为0。When the player notifies the stream server to stop unicast, it attaches the marked information of the media package. The stream server can judge whether all the media packages have been sent between the media packages. If not, it will continue to send until the notification specified Up to the media package, it is guaranteed that unicast and multicast streams can be seamlessly spliced together. Regardless of the length of time the player joins the multicast, it will not affect the player's normal playback of the multicast channel, and the impact of the joining time on the playback start-up speed is reduced to zero.

本发明还可以解决偶然出现的,播放器加入组播时间很长,超过播放器的最大等待时间而导致的播放失败异常。The invention can also solve the occasional play failure abnormality caused by the player joining the multicast for a long time and exceeding the maximum waiting time of the player.

附图说明 Description of drawings

图1是现有技术中组播频道系统结构图;Fig. 1 is a structural diagram of a multicast channel system in the prior art;

图2是本发明所采用的组播频道系统结构图;Fig. 2 is a structural diagram of the multicast channel system adopted by the present invention;

图3是本发明方法的基本流程图。Fig. 3 is a basic flowchart of the method of the present invention.

具体实施方式 Detailed ways

下面结合附图,对本发明的优选实施例作详细描述。The preferred embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings.

如图2所示,一个组播频道系统由头端、流服务器和数量不等的播放器组成。头端和流服务器在逻辑是两个实体,既可以是两个不同的物理上实体,也可以同一个物理的实现。流服务器实时不停地从头端接收码流,并保存到自己的历史缓冲区中。As shown in Figure 2, a multicast channel system consists of a headend, a streaming server and a number of different players. The headend and the streaming server are logically two entities, which can be two different physical entities or the same physical implementation. The streaming server continuously receives streams from the headend in real time and saves them in its own history buffer.

头端负责产生或中转频道的媒体数据,发送到不同客户的设备,与播放器之间没有信令交互。The headend is responsible for generating or transferring the media data of the channel, and sending it to different client devices, without signaling interaction with the player.

播放器设置有缓冲区,由最终用户操纵的,接收并播放媒体数据的设备。对于IPTV,则更多称为机顶盒(STB)。A player is a device with a buffer, manipulated by the end user, that receives and plays media data. For IPTV, it is more called a set-top box (STB).

流服务器是通过信令交互,为不同用户或播放器提供个性化的流媒体服务的实体。本发明中,流服务器设置有历史缓冲区,通过信令交互,为不同用户或播放器提供个性化的流媒体服务。历史缓存区保存有历史码流,当流服务器收到播放器的组播请求后,流服务器从历史缓冲区的历史码流的关键帧开始,以单播方式将历史码流填充到播放器的缓冲区。当播放器加入组播组后,流服务器停止发送单播码流。The streaming server is an entity that provides personalized streaming media services for different users or players through signaling interaction. In the present invention, the streaming server is provided with a history buffer, and provides personalized streaming media services for different users or players through signaling interaction. The history buffer area saves the historical code stream. When the stream server receives the player’s multicast request, the stream server starts from the key frame of the historical code stream in the historical buffer and fills the historical code stream into the player’s buffer. After the player joins the multicast group, the streaming server stops sending unicast streams.

处理过程如下:The process is as follows:

第一步:用户操作操纵播放器选择播放某个组播频道。Step 1: The user manipulates the player to choose to play a certain multicast channel.

第二步:播放器向流服务器发送播放组播频道的请求。Step 2: The player sends a request to play the multicast channel to the streaming server.

第三步:流服务器进行历史码流快发。Step 3: The stream server sends the historical code stream quickly.

流服务器从缓冲区中的历史码流中,选取一部分或全部码流,以快发方式,向点播该频道的播放器发送单播码流,快发的码流是从历史某一时刻点开始,到最近接收到的连续码流。The stream server selects a part or all of the code streams from the historical code streams in the buffer, and sends the unicast code streams to the player who ordered the channel in a fast sending mode. The code streams to be sent quickly start from a certain point in history , to the most recently received continuous stream.

流媒体系统中,每一小段时间内,头端或流服务器发送的码流,都应该满足这段时间内,播放器播放媒体的需求。如果一小段时间内,发送速率与需要不相匹配,一般称为速率拦动。如果一段较长时间内,发送速率连续超出播放的需要,则称之为快发。In the streaming media system, the code stream sent by the headend or the streaming server should meet the requirements of the player to play media during this period of time. If the sending rate does not match the demand within a short period of time, it is generally called rate blocking. If the sending rate continuously exceeds the playback requirement for a long period of time, it is called fast sending.

在这一步中,流服务器可以选择性采用其它方法进一步优化效果,包括:In this step, the streaming server can optionally use other methods to further optimize the effect, including:

采用TCP方式发送码流,而不是流媒体应用中常用的UDP传输协议。采用尽力而为的方式,以期采用所能达到的最快的速率发送历史码流,以通信链路允许的最大速率,在最短的时间内,完成播放器缓冲区的填充工作,把缓冲区填充时间压缩到最短。检索历史码流,从关键帧开始处开始发送。The code stream is sent in TCP mode, instead of the UDP transmission protocol commonly used in streaming media applications. Use the best-effort method to send the historical code stream at the fastest possible rate, complete the filling of the player buffer in the shortest time at the maximum rate allowed by the communication link, and fill the buffer Time is compressed to a minimum. Retrieve the historical code stream and send it from the beginning of the key frame.

第四步:流服务器向播放器发送快发结束通知。Step 4: The streaming server sends a quick sending end notification to the player.

因为快发的发送速率大于头端的正常发送速率,也即是流服务器从头端接收到码流,填充历史码流缓冲区的速率,历史缓冲区最终会被耗尽。Because the sending rate of fast sending is greater than the normal sending rate of the headend, that is, the rate at which the streaming server receives the bitstream from the headend and fills the historical bitstream buffer, the historical buffer will eventually be exhausted.

当历史缓冲区耗尽时,流服务器向播放器发送快发结束通知。When the history buffer is exhausted, the streaming server sends a fast sending end notification to the player.

在这一步,可能有多种不同的简单变换方法,包括:At this step, a number of different simple transform methods are possible, including:

在历史缓冲区耗尽前一小段时间或后一段较长时间内发送快发结束通知;或者,流服务器在此之前的信令交互中,通知播放器自己将要快发的数量,由播放器根据接收的数据量,自行计算出快发结束的点;或者,播放器根据接收的速率计算快发结束的点。A short period of time before the history buffer is exhausted or a long period of time after the end of the fast sending notification; or, the streaming server notifies the player of the number of fast sending that it will send according to the previous signaling interaction. The amount of data received, calculate the end point of the fast transmission by itself; or, the player calculates the end point of the fast transmission according to the received rate.

第五步:播放器在快发结束点前后加入组播组;Step 5: The player joins the multicast group before and after the end point of the fast sending;

第六步:流服务器以正常速率发送单播码流:Step 6: The streaming server sends the unicast stream at the normal rate:

快发结束后,流服务器一边从头端接收码流,一边发送给播放器。After the fast sending is over, the stream server sends the code stream to the player while receiving it from the head end.

如果以下的步骤执行很快,这一步有可能被跳过。This step may be skipped if the following steps are executed quickly.

第七步:当播放器收到组播包之后,通知流服务器停止发送单播码流。Step 7: After the player receives the multicast packet, it notifies the stream server to stop sending the unicast stream.

在这一步中,播放器可以更进一步,在通知中,附带从组播接收媒体包的标记信息,例如,该标记信息可以是RTP包号或时间戳等。In this step, the player can go one step further, and include the marking information of the media packet received from the multicast in the notification, for example, the marking information can be an RTP packet number or a time stamp, and the like.

第八步:流服务器收到停止通知后,停止发送单播码流。Step 8: After receiving the stop notification, the streaming server stops sending unicast streams.

如果通知中附带了媒体包的标记性信息,流服务器还可以更进一步,采用判断比较RTP包序号或时间戳大小等办法,判断到该媒体包之间,是否所有的媒体包已经发送,如果没有,则继续发送,直至通知中指定的媒体包为止。If the marked information of the media packet is attached to the notification, the stream server can go further and judge whether all the media packets between the media packets have been sent by judging and comparing the RTP packet sequence number or the size of the time stamp. , continue sending until the media package specified in the notification.

流服务器需要收到播放器已经接收到组播码流,才能停止单播的发送,因此,不管播放器加入组播时间的长短,都不影响播放器正常播放组播频道,加入组播时间对播放启动速度的影响被缩减为0。The streaming server needs to receive the multicast stream from the player before it can stop sending unicast. Therefore, no matter how long the player has joined the multicast, it will not affect the player’s normal playback of the multicast channel. The effect of playback start speed is reduced to 0.

第九步:播放器把从流服务器和组播接收到码流进行拼接,拼接成一份单一的码流进行播放。Step 9: The player splices the streams received from the streaming server and multicast into a single stream for playback.

如图3所示,在一个IPTV系统,通过本发明方法,能够提高播放器点播频道时的启动速度。As shown in FIG. 3 , in an IPTV system, the method of the present invention can improve the startup speed of the player when ordering channels.

这个IPTV系统包括三个基本实体:头端、流服务器和播放器(又称机顶盒)。头端和流服务器通过千兆以太网连接入网络,机顶盒通过4MbpsADSL接入网络,整个网络采用的是TCP/IP协议。This IPTV system consists of three basic entities: a headend, a streaming server, and a player (also known as a set-top box). The head end and streaming server are connected to the network through Gigabit Ethernet, the set-top box is connected to the network through 4Mbps ADSL, and the entire network uses TCP/IP protocol.

媒体是音视频数据,其中音频采用AAC方式编码,AAC编码无须关键帧,解码器一收到媒体包即可解码;视频采用MPEG4编码,采用MPEG4的解码器要收到一个完整的I帧,才能完整完成后续的媒体数据解码工作,关键帧为I帧。码流的传输协议是RTP,机顶盒与流服务器之间信息交互协议是是RTSP。The media is audio and video data, in which the audio is encoded in AAC mode. AAC encoding does not require key frames, and the decoder can decode it as soon as it receives the media packet; the video is encoded in MPEG4, and the decoder using MPEG4 must receive a complete I frame before it can be decoded. The follow-up media data decoding work is completely completed, and the key frame is an I frame. The transmission protocol of the code stream is RTP, and the information exchange protocol between the set-top box and the streaming server is RTSP.

头端输出的正常速率码率是1.5Mbps,平均每隔2秒发送一个I帧。机顶盒在缓冲区填充2秒媒体数据后,开始解码播放。机顶盒从加入组播,到收到第1个组播包,平均时间是0.5秒。The normal output bit rate of the head end is 1.5Mbps, and an I frame is sent every 2 seconds on average. The set-top box starts decoding and playing after the buffer is filled with 2 seconds of media data. The average time for the set-top box to join the multicast and receive the first multicast packet is 0.5 seconds.

在现在方法下,机顶盒点播一个组播频道,理论上平均必须3.5秒时间才能启动播放,最小必须2.5秒才能启动播放。而采用本发明方法,理论上只需要1.5×2÷4=0.75秒的缓冲区填充时间,即可完成缓冲区填充工作,启动播放。在本实施例中,实测结果绝大部分点播的启动时间都小于1.0秒。Under the present method, when a set-top box requests a multicast channel, theoretically, it takes 3.5 seconds on average to start playing, and a minimum of 2.5 seconds to start playing. And adopt the method of the present invention, only need the buffer filling time of 1.5*2÷4=0.75 second in theory, can finish buffer filling work, start to play. In this embodiment, the measured results show that most of the on-demand start times are less than 1.0 second.

机顶盒在一次点播组播频道的流程如下:The process of a set-top box on-demand multicast channel is as follows:

1、机顶盒向流服务器发送RTSP DESCRIBE请求;1. The set-top box sends an RTSP DESCRIBE request to the streaming server;

2、流服务器响应RTSP 200成功响应;2. The streaming server responds with RTSP 200 success;

3、机顶盒发送视频轨道的RTSP SETUP请求;3. The set-top box sends an RTSP SETUP request for the video track;

4、流服务器响应RTSP 200成功响应;4. The streaming server responds with RTSP 200 success;

5、机顶盒发送音频轨道的RTSP SETUP请求;5. The set-top box sends an RTSP SETUP request for the audio track;

6、流服务器响应RTSP 200成功响应;6. The streaming server responds with RTSP 200 success;

7、机顶盒发送音频轨道的RTSP PLAY请求;7. The set-top box sends an RTSP PLAY request for the audio track;

8、流服务器响应RTSP 200成功响应;8. The streaming server responds with RTSP 200 success;

9、流服务器通过TCP通道,发送快发单播流码;9. The stream server sends the fast-delivery unicast stream code through the TCP channel;

10、历史码流耗尽后,流服务器通过RTSP SET_PARAMETER SpeedUp:End信令,通知机顶盒快发结束;10. After the historical code stream is exhausted, the stream server notifies the set-top box that the fast sending is over through the RTSP SET_PARAMETER SpeedUp: End signaling;

11、机顶盒收到RTSP SET_PARAMETER Speed Up:End信令后,响应RTSP 200成功响应,并加入组播组;11. After receiving the RTSP SET_PARAMETER Speed Up: End signaling, the set-top box responds to RTSP 200 successfully and joins the multicast group;

12、流服务器边收边发,继续通过TCP通道,以正常速率,向机顶盒发送单播码流;12. The stream server receives and transmits at the same time, and continues to send unicast streams to the set-top box at a normal rate through the TCP channel;

13、机顶盒收到组播包后,发送RTSP PAUSE请求,并在请求中,附带了收到第1个组播包对应的Track ID和RTP包的RTP序号;13. After receiving the multicast packet, the set-top box sends an RTSP PAUSE request, and in the request, attaches the Track ID corresponding to the received first multicast packet and the RTP sequence number of the RTP packet;

14、流服务器根据Track ID和RTP包序号,判断和该包之间,是否有其它RTP包尚未收到和发送,是则立刻中止发送,否则继续发送到该包为止;14. According to the Track ID and the RTP packet serial number, the stream server judges whether there are other RTP packets that have not been received and sent between this packet, and if so, stop sending immediately, otherwise continue to send until this packet;

15、流服务器中止发包后,响应RTSP 200成功响应;15. After the stream server stops sending packets, it responds with RTSP 200 success;

16、机顶盒继续接收组播包;16. The set-top box continues to receive multicast packets;

17、机顶盒把从单播通道和组播通道接收到的RTP填充到缓冲区,填充前过滤已经收到的重复的RTP包;17. The set-top box fills the buffer with the RTP received from the unicast channel and the multicast channel, and filters the received duplicate RTP packets before filling;

18、当缓冲区填充到足够大小后,从缓冲区取出RTP包送往解码器解码播放。18. When the buffer is filled to a sufficient size, take out the RTP packet from the buffer and send it to the decoder for decoding and playback.

Claims (6)

1.一种组播频道快速启动系统,包括:头端和至少一个播放器,其中,1. A multicast channel quick start system, comprising: a head end and at least one player, wherein, 头端,产生或者中转频道的媒体数据并发送;The headend generates or transfers the media data of the channel and sends it; 播放器,设置有缓冲区,用于播放所述媒体数据;The player is provided with a buffer for playing the media data; 其特征在于,还包括:It is characterized in that it also includes: 流服务器,设置有历史缓冲区,所述历史缓存区保存有历史码流;接收所述头端发出的码流,保存在所述历史缓冲区,当所述流服务器收到所述播放器的组播请求后,所述流服务器将历史缓冲区的历史码流,以单播方式填充到所述播放器的缓冲区,当所述播放器加入组播组后,所述流服务器停止发送单播码流;The streaming server is provided with a historical buffer, and the historical buffer stores a historical code stream; receives the code stream sent by the head end and saves it in the historical buffer, when the stream server receives the player's After the multicast request, the streaming server fills the buffer of the player with the historical code stream of the historical buffer in unicast mode, and when the player joins the multicast group, the streaming server stops sending unicast broadcast stream; 所述播放器加入组播组后接收组播码流,并将所述组播码流和单播码流进行拼接。After the player joins the multicast group, it receives the multicast code stream, and splices the multicast code stream and the unicast code stream. 2.根据权利要求1所述的组播频道快速启动系统,其特征在于,所述流服务器以TCP方式发送码流。2 . The multicast channel quick start system according to claim 1 , wherein the stream server sends code stream in TCP mode. 3 . 3.根据权利要求1所述的组播频道快速启动系统,其特征在于,当所述历史缓冲区耗尽之后,所述流服务器向播放器发送快发结束通知。3. The multicast channel quick start system according to claim 1, characterized in that, when the history buffer is exhausted, the streaming server sends a quick sending end notification to the player. 4.根据权利要求1所述的组播频道快速启动系统,其特征在于,所述播放器把单播通道和组播通道接收到的RTP填充到缓冲区,填充前过滤已经收到的重复的RTP包。4. The multicast channel quick start system according to claim 1, wherein the player fills the buffer with the RTP received by the unicast channel and the multicast channel, and filters the received repeated RTP packets. 5.根据权利要求1所述的组播频道快速启动系统,其特征在于,当所述播放器加入组播组后,接收组播码流。5. The multicast channel quick start system according to claim 1, characterized in that, after the player joins the multicast group, it receives the multicast code stream. 6.根据权利要求1所述的组播频道快速启动系统,其特征在于,所述流服务器从历史缓冲区的历史码流的关键帧开始,以单播方式将历史码流填充到所述播放器的缓冲区。6. The multicast channel quick start system according to claim 1, characterized in that, the stream server starts from the key frame of the historical code stream in the historical buffer, and fills the historical code stream into the playback channel in unicast mode buffer of the device.
CNA2006101703230A 2006-12-28 2006-12-28 Multicast Channel Quick Start System Withdrawn CN101212406A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2006101703230A CN101212406A (en) 2006-12-28 2006-12-28 Multicast Channel Quick Start System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2006101703230A CN101212406A (en) 2006-12-28 2006-12-28 Multicast Channel Quick Start System

Publications (1)

Publication Number Publication Date
CN101212406A true CN101212406A (en) 2008-07-02

Family

ID=39612092

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006101703230A Withdrawn CN101212406A (en) 2006-12-28 2006-12-28 Multicast Channel Quick Start System

Country Status (1)

Country Link
CN (1) CN101212406A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964784A (en) * 2010-08-19 2011-02-02 中兴通讯股份有限公司 Terminal and method for displaying multicasting images quickly
CN102137275A (en) * 2010-12-20 2011-07-27 华为技术有限公司 Method and device for rapidly pushing unicast stream in rapid channel switching

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964784A (en) * 2010-08-19 2011-02-02 中兴通讯股份有限公司 Terminal and method for displaying multicasting images quickly
WO2012022193A1 (en) * 2010-08-19 2012-02-23 中兴通讯股份有限公司 Terminal and quick multicast image displaying method
CN102137275A (en) * 2010-12-20 2011-07-27 华为技术有限公司 Method and device for rapidly pushing unicast stream in rapid channel switching
CN102137275B (en) * 2010-12-20 2012-12-19 华为技术有限公司 Method and device for rapidly pushing unicast stream in rapid channel switching
US8861372B2 (en) 2010-12-20 2014-10-14 Huawei Technologies Co., Ltd. Method and device for fast pushing unicast stream in fast channel change

Similar Documents

Publication Publication Date Title
JP5363473B2 (en) Method and apparatus for improved media session management
EP2385707B1 (en) Channel switching method, device, and system
CA2761846C (en) Method, apparatus and system for reducing media delay
US8959240B2 (en) Method, apparatus and system for rapid acquisition of multicast realtime transport protcol sessions
CN101116306A (en) On-demand multi-channel streaming sessions over packet-switched networks
WO2010054543A1 (en) Method, device and system for channel switching
WO2007095478A2 (en) Method and system for streaming digital video content to a client in a digital video network
US10944973B2 (en) Estimation of video quality of experience on media servers
CN101212328B (en) System and method for quickly starting multicast channel
JP2002290974A (en) Transmission rate control method
CN101998147A (en) Transmission method of media data, network-side apparatus and communication system
CN101212407A (en) Method of Quick Start of Multicast Channel
CN100568956C (en) A method for fast playback of streaming media
CN101212406A (en) Multicast Channel Quick Start System
KR20100059686A (en) Method and apparatus for receiving content
CN102149021B (en) Method, device and system for processing network time shift
CN101686384A (en) Method, device and system for channel switching
CN101998143B (en) Method for multicasting video data, unicast server and client
KR101235093B1 (en) Delivering streaming data
KR20100068780A (en) Method and apparatus for preventing overflow of the pre-decoder buffer in the streaming service
CN121040025A (en) Multicast Joining Method
Sarni et al. A novel scheme for a fast channel change in multicast IPTV system
Chou et al. MPEG-4 video streaming with drift-compensated bitstream switching
Prins Fast retransmission for multicast IPTV
KR20050042301A (en) Decoding method using error correction

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C04 Withdrawal of patent application after publication (patent law 2001)
WW01 Invention patent application withdrawn after publication