CN112040306A - 数据处理方法及设备 - Google Patents
数据处理方法及设备 Download PDFInfo
- Publication number
- CN112040306A CN112040306A CN201910478279.7A CN201910478279A CN112040306A CN 112040306 A CN112040306 A CN 112040306A CN 201910478279 A CN201910478279 A CN 201910478279A CN 112040306 A CN112040306 A CN 112040306A
- Authority
- CN
- China
- Prior art keywords
- terminal device
- channel
- data stream
- request message
- playing
- 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
- 238000003672 processing method Methods 0.000 title abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 62
- 238000013507 mapping Methods 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 16
- 101000622427 Homo sapiens Vang-like protein 1 Proteins 0.000 description 36
- 102100023517 Vang-like protein 1 Human genes 0.000 description 36
- 101000622430 Homo sapiens Vang-like protein 2 Proteins 0.000 description 35
- 102100023520 Vang-like protein 2 Human genes 0.000 description 35
- 230000008859 change Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000000126 substance Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/632—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6405—Multicasting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种数据处理方法及设备,该方法包括:第一终端设备接收到用户请求播放第一频道的播放请求消息后,可以从网关获取子网中播放第一频道的第二终端设备的标识,然后,第一终端设备根据该第二终端设备的标识,可以从第二终端设备获取第二终端设备缓存的第一频道的第一组播数据流,并向播放设备推送第一频道的第一组播数据流。因该第一组播数据流的第一个数据帧为关键帧,这样,第一终端设备可以直接对该组播数据流进行解码,并推送给播放设备进行播放,无需花费时间等待关键帧的到来。因此,本发明实施例能够在不需要修改EPG以及架设过多的FCC服务器的基础上,实现快速换台功能。
Description
技术领域
本发明涉及数据处理技术,尤其涉及一种数据处理方法及设备。
背景技术
网络协议电视(Internet Protocol Television,简称:IPTV)即交互式网络电视,是一种利用宽带网,集互联网、多媒体、通讯等技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。目前,IPTV系统包括组播服务器、多个网关和多个机顶盒(Set Top Box,简称STB)。其中,组播服务器采用组播方式向加入组播组的STB提供直播节目的组播数据流。STB与用户侧的播放设备(例如电视)相连,用于将从组播服务器接收到的直播节目的组播数据流,推送给播放设备进行播放。
目前,由于组播数据流中所包括的数据帧的特点,以及,STB基于这些数据帧所采用的解码方式的特点,导致用户等待直播节目的播放时间比较长。例如,用户从频道1切换到频道2时,可能需要2秒以上的时间才能观看到频道2的节目,导致用户体验较差。因此,一些IPTV系统引入了快速频道切换(Fast Change Channel,简称:FCC)技术,即通过在IPTV系统中架设FCC服务器,实现快速换台。
但是,上述通过FCC服务器实现快速换台的方式,需要在IPTV系统中架设多个FCC服务器来提供组播数据流的服务,导致系统成本较高。同时,IPTV系统还要修改电子节目指南(Electronic Program Guide,简称:EPG)来向STB发送FCC服务器的地址,易使不支持该功能的STB出现播放问题。另外,由于STB需通过多个网关才能与FCC服务器建立连接,导致FCC服务器向STB发送缓存的组播数据流的速度也无法保证。
发明内容
本发明实施例提供一种数据处理方法及设备,用于解决如何在不需要修改EPG以及架设过多的FCC服务器的基础上,实现快速换台的技术问题。
本发明实施例第一方面提供一种数据处理方法,该方法包括:
第一终端设备接收播放请求消息,所述播放请求消息用于指示用户请求播放第一频道;
所述第一终端设备向网关发送查询请求消息,并接收所述网关返回的查询响应消息,所述查询请求消息用于查询子网中播放所述第一频道的终端设备的标识,所述查询响应消息用于指示所述子网中播放所述第一频道的第二终端设备的标识;
所述第一终端设备根据所述第二终端设备的标识,向所述第二终端设备发送数据获取请求消息,并接收所述第二终端设备返回的所述第二终端设备缓存的所述第一频道的第一组播数据流,所述数据获取请求消息用于请求获取第一频道的第一组播数据流,所述第一组播数据流的第一个数据帧为关键帧;
所述第一终端设备向播放设备推送所述第一频道的第一组播数据流。
可选的,所述第一终端设备接收播放请求消息之后,所述方法还包括:
所述第一终端设备从组播服务器获取所述第一频道的第二组播数据流;
当所述第一组播数据流中的第x个数据帧的播放时间与所述第二组播数据流的第一个数据帧的播放时间相同时,所述第一终端设备停止接收和推送所述第一频道的第一组播数据流,并向所述播放设备推送所述第二组播数据流,所述x为大于或等于1的整数。
本发明实施例第二方面提供一种数据处理方法,该方法包括:
第二终端设备接收第一终端设备发送的数据获取请求消息,所述数据获取请求消息用于请求获取第一频道的第一组播数据流;
所述第二终端设备向所述第一终端设备发送所述第二终端设备缓存的所述第一频道的第一组播数据流,所述第一组播数据流的第一个数据帧为关键帧。
可选的,所述第二终端设备接收第一终端设备发送的数据获取请求消息之前,所述方法还包括:
所述第二终端设备将从组播服务器接收到的所述第一频道的组播数据流中已经收到的关键帧到下一个关键帧之间的数据,作为第一频道的第一组播数据流进行缓存。
可选的,所述第二终端设备接收第一终端设备发送的数据获取请求消息之前,所述方法还包括:
所述第二终端设备向所述网关发送加入请求消息,所述加入请求消息用于请求将所述第二终端设备与所述第一频道的映射关系加入播放设备列表,所述播放设备列表用于指示频道与子网中播放所述频道的终端设备的标识的映射关系。
可选的,若所述第二终端设备将所述第二终端设备缓存的所述第一频道的第一组播数据流发送给所述第一终端设备时,所述第二终端设备接收到播放切换请求,所述播放切换请求用于指示用户请求从所述第一频道切换至第二频道;则所述方法还包括:
所述第二终端设备继续从所述组播服务器获取所述第一频道的第一组播数据流,并继续向所述第一终端设备发送所述第一频道的第一组播数据流,直至所述第一终端设备停止从所述第二终端设备接收所述第一频道的第一组播数据流。
可选的,所述方法还包括:
所述第二终端设备向所述网关发送退出请求消息,所述退出请求消息用于请求从所述播放设备列表中删除所述第二终端设备与所述第一频道的映射关系。
本发明实施例第三方面提供一种数据处理方法,该方法包括:
网关接收第一终端设备发送的查询请求消息,所述查询请求消息用于查询子网中播放所述第一频道的终端设备的标识;
所述网关查询播放设备列表,获取所述子网中播放所述第一频道的第二终端设备的标识,所述播放设备列表用于指示频道与所述子网中播放所述频道的终端设备的标识的映射关系;
所述网关向所述第一终端设备发送查询响应消息,所述查询响应消息用于指示所述第二终端设备的标识。
可选的,所述网关接收第一终端设备发送的查询请求消息之前,所述方法还包括:
所述网关接收所述第二终端设备发送的加入请求消息,所述加入请求消息用于请求将所述第二终端设备与所述第一频道的映射关系加入所述播放设备列表;
所述网关根据所述加入请求消息,将所述第二终端设备与所述第一频道的映射关系加入所述播放设备列表。
可选的,所述网关根据所述加入请求消息,将所述第二终端设备与所述第一频道的映射关系加入所述播放设备列表之后,所述方法还包括:
所述网关接收所述第二终端设备发送的退出请求消息,所述退出请求消息用于请求从所述播放设备列表中删除所述第二终端设备与所述第一频道的映射关系;
所述网关根据所述退出请求消息,将所述第二终端设备与所述第一频道的映射关系从所述播放设备列表中删除。
本发明实施例第四方面提供一种终端设备,所述终端设备为第一终端设备,所述第一终端设备包括:
接收模块,用于接收播放请求消息,所述播放请求消息用于指示用户请求播放第一频道;
第一收发模块,用于向网关发送查询请求消息,并接收所述网关返回的查询响应消息,所述查询请求消息用于查询子网中播放所述第一频道的终端设备的标识,所述查询响应消息用于指示所述子网中播放所述第一频道的第二终端设备的标识;
第二收发模块,用于根据所述第二终端设备的标识,向所述第二终端设备发送数据获取请求消息,并接收所述第二终端设备返回的所述第二终端设备缓存的所述第一频道的第一组播数据流,所述数据获取请求消息用于请求获取第一频道的第一组播数据流,所述第一组播数据流的第一个数据帧为关键帧;
推送模块,用于向播放设备推送所述第一频道的第一组播数据流。
可选的,所述第一终端设备还包括:
获取模块,用于在所述接收模块接收播放请求消息之后,从组播服务器获取所述第一频道的第二组播数据流;
所述第二收发模块,还用于在所述第一频道的第一组播数据流中的第x个数据帧的播放时间与所述第二组播数据流的第一个数据帧的播放时间相同时,停止接收所述第一组播数据流,所述x为大于或等于1的整数;
所述推送模块,还用于停止推送所述第一频道的第一组播数据流,并向所述播放设备推送所述第二组播数据流。
本发明实施例第五方面提供一种终端设备,所述终端设备为第二终端设备,所述第二终端设备包括:
接收模块,用于接收第一终端设备发送的数据获取请求消息,所述数据获取请求消息用于请求获取第一频道的第一组播数据流;
发送模块,用于向所述第一终端设备发送所述第二终端设备缓存的所述第一频道的第一组播数据流,所述第一组播数据流的第一个数据帧为关键帧。
可选的,所述第二终端设备还包括:
处理模块,还用于在所述接收模块接收第一终端设备发送的数据获取请求消息之前,将从组播服务器接收到的所述第一频道的组播数据流中已经收到的关键帧到下一个关键帧之间的数据,作为第一频道的第一组播数据流进行缓存。
可选的,所述发送模块,还用于在所述接收模块接收第一终端设备发送的数据获取请求消息之前,向所述网关发送加入请求消息,所述加入请求消息用于请求将所述第二终端设备与所述第一频道的映射关系加入播放设备列表,所述播放设备列表用于指示频道与子网中播放所述频道的终端设备的标识的映射关系。
可选的,若将所述第二终端设备缓存的所述第一频道的第一组播数据流发送给所述第一终端设备时,所述第二终端设备接收到播放切换请求,所述播放切换请求用于指示用户请求从所述第一频道切换至第二频道;
所述接收模块,还用于继续从所述组播服务器获取所述第一频道的第一组播数据流;
所述发送模块,还用于继续向所述第一终端设备发送所述第一频道的第一组播数据流,直至所述第一终端设备停止从所述第二终端设备接收所述第一频道的第一组播数据流。
可选的,所述发送模块,还用于向所述网关发送退出请求消息,所述退出请求消息用于请求从所述播放设备列表中删除所述第二终端设备与所述第一频道的映射关系。
本发明实施例第五方面提供一种网关,所述网关包括:
接收模块,用于接收第一终端设备发送的查询请求消息,所述查询请求消息用于查询子网中播放所述第一频道的终端设备的标识;
查询模块,用于查询播放设备列表,获取所述子网中播放所述第一频道的第二终端设备的标识,所述播放设备列表用于指示频道与所述子网中播放所述频道的终端设备的标识的映射关系;
发送模块,用于向所述第一终端设备发送查询响应消息,所述查询响应消息用于指示所述第二终端设备的标识。
可选的,所述网关还包括:
所述接收模块,还用于在接收第一终端设备发送的查询请求消息之前,接收所述第二终端设备发送的加入请求消息,所述加入请求消息用于请求将所述第二终端设备与所述第一频道的映射关系加入所述播放设备列表;
处理模块,用于根据所述加入请求消息,将所述第二终端设备与所述第一频道的映射关系加入所述播放设备列表。
可选的,所述接收模块,还用于在所述处理模块根据所述加入请求消息,将所述第二终端设备与所述第一频道的映射关系加入所述播放设备列表之后,接收所述第二终端设备发送的退出请求消息,所述退出请求消息用于请求从所述播放设备列表中删除所述第二终端设备与所述第一频道的映射关系;
所述处理模块,还用于根据所述退出请求消息,将所述第二终端设备与所述第一频道的映射关系从所述播放设备列表中删除。
本发明实施例第七方面提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行如第一方面任一项所述的方法步骤。
本发明实施例第八方面提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行如第二方面任一项所述的方法步骤。
本发明实施例第九方面提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行如第三方面任一项所述的方法步骤。
本发明实施例第十方面提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序用于执行如第一方面任一项所述的方法。
本发明实施例第十一方面提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序用于执行如第二方面任一项所述的方法。
本发明实施例第十二方面提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序用于执行如第三方面任一项所述的方法。
本发明实施例提供的数据处理方法及设备,第一终端设备接收请求播放第一频道的播放请求消息后,可以从网关获取子网中播放第一频道的第二终端设备的标识,然后,第一终端设备根据该第二终端设备的标识,可以从第二终端设备获取第二终端设备缓存的第一频道的第一组播数据流,并向播放设备推送第一频道的第一组播数据流。因该第一组播数据流的第一个数据帧为关键帧,这样,第一终端设备可以直接对该组播数据流进行解码,并推送给播放设备进行播放,无需花费时间等待关键帧的到来。因此,本发明实施例提供的数据处理方法及设备,能够在不需要修改EPG以及架设过多的FCC服务器的基础上,实现快速换台的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图进行简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有的IPTV系统的架构示意图一;
图2为现有的IPTV系统的架构示意图二;
图3为本发明实施例提供的一种数据处理方法的流程示意图;
图4为本发明实施例提供的一种数据库结构;
图5为本发明实施例提供的另一种数据处理方法的流程示意图;
图6为本发明实施例提供的一种组播数据流的示意图;
图7为本发明提供的一种终端设备的结构示意图;
图8为本发明提供的另一种终端设备的结构示意图;
图9为本发明提供的一种网关的结构示意图;
图10为本发明提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为现有的IPTV系统的架构示意图一。如图1所示,IPTV系统包括:组播服务器、多个网关和多个机顶盒(Set Top Box,简称STB)。其中,组播服务器采用组播方式向加入组播组的STB提供直播节目的组播数据流。STB与用户侧的播放设备(例如电视)相连,用于将从组播服务器接收到的直播节目的组播数据流,推送给播放设备进行播放。
需要说明的是,虽然上述图1所示的IPTV系统架构为以1个组播服务器为例的IPTV系统架构,但是本领域技术人员可以理解的是,上述图1仅是一种示意,本发明对终端设备与组播服务器之间存在的网关数量,以及,IPTV系统架构中所包括的组播服务器的数量均不做限定。
以播放直播的频道1为例,现有技术中,STB通过如下方式获取频道1的组播数据流,具体地:
STB在接收用户输入的针对频道1的播放请求消息,或,从频道2切换到频道1的播放切换请求消息后,可以向频道1的组播服务器请求加入频道1的组播组。在加入频道1的组播组后,STB可以接收到频道1的组播服务器下发的频道1的组播数据流。然后,STB可以将该组播数据流进行解码后,推送给用户侧的播放设备进行播放,以使用户通过播放设备可以观看频道1的节目。
上述组播数据流由I帧、P帧和B帧组成。其中,I帧又称帧内编码帧,是一种自带全部信息的独立帧。即无需参考其他图像便可独立进行解码,可以简单理解为一张静态画面。因此,I帧也可以称为关键帧。P帧又称帧间预测编码帧,需要参考前面的I帧才能进行编码。P帧表示的是当前帧画面与前一帧(前一帧可能是I帧也可能是P帧)的差别。解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。B帧又称双向预测编码帧,也就是B帧记录的是本帧与前后帧的差别。也就是说,要解码B帧,不仅要之前缓存的画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。
也就是说,I帧只需考虑本帧,P帧记录的是与前一帧的差别,B帧记录的是前一帧及后一帧的差别。由于组播数据流中这些数据帧的特点,使得STB在通过上述方式获取频道1的组播数据流时,需要花费时间等待组播数据流中I帧的到来,才能对组播数据流进行解码,并推送给播放设备进行播放,导致用户等待直播节目的播放时间比较长。例如,用户从频道1切换到频道2时,可能需要2秒以上的时间才能观看到频道2的节目,导致用户体验较差。
图2为现有的IPTV系统的架构示意图二,如图2所示,为了解决上述问题,现有技术中,IPTV系统引入了快速频道切换(Fast Change Channel,简称:FCC)技术。通过在IPTV系统中架设FCC服务器,可以使FCC服务器缓存以I帧开始的一段组播数据流。这样,在用户切换直播频道时,以从频道1切换到频道2为例,STB可以先与FCC服务器进行交互,以使FCC服务器通过单播方式将FCC服务器缓存的频道2的组播数据流发送给STB。由于FCC服务器缓存的频道2的组播数据流包括I帧,因此,STB可以直接对该组播数据流进行解码,并推送给播放设备进行播放,无需花费时间等待组播数据流中I帧的到来,实现了快速换台,提高了用户体验。
需要说明的是,虽然上述图2所示的IPTV系统架构为以1个FCC服务器为例的IPTV系统架构,但是本领域技术人员可以理解的是,上述图2仅是一种示意,本发明对终端设备与FCC服务器之间存在的网关数量,以及,IPTV系统架构中所包括的FCC服务器的数量均不做限定。
上述通过FCC服务器实现快速换台的方式,需要在IPTV系统中架设多个FCC服务器来提供组播数据流的服务,导致系统成本较高。同时,IPTV系统还要修改电子节目指南(Electronic Program Guide,简称:EPG)来向STB发送FCC服务器的地址,易使不支持该功能的STB出现播放问题。另外,由于STB需通过多个网关才能与FCC服务器建立连接,导致FCC服务器向STB发送缓存的组播数据流的速度也无法保证。
在目前运营商的网络架构中,越来越多的运营商已经由之前的大多基于以太网的点对点通讯协议(Point-to-Point Protocol Over Ethernet,简称:PPPOE)接入方式改为动态主机设置协议(Dynamic Host Configuration Protocol,简称:DHCP)接入方式。这样,IPTV系统中会存在多个终端设备(例如STB)数量巨大的子网。应理解,这里所说的子网也可以理解为局域网,局域网内的终端设备经由同一网关接入IPTV网络。因此,如何在不需要修改EPG以及架设过多的FCC服务器的基础上,实现快速换台功能,是一个亟待解决的问题。
考虑到上述问题,本发明实施例提供了一种数据处理方法,通过约束子网中的终端设备在从组播服务器获取某一频道的组播数据流时,能够缓存该频道的一段以关键帧开始的组播数据流,这样,在子网中其他终端设备也需要获取该频道的组播数据流时,其他终端设备可以通过网关获取该终端设备的标识,并从该终端设备处获取所缓存的组播数据流,实现快速换台,从而能够在不需要修改EPG以及架设过多的FCC服务器的基础上,实现快速换台功能。即,本发明实施例的方法依托图1所示的IPTV系统架构即可实现。
下面以图1所示的IPTV系统架构为例,结合具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图3为本发明实施例提供的一种数据处理方法的流程示意图。本实施例涉及的是第一终端设备通过从子网中播放该第一频道的第二终端设备侧获取包括有关键帧的第一频道的组播数据流的方式,实现快速换台的过程。如图3所示,该方法包括:
S101、第一终端设备接收播放请求消息。
其中,所述播放请求消息用于指示用户请求播放第一频道。
本实施例涉及的第一终端设备和第二终端设备可以为具有“从组播服务器接收组播数据流,并推送给与其连接的播放设备”功能的终端设备,例如STB。
上述所说的播放请求消息例如可以为用户换台时通过控制设备发送给第一终端设备的。以第一终端设备和第二终端设备为STB为例,则这里所说的控制设备例如可以是遥控器、手机等能够控制STB的设备。
S102、第一终端设备向网关发送查询请求消息。
其中,所述查询请求用于查询子网中播放所述第一频道的终端设备的标识。
可选的,这里所说的终端设备的标识可以为任一能够唯一标识该终端设备的标识,例如,终端设备的IP地址,终端设备的SN序列号等。
S103、所述网关查询播放设备列表,获取所述子网中播放所述第一频道的第二终端设备的标识。
其中,所述播放设备列表用于指示频道与所述子网中播放所述频道的终端设备的标识的映射关系。也就是说,通过该播放设备列表可以获知子网中哪些终端设备在接收第一频道对应的组播服务器下发的第一频道的组播数据流。即,哪些终端设备加入了第一频道的组播组。
以终端设备的标识为终端设备的IP地址为例,则播放设备列表例如可以如下述表1所示:
表1
频道 | 终端设备的标识 |
频道1 | IP1、……、IPs |
频道2 | IPm、……IPn |
…… | …… |
频道N | IPx、……、IPy |
图4为本发明实施例提供的一种数据库结构。如图4所示,在一些实施例中,网关可以采用数据库的形式存储上述表1所示的播放设备列表。在该示例下,上述频道可以为数据库的key。
S104、所述网关向所述第一终端设备发送查询响应消息。
其中,所述查询响应消息用于指示所述子网中播放所述第一频道的第二终端设备的标识。
可选的,若网关通过播放设备列表确认子网中有多个终端设备播放所述第一频道时,网关从多个终端设备中随机选择一个终端设备作为第二终端设备,或者,网关可以选择一个距离第一终端设备最近的终端设备作为第二终端设备。在一些实施例中,网关可以从未给其他终端设备提供组播数据流的终端设备中筛选一个终端设备作为第二终端设备,通过这种方式,可以实现负载均衡。
应理解,若网关通过播放设备列表确认子网中没有一个终端设备正在播放第一频道时,网关可以向第一终端设备发送用于指示无正在播放第一频道的终端设备的查询响应消息。在该场景下,终端设备可以采用现有的方式,获取第一频道的组播数据流,对此不再赘述。
S105、所述第一终端设备根据所述第二终端设备的标识,向所述第二终端设备发送数据获取请求消息。
其中,所述数据获取请求消息用于请求获取第一频道的第一组播数据流,所述第一组播数据流的第一个数据帧为关键帧。
S106、所述第二终端设备向所述第一终端设备发送所述第二终端设备缓存的所述第一频道的第一组播数据流。
在本实施例中,第二终端设备在接收第一频道对应的组播服务器下发的第一频道的组播数据流时,可以从该组播数据流中的某一个关键帧开始,进行缓存。该缓存的一段组播数据流即为所述第一频道的第一组播数据流。
例如,所述第二终端设备可以将从组播服务器接收到的所述第一频道的组播数据流中已经收到的关键帧到下一个还未收到的关键帧之间的数据,作为第一频道的第一组播数据流进行缓存。即,将存在于所接收到的组播数据流中的关键帧(例如关键帧1)至下一还未接收到的关键帧(例如关键帧2)之间已接收到的数据进行缓存。在该场景下,当第二终端设备再收到一个新的关键帧(例如关键帧2)的时候,可以缓存关键帧2至下一还未接收到的关键帧(例如关键帧3)之间已接收到的数据,并删除已缓存的关键帧1至关键帧2之间的数据。通过这种方式,可以减少内存占用率。
S107、所述第一终端设备向播放设备推送所述第一频道的第一组播数据流。
由于第一频道的第一组播数据流包括关键帧,因此,第一终端设备可以直接对该组播数据流进行解码,并推送给播放设备进行播放,无需花费时间等待组播数据流中关键帧的到来,实现了快速换台,提高了用户体验。
通过上述方式,能够在不需要修改EPG以及架设过多的FCC服务器的基础上,即,在无需改动IPTV架构的基础上,实现快速换台功能,降低了系统成本。因未增加任何硬件,所以无需修改EPG,因此,不会使不支持该功能的STB出现播放问题。另外,因第一终端设备与第二终端设备位于同一子网,因此,第一终端设备可以快速从第二终端设备获取缓存的组播数据流,进一步缩短了换台的等待时间。
可选的,第一终端设备可以持续从第二终端设备获取第二终端设备缓存的第一频道的组播数据流,直至第一终端接收到切换到其他频道的播放请求消息,或者,接收到关机消息。
可选的,第一终端设备在接收到播放请求消息之后,在向网关发送查询请求消息的同时,还可以按照现有的第一频道的组播数据流的获取方式,从第一频道对应的组播服务器处获取第一频道的第二组播数据流。在该实现方式下,当所述第一频道的第一组播数据流中的第x个数据帧的播放时间与所述第二组播数据流的第一个数据帧的播放时间相同时,所述第一终端设备停止接收和推送所述第一频道的第一组播数据流,并向所述播放设备推送所述第二组播数据流。其中,所述x为大于或等于1的整数。通过这种方式,可以使第一终端设备无缝切换到从组播服务器接收第二组播数据流并向播放设备推送所述第二组播数据流,在对现有流程改动较小的情况下,实现快速换台。
在该实现方式下,进一步地,上述第一终端设备在切换到从组播服务器接收第二组播数据流并向播放设备推送所述第二组播数据流时,第一终端设备可以与第二终端设备一样,缓存从第一频道对应的组播服务器接收到的第一频道的组播数据流。相应地,第一终端设备可以向网关发送加入请求消息,用于请求将第一终端设备与第一频道的映射关系加入播放设备列表中。相应地,网关在接收到该加入请求消息后,可以根据该加入请求消息,将第一终端设备与第一频道的映射关系加入播放设备列表,便于第一终端设备后续为子网中其他终端设备提供自己所缓存的第一频道的组播数据,以使其他终端设备实现快速换台。
相应地,在本实施例中,上述第二终端设备在为第一终端设备提供自己所缓存的第一频道的第一组播业务流之前,即,在网关接收第一终端设备发送的查询请求消息之前,第二终端设备也会向网关发送前述所说的加入请求消息,以请求将第二终端设备与第一频道的映射关系加入播放设备列表中。相应地,网关在接收到该加入请求消息后,可以根据该加入请求消息,将第二终端设备与第一频道的映射关系加入播放设备列表。
进一步地,在所述第二终端设备将所述第二终端设备缓存的所述第一频道的第一组播数据流发送给所述第一终端设备期间,若所述第二终端设备接收到播放切换请求,所述播放切换请求用于指示用户请求从所述第一频道切换至第二频道,即,第二终端设备发生换台,则所述第二终端设备在执行换台流程的同时,可以继续从第一频道对应的组播服务器获取所述第一频道的第一组播数据流,并继续向所述第一终端设备发送所述第一频道的第一组播数据流,直至所述第一终端设备停止从所述第二终端设备接收所述第一频道的第一组播数据流。
也就是说,若第二终端设备在为第一终端设备提供第一频道的第一组播数据流期间发生了换台事件,第二终端设备并不会像现有技术那样退出第一频道的组播组,而是继续留在第一频道的组播组,用以继续从第一频道对应的组播服务器获取第一频道的第一组播数据流,并提供给第一终端设备。第二终端设备可以在接收到第一终端设备请求断开连接的消息后,退出第一频道的组播组。
在该实现方式中,本发明实施例不限定上述第二终端设备基于播放切换请求,所执行的换台流程。例如,第二终端设备可以沿用现有技术中的换台流程,也可以采用上述图3所示的第一终端设备的换台流程,以实现快速换台等。
相应地,在该实现方式下,第二终端设备在退出第一频道的组播组时,可以向网关发送退出请求消息,所述退出请求消息用于请求从所述播放设备列表中删除所述第二终端设备与所述第一频道的映射关系。相应地,网关接收到该退出请求消息后,可以根据该退出请求消息,将所述第二终端设备与所述第一频道的映射关系从所述播放设备列表中删除,以确保播放设备列表的准确性。
下面以第一终端设备为STB1、第二终端设备为STB2为例,对本发明提供的方法进行示例说明。
图5为本发明实施例提供的另一种数据处理方法的流程示意图。本实施例涉及的是STB1通过STB2所发送的频道1的组播数据,快速的切换到频道1,实现快速换台。如图5所示,该方法可以包括:
S201、STB1接收播放请求消息。
其中,该播放请求消息用于指示用户请求播放频道1。
S202、STB1向组播服务器1发送请求加入频道1的组播组的请求消息。
其中,组播服务器1为频道1对应的组播服务器。
S203、STB1向网关发送查询请求消息。
其中,查询请求用于请求查询子网中播放所述第一频道的STB的标识。
应理解,本实施例不限定上述S202和S203之间的执行顺序,可以先执行S202再执行S203,也可以先执行S203再执行S202,或者同时执行S202和S203。
S204、网关查询播放设备列表,获取子网中播放所频道1的第STB2的IP地址。
即STB2为频道1的组播组中的设备,正在从组播服务器接收频道1的组播数据流。
S205、网关向STB1发送查询响应消息。
其中,所述查询响应消息用于指示所述子网中播放所述第一频道的STB2的IP地址。
S206、STB1根据STB2的IP地址,向STB2发送数据获取请求消息。
其中,所述数据获取请求消息用于请求获取频道1的第一组播数据流。
S207、STB2向STB1发送STB2缓存的频道1的第一组播数据流。
STB2接收到STB1的数据获取请求消息时,可以基于STB1与STB2之间的连接,向STB1发送STB2缓存的频道1的第一组播数据流。该连接例如可以为socket连接。
在本实施例中,STB2在处理从组播服务器1接收到的频道1的组播数据流时,可以对接收到的组播数据流进行缓存。具体地,当接收到的组播数据流中某一帧为I帧时,可以对该已经接收到的I帧以及下一个还未接收到的I帧之间已经接收到的数据进行缓存。图6为本发明实施例提供的一种组播数据流的示意图,如图6所示,STB2所保存的组播数据流可以为图6中两个虚线段之间的内容。
这样,当STB1向STB2请求频道1的组播数据流时,STB2可以向STB1先发送所保存的频道1的组播数据流,以确保STB1在接收到该组播数据流后,可以直接对该组播数据流进行解码,并推送给播放设备进行播放。另外,上述STB2保存数据流的方式,也不会使STB2占用太多的存储空间,减少了存储空间的占用率。
应理解,STB2在步骤S203之前,已通过加入请求消息,将STB2与频道1的映射关系加入网关侧的播放设备列表中。
S208、STB1向播放设备1推送频道1的第一组播数据流。
其中,该播放设备1为与STB1连接的播放设备。
S209、STB1接收组播服务器1发送的频道1的第二组播数据流。
S210、STB1在第一组播数据流和第二组播流同步时,向STB2发送停止接收消息。
STB1在接收到组播服务器1发送的频道1的第二组播数据流后,可以比较频道1的第一组播数据流中的各数据帧的播放时间与第二组播数据流的第一个数据帧的播放时间,当第一组播数据流中某一个数据帧(即第x个数据帧)的播放时间与第二组播数据流的第一个数据帧的播放时间相同时,两个组播数据流同步。在该场景下,STB1向STB2发送停止接收消息,并向播放设备1推送第二组播数据流。其中,该停止接收消息用于指示STB2停止向STB1发送STB2缓存的频道1的第一组播数据流,并断开与STB1的连接。
可选的,STB2可以向STB1发送确认消息,用于向STB1通知STB2已停止向STB1发送STB2缓存的频道1的第一组播数据流。
S211、STB1向播放设备1推送频道1的第二组播数据流。
应理解,在确定第一组播数据流和第二组播流同步后,本实施例不限定上述STB1向STB2发送停止接收消息,以及,STB1向播放设备1推送频道1的第二组播数据流的执行顺序。例如,上述STB1可以先向STB2发送停止接收消息,然后,STB1再向播放设备1推送频道1的第二组播数据流。或者,上述STB1可以向STB2发送停止接收消息的同时,向播放设备1推送频道1的第二组播数据流。或者,上述STB1可以先向播放设备1推送频道1的第二组播数据流,然后,STB1再向STB2发送停止接收消息。
S212、STB1向网关发送加入请求消息。
S213、网关将STB1与频道1的映射关系加入播放设备列表中。
应理解,在未应用本发明实施例提供的方法之前,STB的播放流程是:向组播服务器1请求加入频道1的组播组,在接收到组播服务器1发送的频道1的组播数据流后,推送到播放设备1。在接收到切换到其他频道的播放请求消息后,离开频道1的组播组,加入其他频道的组播组。
而在应用本发明实施例的方法时,STB在加入频道1的组播组时,增加从网关获取子网中其他播放频道1的STB的IP地址的流程,以从其他STB获取其他STB缓存的、含有关键帧的频道1的第一组播数据流,实现快速换台。STB在收到来自组播服务器1的频道1的组播数据流后,增加缓存该组播数据流的动作,以及,请求加入播放设备列表的流程,以在其他STB请求频道1的组播数据流时,可以与该其他STB建立连接,并向建立连接的STB发送所缓存的频道1的组播数据流。当STB离开频道1的组播组时,增加从播放设备列表中删除的流程。
可选的,当STB2在向STB1提供频道1的组播数据时,若STB2切台,则STB2可以采用“错时停止”方法为STB1提供频道1的组播数据。以从频道1切换到频道2为例,STB2停止向STB2所连接的播放设备停止推送频道1的组播数据流,并向频道2对应的组播服务器2发送请求加入频道2的组播组的请求消息。同时,STB2也不退出频道1的组播组。即STB2仍然会继续从组播服务1接收频道1的组播数据流。这样,STB2可以仍然为STB1提供频道1的组播数据流,直至STB2向STB1发送停止接收消息,STB2才会离开频道1的组播组。通过这种方式,可以确保STB1对应的播放设备能够正常播放频道1,不会因STB2切台而停止播放频道1,而出现播放中断的问题。
在本示例中,上述各个消息可以通过IP报文来实现。例如,将标准IP报文中数据部分进行填充修改,来实现上述各消息。
示例性的,当通过IP报文实现上述加入请求消息时,可以将IP报文的数据内容修改为add pindaoX。在该示例下,该报文可以称为加入报文。
当通过IP报文实现上述退出请求消息时,可以将IP报文的数据内容修改为removepindaoX。在该示例下,该报文可以称为离开报文。
当通过IP报文实现上述查询请求消息时,可以将IP报文的数据内容修改为querypindaoX。在该示例下,该报文可以称为查询报文。
当通过IP报文实现上述查询响应消息时,可以将IP报文的数据内容修改为对应的STB的IP地址。在该示例下,该报文可以称为回复报文。
本发明实施例提供的数据处理方法,第一终端设备接收请求播放第一频道的播放请求消息后,可以从网关获取子网中播放第一频道的第二终端设备的标识,然后,第一终端设备根据该第二终端设备的标识,可以从第二终端设备获取第二终端设备缓存的第一频道的第一组播数据流,并向播放设备推送第一频道的第一组播数据流。因该第一组播数据流的第一个数据帧为关键帧,这样,第一终端设备可以直接对该组播数据流进行解码,并推送给播放设备进行播放,无需花费时间等待关键帧的到来。因此,本发明实施例提供的数据处理方法,能够在不需要修改EPG以及架设过多的FCC服务器的基础上,实现快速换台功能。
应理解,虽然上述实施例均以如何实现快速换台来对本发明实施例提供的方法进行了说明和介绍,但是,本领域技术人员可以理解的是,上述方法也可以应用于终端设备开机播放某一频道的场景,以缩短播放该频道的时间,提高了用户体验。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图7为本发明提供的一种终端设备的结构示意图。该终端设备可以为前述所说的第一终端设备。如图7所示,该第一终端设备可以包括:接收模块11、第一收发模块12、第二收发模块13和推送模块14。其中,
接收模块11,用于接收播放请求消息,所述播放请求消息用于指示用户请求播放第一频道;
第一收发模块12,用于向网关发送查询请求消息,并接收所述网关返回的查询响应消息,所述查询请求消息用于查询子网中播放所述第一频道的终端设备的标识,所述查询响应消息用于指示所述子网中播放所述第一频道的第二终端设备的标识;
第二收发模块13,用于根据所述第二终端设备的标识,向所述第二终端设备发送数据获取请求消息,并接收所述第二终端设备返回的所述第二终端设备缓存的所述第一频道的第一组播数据流,所述数据获取请求消息用于请求获取第一频道的第一组播数据流,所述第一组播数据流的第一个数据帧为关键帧;
推送模块14,用于向播放设备推送所述第一频道的第一组播数据流。
继续参照图7,可选的,所述第一终端设备还可以包括:
获取模块15,用于在所述接收模块11接收播放请求消息之后,从组播服务器获取所述第一频道的第二组播数据流;
所述第二收发模块13,还用于当所述第一频道的第一组播数据流中的第x个数据帧的播放时间与所述第二组播数据流的第一个数据帧的播放时间相同时,停止接收所述第一组播数据流,所述x为大于或等于1的整数;
所述推送模块14,还用于停止推送所述第一频道的第一组播数据流,并向所述播放设备推送所述第二组播数据流。
本发明提供的终端设备,可以执行上述方法实施例中第一终端设备的动作,其实现原理和技术效果类似,在此不再赘述。
图8为本发明提供的另一种终端设备的结构示意图。该终端设备可以为前述所说的第二终端设备。如图8所示,该第二终端设备可以包括:接收模块21和发送模块22。其中,
接收模块21,用于接收第一终端设备发送的数据获取请求消息,所述数据获取请求消息用于请求获取第一频道的第一组播数据流;
发送模块22,用于向所述第一终端设备发送所述第二终端设备缓存的所述第一频道的第一组播数据流,所述第一组播数据流的第一个数据帧为关键帧。
继续参照图8,可选的,所述第二终端设备还包括:
处理模块23,还用于在所述接收模块21接收第一终端设备发送的数据获取请求消息之前,将从组播服务器接收到的所述第一频道的组播数据流中已经收到的关键帧到下一个关键帧之间的数据,作为第一频道的第一组播数据流进行缓存。
可选的,所述发送模块22,还用于在所述接收模块21接收第一终端设备发送的数据获取请求消息之前,向所述网关发送加入请求消息,所述加入请求消息用于请求将所述第二终端设备与所述第一频道的映射关系加入播放设备列表,所述播放设备列表用于指示频道与子网中播放所述频道的终端设备的标识的映射关系。
继续参照图8,可选的,若将所述第二终端设备缓存的所述第一频道的第一组播数据流发送给所述第一终端设备时,所述第二终端设备接收到播放切换请求,所述播放切换请求用于指示用户请求从所述第一频道切换至第二频道;则所述接收模块21,还用于继续从所述组播服务器获取所述第一频道的第一组播数据流;
所述发送模块22,还用于继续向所述第一终端设备发送所述第一频道的第一组播数据流,直至所述第一终端设备停止从所述第二终端设备接收所述第一频道的第一组播数据流。
可选的,所述发送模块22,还用于向所述网关发送退出请求消息,所述退出请求消息用于请求从所述播放设备列表中删除所述第二终端设备与所述第一频道的映射关系。
本发明提供的终端设备,可以执行上述方法实施例中第二终端设备的动作,其实现原理和技术效果类似,在此不再赘述。
图9为本发明提供的一种网关的结构示意图。如图9所示,该网关可以包括:接收模块31、查询模块32和发送模块33。其中,
接收模块31,用于接收第一终端设备发送的查询请求消息,所述查询请求消息用于查询子网中播放所述第一频道的终端设备的标识;
查询模块32,用于查询播放设备列表,获取所述子网中播放所述第一频道的第二终端设备的标识,所述播放设备列表用于指示频道与所述子网中播放所述频道的终端设备的标识的映射关系;
发送模块33,用于向所述第一终端设备发送查询响应消息,所述查询响应消息用于指示所述第二终端设备的标识。
继续参照图9,可选的,所述网关还包括:
所述接收模块31,还用于在接收第一终端设备发送的查询请求消息之前,接收所述第二终端设备发送的加入请求消息,所述加入请求消息用于请求将所述第二终端设备与所述第一频道的映射关系加入播放设备列表;
处理模块34,用于根据所述加入请求消息,将所述第二终端设备与所述第一频道的映射关系加入所述播放设备列表。
可选的,所述接收模块31,还用于在所述处理模块34根据所述加入请求消息,将所述第二终端设备与所述第一频道的映射关系加入所述播放设备列表之后,接收所述第二终端设备发送的退出请求消息,所述退出请求消息用于请求从所述播放设备列表中删除所述第二终端设备与所述第一频道的映射关系;
所述处理模块34,还用于根据所述退出请求消息,将所述第二终端设备与所述第一频道的映射关系从所述播放设备列表中删除。
本发明提供的网关,可以执行上述方法实施例中网关的动作,其实现原理和技术效果类似,在此不再赘述。
图10为本发明提供的一种电子设备的结构示意图。如图10所示,该电子设备可以包括:至少一个处理器41和存储器42。图10示出的是以一个处理器为例的电子设备,其中,
存储器42,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器42可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器41用于执行所述存储器42存储的计算机执行指令,以实现上述实施例中的数据处理方法中第一终端设备的动作,或者,第二终端设备的动作,或者,网关的动作,其实现原理和技术效果类似,在此不再赘述。
其中,处理器41可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
可选的,在具体实现上,如果通信接口、存储器42和处理器41独立实现,则通信接口、存储器42和处理器41可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口、存储器42和处理器41集成在一块芯片上实现,则通信接口、存储器42和处理器41可以通过内部接口完成相同间的通信。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质。具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
本发明还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当所述计算机程序或指令被运行时,可以实现上述实施例中的方法。
本发明还提供了一种播放系统,该播放系统可以包括前述所说的第一终端设备、第二终端设备、网关和至少一个组播服务器等。该播放系统,可以实现上述实施例中的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (13)
1.一种数据处理方法,其特征在于,所述方法包括:
第一终端设备接收播放请求消息,所述播放请求消息用于指示用户请求播放第一频道;
所述第一终端设备向网关发送查询请求消息,并接收所述网关返回的查询响应消息,所述查询请求消息用于查询子网中播放所述第一频道的终端设备的标识,所述查询响应消息用于指示所述子网中播放所述第一频道的第二终端设备的标识;
所述第一终端设备根据所述第二终端设备的标识,向所述第二终端设备发送数据获取请求消息,并接收所述第二终端设备返回的所述第二终端设备缓存的所述第一频道的第一组播数据流,所述数据获取请求消息用于请求获取第一频道的第一组播数据流,所述第一组播数据流的第一个数据帧为关键帧;
所述第一终端设备向播放设备推送所述第一频道的第一组播数据流。
2.根据权利要求1所述的方法,其特征在于,所述第一终端设备接收播放请求消息之后,所述方法还包括:
所述第一终端设备从组播服务器获取所述第一频道的第二组播数据流;
当所述第一组播数据流中的第x个数据帧的播放时间与所述第二组播数据流的第一个数据帧的播放时间相同时,所述第一终端设备停止接收和推送所述第一频道的第一组播数据流,并向所述播放设备推送所述第二组播数据流,所述x为大于或等于1的整数。
3.一种数据处理方法,其特征在于,所述方法包括:
第二终端设备接收第一终端设备发送的数据获取请求消息,所述数据获取请求消息用于请求获取第一频道的第一组播数据流;
所述第二终端设备向所述第一终端设备发送所述第二终端设备缓存的所述第一频道的第一组播数据流,所述第一组播数据流的第一个数据帧为关键帧。
4.根据权利要求3所述的方法,其特征在于,所述第二终端设备接收所述第一终端设备发送的数据获取请求消息之前,所述方法还包括:
所述第二终端设备将从组播服务器接收到的所述第一频道的组播数据流中已经收到的关键帧到下一个关键帧之间的数据,作为第一频道的第一组播数据流进行缓存。
5.根据权利要求3或4所述的方法,其特征在于,所述第二终端设备接收第一终端设备发送的数据获取请求消息之前,所述方法还包括:
所述第二终端设备向网关发送加入请求消息,所述加入请求消息用于请求将所述第二终端设备与所述第一频道的映射关系加入播放设备列表,所述播放设备列表用于指示频道与子网中播放所述频道的终端设备的标识的映射关系。
6.根据权利要求5所述的方法,其特征在于,若所述第二终端设备将所述第二终端设备缓存的所述第一频道的第一组播数据流发送给所述第一终端设备时,所述第二终端设备接收到播放切换请求,所述播放切换请求用于指示用户请求从所述第一频道切换至第二频道;则所述方法还包括:
所述第二终端设备继续从所述组播服务器获取所述第一频道的第一组播数据流,并继续向所述第一终端设备发送所述第一频道的第一组播数据流,直至所述第一终端设备停止从所述第二终端设备接收所述第一频道的第一组播数据流。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述第二终端设备向所述网关发送退出请求消息,所述退出请求消息用于请求从所述播放设备列表中删除所述第二终端设备与所述第一频道的映射关系。
8.一种数据处理方法,其特征在于,所述方法包括:
网关接收第一终端设备发送的查询请求消息,所述查询请求消息用于查询子网中播放第一频道的终端设备的标识;
所述网关查询播放设备列表,获取所述子网中播放所述第一频道的第二终端设备的标识,所述播放设备列表用于指示频道与所述子网中播放所述频道的终端设备的标识的映射关系;
所述网关向所述第一终端设备发送查询响应消息,所述查询响应消息用于指示所述第二终端设备的标识。
9.根据权利要求8所述的方法,其特征在于,所述网关接收第一终端设备发送的查询请求消息之前,所述方法还包括:
所述网关接收所述第二终端设备发送的加入请求消息,所述加入请求消息用于请求将所述第二终端设备与所述第一频道的映射关系加入所述播放设备列表;
所述网关根据所述加入请求消息,将所述第二终端设备与所述第一频道的映射关系加入所述播放设备列表。
10.根据权利要求9所述的方法,其特征在于,所述网关根据所述加入请求消息,将所述第二终端设备与所述第一频道的映射关系加入所述播放设备列表之后,所述方法还包括:
所述网关接收所述第二终端设备发送的退出请求消息,所述退出请求消息用于请求从所述播放设备列表中删除所述第二终端设备与所述第一频道的映射关系;
所述网关根据所述退出请求消息,将所述第二终端设备与所述第一频道的映射关系从所述播放设备列表中删除。
11.一种终端设备,其特征在于,所述终端设备为第一终端设备,所述第一终端设备包括:
接收模块,用于接收播放请求消息,所述播放请求消息用于指示用户请求播放第一频道;
第一收发模块,用于向网关发送查询请求消息,并接收所述网关返回的查询响应消息,所述查询请求消息用于查询子网中播放所述第一频道的终端设备的标识,所述查询响应消息用于指示所述子网中播放所述第一频道的第二终端设备的标识;
第二收发模块,用于根据所述第二终端设备的标识,向所述第二终端设备发送数据获取请求消息,并接收所述第二终端设备返回的所述第二终端设备缓存的所述第一频道的第一组播数据流,所述数据获取请求消息用于请求获取第一频道的第一组播数据流,所述第一组播数据流的第一个数据帧为关键帧;
推送模块,用于向播放设备推送所述第一频道的第一组播数据流。
12.一种终端设备,其特征在于,所述终端设备为第二终端设备,所述第二终端设备包括:
接收模块,用于接收第一终端设备发送的数据获取请求消息,所述数据获取请求消息用于请求获取第一频道的第一组播数据流;
发送模块,用于向所述第一终端设备发送所述第二终端设备缓存的所述第一频道的第一组播数据流,所述第一组播数据流的第一个数据帧为关键帧。
13.一种网关,其特征在于,所述网关包括:
接收模块,用于接收第一终端设备发送的查询请求消息,所述查询请求消息用于查询子网中播放第一频道的终端设备的标识;
所述网关查询播放设备列表,获取所述子网中播放所述第一频道的第二终端设备的标识,所述播放设备列表用于指示频道与所述子网中播放所述频道的终端设备的标识的映射关系;
发送模块,用于向所述第一终端设备发送查询响应消息,所述查询响应消息用于指示所述第二终端设备的标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910478279.7A CN112040306A (zh) | 2019-06-03 | 2019-06-03 | 数据处理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910478279.7A CN112040306A (zh) | 2019-06-03 | 2019-06-03 | 数据处理方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112040306A true CN112040306A (zh) | 2020-12-04 |
Family
ID=73575787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910478279.7A Pending CN112040306A (zh) | 2019-06-03 | 2019-06-03 | 数据处理方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112040306A (zh) |
-
2019
- 2019-06-03 CN CN201910478279.7A patent/CN112040306A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9015782B2 (en) | Signal distribution system with interrupt processing and trick play functionality | |
EP2151127B1 (en) | Method and arrangement for improved channel switching | |
CN101938456B (zh) | 一种减小媒体延迟的方法、设备及系统 | |
JP2008160199A (ja) | Ip放送システム、及びip放送用マルチキャストグループ管理装置 | |
EP2011308B1 (en) | Device and method for dynamically storing media data | |
JP2002314972A (ja) | 配信システムとその配信方法、及び配信プログラム | |
US8537992B2 (en) | System and method for recording communication activities | |
CN110324580B (zh) | 一种基于视联网的监控视频播放方法及装置 | |
KR20130005873A (ko) | 방송 시스템에서 컨텐츠 수신 방법 및 장치 | |
KR20050057532A (ko) | 스트리밍 세션을 관리하는 통신 시스템과 방법 | |
CN109862437B (zh) | 一种转发表项创建方法及bras | |
KR20190015521A (ko) | 인기 있는 라이브 방송 비디오를 결정하는 방법 및 디바이스 | |
KR20160138044A (ko) | 미디어 데이터를 스트리밍하기 위한 목표된 광고 삽입 | |
US20140043430A1 (en) | Apparatus and method for providing group communication service | |
CN110022286B (zh) | 点播多媒体节目的方法和装置 | |
WO2008141542A1 (fr) | Procédé, dispositif vidéo et système pour l'affichage d'informations au moment d'une commutation de canaux | |
CN108632681B (zh) | 播放媒体流的方法、服务器及终端 | |
CN112040306A (zh) | 数据处理方法及设备 | |
KR100759807B1 (ko) | Iptv 방송에서 시청시간 이동 서비스 방법 | |
CN108012194B (zh) | 一种控制iptv点播视频的方法、装置及系统 | |
US20100002779A1 (en) | Mechanism for the management of receivers/decoders connections | |
CN101409631B (zh) | 一种频道切换的方法和装置 | |
WO2009059499A1 (fr) | Procede et systeme de traitement de decalage temporel de television sur ip | |
KR101482796B1 (ko) | 컨텐츠 공유 방법 및 장치 | |
KR20080061583A (ko) | 인터넷 방송의 채널 변경시간 단축 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20201204 |