CN101964784A - 一种终端及快速显示组播图像的方法 - Google Patents
一种终端及快速显示组播图像的方法 Download PDFInfo
- Publication number
- CN101964784A CN101964784A CN2010102573226A CN201010257322A CN101964784A CN 101964784 A CN101964784 A CN 101964784A CN 2010102573226 A CN2010102573226 A CN 2010102573226A CN 201010257322 A CN201010257322 A CN 201010257322A CN 101964784 A CN101964784 A CN 101964784A
- Authority
- CN
- China
- Prior art keywords
- multicast
- flow
- fast
- terminal
- decoding
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1886—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
Abstract
本发明公开了一种终端及快速显示组播图像的方法,所述快速显示组播图像的方法,包括:终端首先获取与组播流同源的快发流并解码输出;终端在解码输出快发流后,再并行获取组播流和快发流,进行码流衔接处理,在两个码流内容衔接前,继续解码输出快发流,在两个码流内容衔接后,解码输出组播流。本发明能够快速显示组播图像,提高用户的体验度。
Description
技术领域
本发明属于网络多媒体领域,具体涉及一种终端及快速显示组播图像的方法。
背景技术
目前,在互联网中传输的媒体流都是经过压缩的,一般采用H264格式压缩,这种格式压缩出来的码流,码流中压缩出的数据由I帧、P帧、B帧构成,I帧是关键帧,P、B帧是依赖于关键帧的过渡帧,只有I帧解压还原出来,才能还原P帧、B帧。
现有技术中,互联网终端要显示组播流需要经过以下几个步骤:获取组播地址,请求加入组播,接收组播流,解码显示。由于组播流属于直播流,其当前直播点取决于组播源,而请求加入组播的时间点取决于用户,这就导致用户请求组播流的时间点是随机的,请求到的码流起始点不一定是I帧。如果不是以I帧开始的码流,解码器将会把数据丢弃,直到收到下一个I帧才开始把数据解出来。理论上,组播图像显示出来需要花的最长时间等于I帧间隔,而在实际网络中,为了提高码流的压缩率,减少网络带宽消耗,编码器会将码流的I帧间隔做得很大,有的达到2秒,这就使得用户常常需要等待2秒以上才能看到图像,会给用户带来很差的体验。
发明内容
本发明要解决的主要技术问题是,提供一种终端及快速显示组播图像的方法。
为解决上述技术问题,本发明采用了如下技术方案:
一种快速显示组播图像的方法,包括:
终端首先获取与组播流同源的快发流并解码输出;
终端在解码输出快发流后,再并行获取组播流和快发流,进行码流衔接处理,在两个码流内容衔接前,继续解码输出快发流,在两个码流内容衔接后,解码输出组播流。
在本发明所述方法的一种实施例中,所述快发流的起始点为I帧。
在本发明所述方法的一种实施例中,组播缓存进行组播流的网络包的缓存包括:在内存中开辟一块缓存区,并将缓存区按预定的数据结构划分为若干单元,每一个单元可以存储一个网络包。
在本发明所述方法的一种实施例中,终端通过向快发服务器请求来获取快发流,向快发服务器请求包括:创建发送请求的套接字,将所要加入的组播频道的IP地址及端口号、终端接收码流的IP地址及端口号发送给快发服务器。
在本发明所述方法的一种实施例中,终端通过向网络路由器发送加入组播请求来获取组播流,向网络路由器发送加入组播请求包括:按互联网组管理协议向网络路由器发送JOIN消息,同时回应网络路由器发出的对该组播组成员的查询请求。
在本发明所述方法的一种实施例中,终端通过如下方式接收快发流和组播流:创建接收快发流的套接字,并与接收快发流的IP地址和端口号绑定,同时监听该套接字;创建、绑定、监听另一个用于接收组播流的套接字;使用快发套接字接收快发流的网络包,使用组播套接字接收组播流的网络包。
在本发明所述方法的一种实施例中,终端解码输出快发流包括:对接收到的快发流的网络包进行解码预处理,将预处理后的数据送至解码缓冲区;解析网络包中的媒体参数;解码初始化及控制操作。
在本发明所述方法的一种实施例中,所述解码预处理包括对所述快发流的网络包进行预定时间的缓存、以及去除网络包的实时传送协议头。
本发明还提供了一种终端,包括:
码流获取模块,用于获取组播流和快发流;所述快发流与组播流同源且起始点为I帧;
码流衔接处理模块,用于在并行获取组播流和快发流时进行码流衔接处理;
解码模块,用于在组播流获取前解码输出快发流,以及根据码流衔接处理结果进行解码输出,在两个码流内容衔接前,解码输出快发流,在两个码流内容衔接后,解码输出组播流。
本发明首先获取与组播流同源且起始点为I帧的快发流解码输出,从而解决了现有技术中由于I帧间隔大导致的解码出第一帧图像慢的问题,使得组播图像能够快速显示,极大地提高了用户的体验度。
附图说明
图1为本发明实施例的基本流程;
图2为本发明实施例的系统框架示意图;
图3为本发明实施例的具体流程图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
本发明主要发明构思是:采用码流补偿方式,终端首先获取与组播流同源的快发流并解码输出;而后再并行获取组播流和快发流,进行码流衔接处理,在两个码流内容衔接前,解码输出快发流,在两个码流内容衔接后,解码输出组播流。即在加入组播前,终端先向快发服务器请求一个传输速率很快的快发流,再发加入组播请求,快发流和组播流同源,但请求点早于组播流,可以预期,快发流先于组播流到达终端,终端将先接收到的快发流送至解码模块,快速显示出图像,然后并行接收后面的快发流和组播流,直到两个码流的内容衔接上,此时终端停止接收快发流,后续流程和普通组播一样。这样就能有效提高组播图像的显示速度,并在组播频道切换时提高组播频道切换的速度。一般的,可以设置快发服务器发出的快发流是以I帧开始的。快发流是与组播流同源的单播码流,由于其传输速率快于一般的组播流,因而在本文中将该快发的码流称为快发流,相应的,发出快发流的服务器称为快发服务器。快发流的传输速率可根据实际需要进行配置,例如可为组播流的1.1倍或者1.2倍等,本发明对此并不限制,当然,更高的传输速率要求更多的资源。本文中,同源是指快发流和组播流来自同一个直播编码器。
如图1所示,本发明实施例的方法的基本流程包括如下步骤:
11、终端向快发服务器发送频道切换请求,请求快发流;
12、终端向网络路由器发送加入组播请求,请求加入组播组;
13、终端接收快发服务器返回的快发流,并将这部分码流送至解码模块;
14、终端接收组播流并进行缓存;
15、终端进行码流衔接处理,将组播流和快发流的内容衔接起来,停止接收快发流,输出缓存的组播流;
16、接收并实时输出组播流。
如图2所示,本发明的系统包括:负责组播的网络路由器(包含组播源)、快发服务器、终端。快发服务器与网络路由器同源,即由网络路由器将组播流传送给快发服务器。
终端,例如可以是STB(Set Top Box,机顶盒),可以从网络路由器获得组播流,也可以从快发服务器获得快发流(在本例中,起始为I帧);终端获得组播流,则送入组播流缓存,获得快发流,则送入快发流缓存;组播流和快发流经过码流衔接处理,形成整合后的码流,送入解码模块。码流衔接处理主要包括:
21)收到组播包就缓存起来;
22)收到快发包,就在缓存的组播包中查找与该快发包相同的包,找到则认为衔接成功,停止接收快发流,输出组播流缓存,找不到则继续进行步骤21)。
如图3所示,本发明实施例的方法的具体流程包括如下步骤:
S1、向快发服务器发送频道切换请求,请求快发流,转步骤S2;
S2、向网络路由器发送加入组播请求,请求组播流,转步骤S3;
S3、接收网络包,如果接收到的是组播包(组播流的网络包),则转步骤S4,否则转步骤S5;
S4、将组播包缓存起来,转步骤S7;
S5、将快发包(快发流的网络包)送至解码模块,进行显示,判断当前收到的包,是否能在组播包缓存中找到,如果能找到转步骤S6,否则转步骤S3;由于快发流和组播流同源,一般的,如果两个码流的网络包中RTP序号相同,则用RTP封装起来的内容相同。
S6、停止接收快发包,输出当前输出包后(可以通过序号比较的方式,即序号比当前输出包大的包)的所有缓存的组播包,转步骤S8;
S7、判断组播缓存是否满,如果未满则转步骤S3,否则停止接收快发包,输出所有组播缓存的包,转步骤S8;
S8、接收组播流,并进行实时输出。
步骤S1中向快发服务器发送频道切换请求,包括:创建发送请求的套接字(socket,TCP/IP协议栈中提供给应用层进行数据发送、接收的接口),将所要加入的组播频道的IP地址及端口号、终端接收码流的IP地址及端口号发送给快发服务器。
步骤S2中向网络路由器发送加入组播请求,包括:按IGMP(Internet GroupManagement Protocol,互联网组管理协议)协议向网络路由器发送JOIN消息,同时回应网络路由器发出的对该组播组成员的查询请求。
步骤S3中接收网络包,包括:
S31)创建接收快发流的套接字,并与接收快发流的IP地址和端口号绑定,同时监听该套接字。
S32)用同样的方法创建、绑定、监听另一个用于接收组播流的套接字。
S33)使用快发套接字接收到的网络包就是快发包,使用组播套接字接收到的网络包就是组播包。
步骤S4中将组播包缓存起来,包括:在内存中开辟一块缓冲区,并将缓存区按一定的数据结构划分为若干单元,每一个单元可以存储一个网络包。
步骤S5中将快发包送至解码模块,包括:
S51)对该网络包进行解码预处理,将预处理后的数据送至解码模块的缓冲区,网络包的解码预处理包括对网络包进行一定时间的缓存、以及去除网络包的RTP(Real-time Transport Protocol,实时传送协议)头。
S52)对网络包中媒体参数的解析。
S53)对解码模块的初始化。
S54)对解码模块的控制操作,主要包括打开、关闭。
步骤S6中停止接收快发包,输出所有缓存的组播包,包括:
S61)关闭用于接收快发流的套接字;
S62)将组播缓存中的数据送至解码模块,解码模块的处理与前述快发包在解码模块的处理一致;
S63)释放组播缓存包占用的缓冲区。
步骤S7中判断组播缓存是否满,包括:计算目前缓存中有多少个网络包,判断网络包的数量是否达到步骤S4中创建的缓冲区划分出来的单元数。
步骤S8中接收组播流,并进行实时输出,包括:
S81)监听接收组播流对应的套接字;
S82)解码组播流,显示。
通过本发明,能够快速显示组播图像,例如在进行组播频道切换时,可以将切换速度(从显示一个组播频道的图像切换到显示另一个组播频道的图像)提高到300ms左右,进而给用户带来很好的体验。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种快速显示组播图像的方法,其特征在于,包括:
终端首先获取与组播流同源的快发流并解码输出;
终端在解码输出快发流后,再并行获取组播流和快发流,进行码流衔接处理,在两个码流内容衔接前,继续解码输出快发流,在两个码流内容衔接后,解码输出组播流。
2.如权利要求1所述的方法,其特征在于,所述快发流的起始点为I帧。
3.如权利要求1或2所述的方法,其特征在于,所述码流衔接处理包括:组播缓存进行组播流的网络包的缓存,终端接收到快发流的网络包后,检查是否能在所述组播缓存中找到,如果能找到,码流内容衔接,否则,码流内容未衔接。
4.如权利要求3所述的方法,其特征在于,组播缓存进行组播流的网络包的缓存包括:在内存中开辟一块缓存区,并将缓存区按预定的数据结构划分为若干单元,每一个单元可以存储一个网络包。
5.如权利要求1所述的方法,其特征在于,终端通过向快发服务器请求来获取快发流,向快发服务器请求包括:创建发送请求的套接字,将所要加入的组播频道的IP地址及端口号、终端接收码流的IP地址及端口号发送给快发服务器。
6.如权利要求1所述的方法,其特征在于,终端通过向网络路由器发送加入组播请求来获取组播流,向网络路由器发送加入组播请求包括:按互联网组管理协议向网络路由器发送JOIN消息,同时回应网络路由器发出的对该组播组成员的查询请求。
7.如权利要求1所述的方法,其特征在于,终端通过如下方式接收快发流和组播流:创建接收快发流的套接字,并与接收快发流的IP地址和端口号绑定,同时监听该套接字;创建、绑定、监听另一个用于接收组播流的套接字;使用快发套接字接收快发流的网络包,使用组播套接字接收组播流的网络包。
8.如权利要求1所述的方法,其特征在于,终端解码输出快发流包括:对接收到的快发流的网络包进行解码预处理,将预处理后的数据送至解码缓冲区;解析网络包中的媒体参数;解码初始化及控制操作。
9.如权利要求7所述的方法,其特征在于,所述解码预处理包括对所述快发流的网络包进行预定时间的缓存、以及去除网络包的实时传送协议头。
10.一种终端,其特征在于,包括:
码流获取模块,用于获取组播流和快发流;所述快发流与组播流同源;
码流衔接处理模块,用于在并行获取组播流和快发流时进行码流衔接处理;
解码模块,用于在组播流获取前解码输出快发流,以及根据码流衔接处理结果进行解码输出,在两个码流内容衔接前,解码输出快发流,在两个码流内容衔接后,解码输出组播流。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102573226A CN101964784A (zh) | 2010-08-19 | 2010-08-19 | 一种终端及快速显示组播图像的方法 |
PCT/CN2011/075771 WO2012022193A1 (zh) | 2010-08-19 | 2011-06-15 | 一种终端及快速显示组播图像的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102573226A CN101964784A (zh) | 2010-08-19 | 2010-08-19 | 一种终端及快速显示组播图像的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101964784A true CN101964784A (zh) | 2011-02-02 |
Family
ID=43517517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102573226A Pending CN101964784A (zh) | 2010-08-19 | 2010-08-19 | 一种终端及快速显示组播图像的方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101964784A (zh) |
WO (1) | WO2012022193A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012022193A1 (zh) * | 2010-08-19 | 2012-02-23 | 中兴通讯股份有限公司 | 一种终端及快速显示组播图像的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050190781A1 (en) * | 2004-02-27 | 2005-09-01 | Microsoft Corporation | Media stream splicer |
CN1756210A (zh) * | 2004-09-29 | 2006-04-05 | 上海贝尔阿尔卡特股份有限公司 | 一种接入网中的组播接入控制方法和设备 |
CN101212328A (zh) * | 2006-12-27 | 2008-07-02 | 中兴通讯股份有限公司 | 组播频道快速启动系统及其方法 |
CN101212406A (zh) * | 2006-12-28 | 2008-07-02 | 中兴通讯股份有限公司 | 组播频道快速启动系统 |
CN101212407A (zh) * | 2006-12-28 | 2008-07-02 | 中兴通讯股份有限公司 | 组播频道快速启动的方法 |
CN101304385A (zh) * | 2008-07-09 | 2008-11-12 | 南京邮电大学 | 一种大型对等网络流媒体系统的改进方法 |
CN101686384A (zh) * | 2008-09-23 | 2010-03-31 | 华为技术有限公司 | 一种频道切换方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964784A (zh) * | 2010-08-19 | 2011-02-02 | 中兴通讯股份有限公司 | 一种终端及快速显示组播图像的方法 |
-
2010
- 2010-08-19 CN CN2010102573226A patent/CN101964784A/zh active Pending
-
2011
- 2011-06-15 WO PCT/CN2011/075771 patent/WO2012022193A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050190781A1 (en) * | 2004-02-27 | 2005-09-01 | Microsoft Corporation | Media stream splicer |
CN1756210A (zh) * | 2004-09-29 | 2006-04-05 | 上海贝尔阿尔卡特股份有限公司 | 一种接入网中的组播接入控制方法和设备 |
CN101212328A (zh) * | 2006-12-27 | 2008-07-02 | 中兴通讯股份有限公司 | 组播频道快速启动系统及其方法 |
CN101212406A (zh) * | 2006-12-28 | 2008-07-02 | 中兴通讯股份有限公司 | 组播频道快速启动系统 |
CN101212407A (zh) * | 2006-12-28 | 2008-07-02 | 中兴通讯股份有限公司 | 组播频道快速启动的方法 |
CN101304385A (zh) * | 2008-07-09 | 2008-11-12 | 南京邮电大学 | 一种大型对等网络流媒体系统的改进方法 |
CN101686384A (zh) * | 2008-09-23 | 2010-03-31 | 华为技术有限公司 | 一种频道切换方法、装置及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012022193A1 (zh) * | 2010-08-19 | 2012-02-23 | 中兴通讯股份有限公司 | 一种终端及快速显示组播图像的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2012022193A1 (zh) | 2012-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100531381C (zh) | 基于rtp协议的iptv机顶盒组/单播无缝切换方法 | |
US10374865B2 (en) | System for processing streaming media service and method and network device thereof | |
CN101212328B (zh) | 组播频道快速启动系统及其方法 | |
EP1755339A3 (en) | System and method for implementing channel change operations in internet protocol television systems | |
CN101872555B (zh) | 一种基于应用层组播的实时互动授课系统 | |
US20100223357A1 (en) | Media channel management | |
CN101895750B (zh) | 面向机顶盒和pc的实时流媒体服务器及工作方法 | |
CN101448072A (zh) | 网络视频监控系统的视频查看方法及系统 | |
CN102075728A (zh) | 一种共享音频和/或视频的方法及系统 | |
CN103581610A (zh) | 进行不同参与设备的视频会议的方法与系统 | |
WO2010088836A1 (zh) | 用户数据报协议传输模式下丢包补偿方法与装置 | |
WO2013113281A1 (zh) | 传输多媒体数据的方法、装置及系统 | |
CN101404748A (zh) | 用于大规模高清网络视频会议的视频数据传输系统及方法 | |
Jennehag et al. | Increasing bandwidth utilization in next generation IPTV networks | |
CN101350908A (zh) | 用于网络视频会议的视频数据传输系统及方法 | |
CN1878302A (zh) | 基于无源光网络的电视信号传输接入系统 | |
CN101964784A (zh) | 一种终端及快速显示组播图像的方法 | |
CN106790030B (zh) | 多屏协同音频传输服务端、客户端、系统及其处理方法 | |
CN1933480A (zh) | 一种多媒体数据转换网关的方法 | |
WO2010108416A1 (zh) | 转发可伸缩视频编码数据报文的方法、设备和通信系统 | |
CN205005157U (zh) | 一种多屏拼接控制显示系统 | |
CN101212407A (zh) | 组播频道快速启动的方法 | |
KR100981247B1 (ko) | Iptv 방송 서비스 시스템, 및 iptv 방송 서비스 시스템에 있어서의 채널 전환 방법 | |
CN101502115A (zh) | 媒体帧解码技术 | |
CN104426875A (zh) | 一种频道快速切换方法、服务器及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110202 |