一种基于p2p网络分享DVB实时TS流的处理方法与流程

文档序号:30903382发布日期:2022-07-26 23:44阅读:151来源:国知局
一种基于p2p网络分享DVB实时TS流的处理方法与流程
一种基于p2p网络分享dvb实时ts流的处理方法
技术领域
1.本发明涉及电视信号处理技术领域,具体涉及一种基于p2p网络分享dvb 实时ts流的处理方法。


背景技术:

2.iptv即交互式网络电视,是一种利用宽带网,集互联网、多媒体、通讯等技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的技术。
3.随着网络带宽的增加,多媒体视频越来越广泛地被应用到各个场景,短视频、直播卖货等应用比比皆是。未来必然会有更多的流媒体体类应用。但对这类应用提供商都有一个不小的烦恼,那就是巨额的带宽费用。对于像爱奇艺、优酷这样的视频网站,带宽费用更是运营的大头。
4.对于电视节目而言,同一个节目在同一时刻,会有大量的用户在观看。观看这些节目的方式有通过stb的dvb信号,有通过iptv系统的。传统的iptv 系统加上p2p可以有效减少带宽,但是利用的都是访问这个iptv服务器的客户端之间的p2p。比如说,有100个客户端通过一个app观看cctv1,但是有100 个stb用dvbs的卫星信号观看cctv1,他们之间是没办法相互分享节目数据的,只能是app中的100个客户端之间相互分享。
5.因此,传统的iptv系统加上p2p可以有效减少带宽,但是利用的都是访问这个iptv服务器的客户端之间的p2p。


技术实现要素:

6.基于现有技术存在的问题和不足,本技术提供了一种基于p2p网络分享 dvb实时ts流的处理方法,将观看dvb信号的stb作为父节点,给观看iptv 节目的stb分享节目数据,用于降低iptv系统的带宽。
7.一种基于p2p网络分享dvb实时ts流的处理方法,其特征在于,包括步骤:
8.s1,正在播放dvb节目机顶盒将节目播放信息及p2p穿透信息上传至iptv 服务器;
9.s2,观看iptv节目的机顶盒访问iptv服务器,并上传其自身需要观看的节目信息请求,同时,iptv服务器获取与所请求节目信息相同的且正在观看对应dvb节目的播放信息;
10.s3,iptv服务器向观看iptv节目的机顶盒下发正在观看对应dvb节目的机顶盒的p2p穿透信息;
11.s4,所述观看iptv节目的机顶盒根据p2p穿透信息穿透所述正在观看对应 dvb节目的机顶盒,获取节目数据进行播放。
12.进一步地,步骤s1中,正在播放dvb节目的机顶盒将节目播放信息及p2p 穿透信息上传至iptv服务器的方法包括:
13.s11,首先从录制通道中获取正在播放dvb节目的ts流;
14.s12,通过两个缓冲队列分别进行pcr值的缓存和pcr分片的缓存;
15.s13,判断网络状况和信号状况是否存在,若不存在就断开iptv服务器连接和p2p子节点的连接,重复步骤s11,若存在,则与穿透的播放dvb节目机顶盒之间建立父子连接关系,当前节点为父节点,并给子节点发送pcr队列的pcr 值;
16.s14,等待接收子节点分享pcr分片的请求,并发送pcr分片给子节点。
17.进一步地,在s11中,从录制通道中获取对正在播放dvb节目的ts流之前还需要待机顶盒的节目播放第一时间间隔后再连接iptv服务器来获取正在播放dvb节目的ts流。
18.进一步地,连接iptv服务器还需要发送当前节目的id信息、网络信息、信号状态信息、p2p穿透需要的ip、port信息。
19.进一步地,步骤s2中,iptv服务器获取与所请求节目信息相同的且正在观看对应dvb节目的机顶盒信息的方法,包括需要获取播放iptv服务器的地址和从iptv服务器获取p2p穿透信息列表。
20.进一步地,步骤s4中,观看iptv节目的机顶盒穿透所述正在观看对应dvb 节目的机顶盒,获取节目数据进行播放的方法包括在获取到播放iptv服务器的地址和从iptv服务器获取p2p穿透信息列表后还需要判断获取的播放信息是否从正在播放dvb节目的所述的父节点获取的播放数据,若是,则直接播放,若否,则获取播放iptv服务器的地址及获取播放节目的pcr穿透列表,按照pcr穿透列表获取pcr分片进行播放。
21.进一步地,步骤s4中,所述观看iptv节目的机顶盒根据p2p穿透信息穿透所述正在观看对应dvb节目的机顶盒,获取节目数据进行播放之前,观看iptv 节目的机顶盒需要发送当前节目信息给iptv服务器,获取iptv服务器的地址,并从iptv服务器获取p2p穿透列表,并判断当前是否能从作为父节点的正在观看对应dvb节目的机顶盒获取到数据,若否,则从iptv服务器的播放地址,获取节目的pcr穿透列表,按照pcr穿透列表获取pcr分片进行播放,若能,则从该父节点获取到数据直接播放。
22.进一步地,判断当前是否能从作为父节点的正在观看对应dvb节目的机顶盒获取到数据时,需要从iptv服务器获取p2p穿透列表,穿透正在观看对应的dvb节目的机顶盒,并在无法穿透当前正在观看对应的dvb节目的机顶盒时,根据p2p穿透列表,穿透所有正在观看对应的dvb节目的机顶盒。
23.进一步地,若当前能从作为父节点的正在观看对应dvb节目的机顶盒获取到数据,则与该父节点建立p2p父子节点关系,当前节点为子节点,并从父节点获取pcr列表,与当前播放的pcr列表比对,匹配上后发送pcr值给父节点,父节点开始从该pcr位置依次发送后面的pcr分片并缓存。
24.本发明的有益效果:本发明方法可以将观看dvb信号的机顶盒作为父节点,给观看iptv节目的机顶盒分享节目数据,大大降低了iptv系统的带宽,并且如果观看dvb信号节目数量的机顶盒大于iptv节目的机顶盒的数量,可以做到iptv带宽降到接近0。
附图说明
25.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
26.图1为本发明的方法流程图;
27.图2为本发明的方法框图的左边部分;
28.图3为本发明的方法框图的右边部分;
29.图4为本发明的机顶盒盒分享dvb节目的框架图。
具体实施方式
30.下面结合附图对本发明实施例进行详细描述。
31.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方法。
33.如图1-图3所示,其中,图2和图3可通过“穿透成功建立连接”这个连接点联系来看,本实施例提供了一种基于p2p网络分享dvb实时ts流的处理方法,包括步骤:
34.s1,正在播放dvb节目机顶盒将节目播放信息及p2p穿透信息上传至iptv 服务器;
35.在本步骤s1中,正在播放dvb节目的机顶盒将节目播放信息及p2p穿透信息上传至iptv服务器的方法包括:
36.s11,首先从录制通道中获取正在播放dvb节目的ts流;
37.s12,开辟两个缓冲队列,通过两个缓冲队列分别进行pcr值的缓存和pcr分片的缓存,如图4所示;
38.s13,判断网络状况和信号状况是否存在或良好,若不存在或不好就断开 iptv服务器连接和p2p子节点的连接,重复步骤s11,若存在,则与穿透的播放dvb节目机顶盒之间建立父子连接关系,当前节点为父节点,并给子节点发送pcr队列的pcr值;
39.s14,等待接收子节点分享pcr分片的请求,并发送pcr分片给子节点。
40.另外,在s11中,从录制通道中获取对正在播放dvb节目的ts流之前还需要待机顶盒的节目播放第一时间间隔后再连接iptv服务器来获取正在播放 dvb节目的ts流,间隔的时间可以是10s,连接iptv服务器还需要发送当前节目的original_network_id、transport_stream_id、video pid等各种id信息、网络信息、信号状态信息、p2p穿透需要的各种ip、port信息等,可采用tcp长连接,私有通信协议。
41.s2,观看iptv节目的机顶盒访问iptv服务器,并上传其自身需要观看的节目信息请求,同时,iptv服务器获取与所请求节目信息相同的且正在观看对应dvb节目的播放信息;
42.在步骤s2中,观看iptv节目的机顶盒启动iptv对应的app,点击一个节目后,即发送当前节目信息给iptv服务器,获取播放iptv服务器的地址和从 iptv服务器获取p2p穿透信息列表。
43.s3,iptv服务器向观看iptv节目的机顶盒下发正在观看对应dvb节目的机顶盒的
p2p穿透信息;
44.s4,所述观看iptv节目的机顶盒根据p2p穿透信息穿透所述正在观看对应 dvb节目的机顶盒,获取节目数据进行播放。
45.在本步骤s4中,观看iptv节目的机顶盒穿透所述正在观看对应dvb节目的机顶盒,获取节目数据进行播放的方法包括在获取到播放iptv服务器的地址和从iptv服务器获取p2p穿透信息列表后还需要判断获取的播放信息是否从正在播放dvb节目的所述的父节点获取的播放数据,若是,则直接播放,若否,则获取播放iptv服务器的地址及获取播放节目的pcr穿透列表,按照pcr 穿透列表获取pcr分片进行播放。
46.另外,所述观看iptv节目的机顶盒根据p2p穿透信息穿透所述正在观看对应dvb节目的机顶盒,获取节目数据进行播放之前,观看iptv节目的机顶盒需要发送当前节目信息给iptv服务器,获取iptv服务器的地址,并从iptv服务器获取p2p穿透列表,并判断当前是否能从作为父节点的正在观看对应dvb 节目的机顶盒获取到数据,若否,则从iptv服务器的播放地址,获取节目的 pcr穿透列表,按照pcr穿透列表获取pcr分片进行播放,若能,则从该父节点获取到数据直接播放。
47.还需要说明的是,判断当前是否能从作为父节点的正在观看对应dvb节目的机顶盒获取到数据时,需要从iptv服务器获取p2p穿透列表,穿透正在观看对应的dvb节目的机顶盒,并在无法穿透当前正在观看对应的dvb节目的机顶盒时,根据p2p穿透列表,穿透所有正在观看对应的dvb节目的机顶盒。
48.若当前能从作为父节点的正在观看对应dvb节目的机顶盒获取到数据,则与该父节点建立p2p父子节点关系,当前节点为子节点,并从父节点获取pcr 列表,与当前播放的pcr列表比对,匹配上后发送pcr值给父节点,父节点开始从该pcr位置依次发送后面的pcr分片并缓存。
49.通过上述实施例,观看dvb信号的stb作为父节点,给观看iptv节目的 stb分享节目数据,这样可以极大的降低iptv系统的带宽。如果观看dvb信号节目数量的stb大于iptv节目的stb数量,那么理论上是可以做到iptv带宽降到接近0。
50.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1