CN103780927A - 一种视频推送的方法及系统 - Google Patents
一种视频推送的方法及系统 Download PDFInfo
- Publication number
- CN103780927A CN103780927A CN201410021592.5A CN201410021592A CN103780927A CN 103780927 A CN103780927 A CN 103780927A CN 201410021592 A CN201410021592 A CN 201410021592A CN 103780927 A CN103780927 A CN 103780927A
- Authority
- CN
- China
- Prior art keywords
- client
- service server
- push
- video
- reception
- 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
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提出一种视频推送的方法,包括:发送客户端从业务服务器获取客户端信息列表,其中,所述客户端信息列表中存储连接所述业务服务器的所有客户端的信息;所述发送客户端根据所述客户端信息列表,选择接收视频数据的接收客户端;所述发送客户端对选择的接收客户端进行直连测试,并记录测试结果;所述发送客户端根据所述测试结果,选择相应方式将视频数据推送给所述接收客户端。本发明的有益效果是所述服务器端支持高并发连接;所述发送客户端和所述接收客户端均通过定时心跳与所述服务器端保持长连接并可随时获取相关数据;支持所述客户端之间通过UDP打洞技术绕开所述业务服务器传输数据,减轻所述业务服务器压力。
Description
本发明请求本申请人于2013年5月2日向中国国家知识产权局提交的申请号为CN201310158406.8,发明名称为“一种视频推送的处理方法”的中国发明专利申请的优先权,上述申请的全部内容以引用方式并入本文。
技术领域
本发明属于多媒体技术领域,更具体地,涉及一种视频推送的方法及系统。
背景技术
视频推送是为了达到多个终端设备(包含TV、PC、手机等终端)进行互动的效果,可以在不同的终端上共享展示内容,使用户得到更好的体验,丰富用户的多媒体生活。
通常,实现视频推送的的技术手段包括客户端轮询和阻塞的TCP/IP协议方式来实现。客户端轮询方式,是指发送客户端将数据推送至服务器,接收客户端隔一段时间就去服务器查询是否有推送数据,如果有数据推送,则获取数据;但是间隔多长时间去轮询存在问题,间隔太短,连续不断的请求会增加服务器压力,间隔太长,服务器上的新数据就需要越多的时间才能到达接收客户端,用户体验差。阻塞的TCP/IP协议方式,是发送客户端通过TCP与服务器通信,连接不关闭,发送客户端给服务器发送数据,服务器主动推送数据给接收客户端,其特点是多线程处理多个连接,每个线程拥有自己的栈空间并占用CPU时间,每个线程遇到外部未准备好的时候,都会被阻塞掉,阻塞的结果就是会带来大量的进程上下文切换,影响服务器的性能,且不能支持高并发连接数。
201210303365.2号专利申请公开了一种多屏互动系统和方法,其多屏系统均通过TCP与服务器保持长连接,使用的是传统的Socket连接,占用内存较大,支持的连接数较少;其多屏系统中服务器会主动分发设备列表,终端获取设备列表后会主动与所有设备列表中设备进行直连测试,而不是根据用户实际使用情况,选择性的进行操作,占用较大的带宽,给服务器和客户端带来较大压力。
发明内容
为解决上述问题,使得发送客户端能够随时将数据推送至服务器,接收客户端能及时接收推送数据,客户端能够占用服务器更少的内存,服务器支持高并发连接,本发明提出了以下技术方案:一种视频推送的方法,包括如下步骤:
发送客户端从业务服务器获取客户端信息列表,其中,所述客户端信息列表中存储连接所述业务服务器的所有客户端的信息;
所述发送客户端根据所述客户端信息列表,选择接收视频数据的接收客户端;
所述发送客户端对选择的接收客户端进行直连测试,并记录测试结果;
所述发送客户端根据所述测试结果,选择相应方式将视频数据推送给所述接收客户端。
优选的是,所述发送客户端从业务服务器获取客户端信息列表具体为:所述发送客户端定时向所述业务服务器发送心跳包,与所述业务服务器建立连接;所述发送客户端接收所述业务服务器在判断所述发送客户端为长连接状态后向所述发送客户端发送客户端信息列表,所述客户端信息列表存储有与所述业务服务器连接的所有客户端的信息;所述发送客户端存储接收到的客户端信息列表。
优选的是,所述测试结果包括连接正常和连接失败;所述发送客户端对选择的接收客户端进行直连测试后,将测试结果记录在所述发送客户端;所述步骤D具体为:当所述测试结果为连接正常时,所述发送客户端将所述视频数据通过UDP打洞技术,直接推送给所述接收客户端;当所述测试结果为连接失败时,将视频数据推送给所述业务服务器并由所述业务服务器负责向所述接收客户端推送数据。
优选的是,所述步骤D中,所述将视频数据推送给所述业务服务器并由所述业务服务器负责向所述接收客户端推送数据,具体为:当所述测试结果为连接失败时,所述发送客户端将所述视频数据通过TCP协议推送给所述业务服务器,由所述业务服务器再负责推送给所述接收客户端。
优选的是,所述步骤D中,在所述选择相应方式将视频数据推送给所述接收客户端之前,还包括:发送客户端选择待推送的视频数据,并根据所述视频数据的版权属性执行终止推送或者执行继续推送。
一种视频推送的装置,应用于发送客户端,包括:
获取模块,用于从业务服务器获取客户端信息列表,其中,所述客户端信息列表中存储连接所述业务服务器的所有客户端的信息;选择模块,用于根据所述客户端信息列表,选择接收视频数据的接收客户端;
测试模块,用于对选择的接收客户端进行直连测试,并记录测试结果;
推送模块,用于根据所述测试结果,选择相应方式将视频数据推送给所述接收客户端。
优选的是,所述获取模块具体用于:定时向所述业务服务器发送心跳包,与所述业务服务器建立连接;并接收所述业务服务器在判断所述发送客户端为长连接状态后向所述发送客户端发送客户端信息列表,所述客户端信息列表存储有与所述业务服务器连接的所有客户端的信息;以及,存储接收到的客户端信息列表。
优选的是,所述测试结果包括连接正常和连接失败;所述推送模块进一步包括:UDP推送单元,用于当所述测试结果为连接正常时,所述发送客户端将所述视频数据通过UDP打洞技术,直接推送给所述接收客户端;间接推送单元,用于当所述测试结果为连接失败时,将视频数据推送给所述业务服务器并由所述业务服务器负责向所述接收客户端推送数据。
优选的是,所述间接推送单元具体用于,当所述测试结果为连接失败时,所述发送客户端将所述视频数据通过TCP协议推送给所述业务服务器,由所述业务服务器再负责推送给所述接收客户端。
优选的是,所述推送模块还包括:版权属性判断单元,用于根据所述视频数据的版权属性执行终止推送或者执行继续推送。
本申请还公开了一种视频推送的系统,所述系统包括至少一个发送客户端、至少一个业务服务器和至少一个接收客户端,所述业务服务器预先存储有与其连接的至少一个接收客户端的列表信息,并根据所述发送客户端的请求反馈所述至少一个接收客户端的列表信息;所述发送客户端根据接收到的所述至少一个接收客户端的列表信息,采用如权利要求1至5任一项所述的视频推送的方法向所述接收客户端推送视频数据。
按照本发明的一种视频推送的方法及系统,所述发送客户端和所述接收客户端均通过定时心跳,确保与所述业务服务器保持在线状态,通过该技术手段能够实现所述业务服务器占用较少的内存,支持高并发连接;所述发送客户端和所述接收客户端均监听所述业务服务器,可随时获取所述业务服务器相关数据;当所述发送客户端向所述接收客户端推送数据时,首先测试两者直连状态,若直连正常,可通过UDP打洞技术绕开所述业务服务器,实现所述发送客户端和所述接收客户端的直接通信,以能够实现减轻所述业务服务器压力的目的。
附图说明
图1示出了按照本发明的视频推送的方法一优选实施例的流程示意图;
图2示出了按照本发明的视频推送的方法的应用架构示意图;
图3示出了按照本发明的视频推送的方法的图2所示优选实施例的TV客户端流程示意图;
图4示出了按照本发明的视频推送的方法的图2所示优选实施例的移动客户端流程示意图;
图5出了按照本发明的视频推送的装置的结构示意图;
图6出了按照本发明的视频推送的系统的功能组成示意图。
具体实施方式
如图1所示为按照本发明的视频推送方法的一优选实施例的流程示意图。
步骤101,发送客户端从业务服务器获取客户端信息列表信息。
在该步骤101中,所述业务服务器,用于存储视频资源信息,包括视频简介、视频ID、所属专辑ID、用户ID、视频来源、视频总时长、观看进度、推送时间中至少一个。所述客户端信息列表,用于存储连接所述业务服务器的所有客户端信息,包括客户端IP、客户端连接端口、客户端名称中至少一个。所述发送客户端定时向所述业务服务器发送心跳包,与所述业务服务器建立连接;所述发送客户端接收所述业务服务器在判断所述发送客户端为长连接状态后向所述发送客户端发送客户端信息列表,所述客户端信息列表存储有与所述业务服务器连接的所有客户端的信息。
步骤102,根据所述客户端信息列表,选择接收视频数据的接收客户端。
在该步骤102中,所述选择接收视频数据的接收客户端,是根据所述客户端信息列表中显示的内容,选择所要将视频信息推送的接收客户端信息。如:根据客户端信息列表中存储的连接所述业务服务器的客户端IP选择接收视频数据的接收客户端。
步骤103,所述发送客户端对所述接收客户端进行直连测试,并记录测试结果。
在该步骤103中,所述直连测试,是所述发送客户端根据所述用户选择的所述接收客户端的IP、端口信息,直接对数据交换进行测试。所述测试结果,分为连接正常和连接失败两种状态,并将所述测试结果记录在所述发送客户端。
步骤104,所述发送客户端根据所述测试结果,选择相应方式将视频数据推送给所述接收客户端。所述发送客户端将视频数据信息直接推送给所述接收客户端或者推送给所述业务服务器,并由所述业务服务器负责向所述接收客户端推送数据。在该步骤104中,当所述测试结果为连接正常时,所述发送客户端将所述视频数据通过UDP打洞技术,直接推送给所述接收客户端;当所述测试结果为连接失败时,将视频数据推送给所述业务服务器并由所述业务服务器负责向所述接收客户端推送数据。
所述将视频数据信息直接推送,是根据所述测试结果为所述正常连接状态的情况下,所述发送客户端将所述视频数据通过UDP打洞技术,直接推送给所述接收客户端,从而绕过所述服务器,缓解所述服务器压力。所述推送给业务服务器并由所述业务服务器负责向所述接收客户端推送数据,是根据所述测试结果为所述连接失败状态的情况,所述发送客户端将所述视频数据通过TCP推送给所述业务服务器,由所述业务服务器再负责推送给所述接收客户端。
在所述选择相应方式将视频数据推送给所述接收客户端之前,还包括:发送客户端选择待推送的视频数据,并根据所述视频数据的版权属性执行终止推送或者执行继续推送。
图2示出了按照本发明的视频推送的方法的应用架构示意图。
所述视频推送,应包含至少一个发送客户端,一个接收客户端,一台业务服务器;所述发送客户端与所述接收客户端地位对等,可以互换。
所述业务服务器用于存储视频资源信息,包括视频简介、视频ID、所属专辑ID、用户ID、视频来源、视频总时长、观看进度、推送时间中至少一个。
所述业务服务器还用于收集所述发送客户端和所述接收客户端设备信息,包括设备IP、设备端口、设备名称,存储于客户端设备列表中中至少一个。
所述接收客户端连接所述业务服务器,上报自身设备信息,并启动监听,随时接收来自所述业务服务器端推送的视频数据信息;为确保能与所述业务服务器保持长连接,所述接收客户端需定时向所述业务服务器发送心跳包。
所述发送客户端连接所述业务服务器,上报自身设备信息,并启动监听,随时所述业务服务器端推送视频数据信息;为确保能与所述业务服务器保持长连接,所述发送客户端需定时向所述业务服务器发送心跳包。
所述发送客户端连接所述业务服务器后,从所述业务服务器端下载所述客户端设备列表。
所述发送客户端选择所要推送的所述接收客户端后,首先进行直连测试,若直连成功,在所述发送客户端记录与所述接收客户端直连状态为连接正常,并向所述接收客户端直接推送视频数据;若直连失败,在所述发送客户端记录与所述接收客户端直连状态为连接失败,并向所述业务服务器推送视频数据。
所述业务服务器接收视频数据后,将所述视频数据推送至所述接收客户端。
如图3所示,是按照本发明的视频推送的方法的图1所示步骤103的优选实施例的TV客户端与业务服务器进行连接测试的流程示意图。在该实施例中,接收客户端为所述TV端。
步骤301,TV端调用用户中心登陆。
在该步骤中,所述用户中心,是用于管理用户信息的处理功能模块,可以进行注册、登陆、身份认证操作。在所述TV端,输入用户名、口令信息,得到所述用户中心验证,通过TCP方式登陆服务器。
步骤302,TV端请求并获取服务器地址。
在该步骤中,所述TV端获取得到所述服务器地址。
步骤303,TV端向服务器报告自身信息并启动监听,定时发送心跳数据包,确保与服务器建立长连接。
在该步骤中,所述报告自身信息,将所述TV端IP、所述TV端连接端口、所述TV端名称信息发送至所述服务器。所述定时发送,一般根据实际应用,间隔时间选择在30至40秒能满足要求,对于实时性要求高的,间隔时间可选择6秒至9秒。所述心跳包,是指所述TV端向所述服务器按照所述定时发送的简单信息,用于确定所述TV端是否处于连接状态;若在规定的时间段内,所述服务器端未收到所述TV端响应,则判断所述TV端处于掉线状态。所述保持长连接,是通过所述心跳包确定所述TV端一直连接到所述服务器端,可与所述服务器端进行数据交换。
如图4所示,是按照本发明的视频推送的方法的图2所示的优选实施例的移动客户端流程示意图。在该实施例中,发送客户端为所述移动客户端。
步骤401,移动客户端调用用户中心登陆。
在该步骤中,所述用户中心,是用于管理用户信息的处理功能模块,可以进行注册、登陆、身份认证操作。在所述移动客户端,输入用户名、口令信息,得到所述用户中心验证,通过TCP方式登陆服务器。
步骤402,移动客户端请求并获取服务器地址。
在该步骤中,所述移动客户端获取得到所述服务器地址。
步骤403,移动客户端向服务器报告自身信息并启动监听,定时发送心跳数据包,确保与服务器建立长连接。
在该步骤中,所述报告自身信息,将所述移动客户端IP、所述移动客户端连接端口、所述移动客户端名称信息发送至所述服务器。所述定时发送,一般根据实际应用,间隔时间选择在30至40秒能满足要求,对于实时性要求高的,间隔时间可选择6秒至9秒。所述心跳包,是指所述移动客户端向所述服务器按照所述定时发送的简单信息,用于确定所述移动客户端是否处于连接状态;若在规定的时间段内,所述服务器端未收到所述移动客户端响应,则判断所述移动客户端处于掉线状态。所述保持长连接,是通过所述心跳包确定所述移动客户端一直连接到所述服务器端,可与所述服务器端进行数据交换。
步骤404,移动客户端获取服务器端设备列表。
在该步骤中,所述移动客户端获取所述服务器端设备列表,用于获取与所述服务器端连接的其他所述TV端信息,便于用户选择相应的TV端。
步骤405,移动客户端选择需播放的视频。
在该步骤中,根据视频简介信息,在所述移动客户端选择所述用户感兴趣的视频文件。
步骤406,判断视频TV版版权是否正版。
在该步骤中,根据视频ID来进行判断,所述用户选择播放的视频是否为正版视频。
步骤407,移动客户端,视频播放页面隐藏推送功能。
在该步骤中,根据所述视频版权判断,若为非正版视频,则在所述视频播放页面中,将所述推送功能隐藏。
步骤408,移动客户端,视频播放页显示推送功能。
在该步骤中,根据所述视频版权判断,若为正版视频,则在所述视频播放页面中,将所述推送功能显示。
步骤409,选择向TV端推送。
在该步骤中,根据所述服务器端设备列表,选择需要推送的所述TV端设备。
步骤410,移动客户端与TV端进行直连测试。
在该步骤中,是所述移动客户端根据所述用户选择的所述TV端的IP、端口信息,直接对数据交换进行测试。
步骤411,判断是否直连成功。
在该步骤中,根据所述的直连测试,得到测试结果,判断是否直连成功。
步骤412,移动客户端将视频推送至服务器。
在该步骤中,是根据所述直连测试结果为连接失败状态的情况,所述移动客户端将所述视频数据通过TCP推送给所述服务器。
步骤413,服务器将视频推送至TV端。
在该步骤中, 由所述服务器负责推送给所述TV端。
步骤414,TV端直接视频数据。
在该步骤中,所述移动客户端将所述视频数据通过UDP打洞技术,直接推送给所述TV端,从而绕过所述服务器,缓解所述服务器压力。
步骤415,若为收费视频,判断是否有权限播放。
在该步骤中,根据视频ID和用户ID,判断用户是否有权限播放该视频。
步骤416,调用通用付费提示。
在该步骤中,由于所述收费视频用户无权播放,将转入付费处理流程。
步骤417,TV版启动播放器,从推送播放进度进行续播。
在该步骤中,所述TV端接收到视频数据后,根据视频总长、观看进度、推送时间,进行在所述TV端的视频播放。
如图5所示为按照本发明的视频推送装置的示意图。如图5所示,所述视频推送装置包括:获取模块、测试模块、推送模块。
所述获取模块,用于从业务服务器获取客户端信息列表,其中,所述客户端信息列表中存储连接所述业务服务器的所有客户端的信息;选择模块,用于根据所述客户端信息列表,选择接收视频数据的接收客户端;
所述所述获取模块具体用于:定时向所述业务服务器发送心跳包,与所述业务服务器建立连接;并接收所述业务服务器在判断所述发送客户端为长连接状态后向所述发送客户端发送客户端信息列表,所述客户端信息列表存储有与所述业务服务器连接的所有客户端的信息;以及,存储接收到的客户端信息列表。
所述测试模块,用于对选择的接收客户端进行直连测试,并记录测试结果;
所述推送模块,用于根据所述测试结果,选择相应方式将视频数据推送给所述接收客户端。
所述推送模块进一步包括:UDP推送单元,用于当所述测试结果为连接正常时,所述发送客户端将所述视频数据通过UDP打洞技术,直接推送给所述接收客户端;间接推送单元,用于当所述测试结果为连接失败时,将视频数据推送给所述业务服务器并由所述业务服务器负责向所述接收客户端推送数据。
所述间接推送单元具体用于,当所述测试结果为连接失败时,所述发送客户端将所述视频数据通过TCP协议推送给所述业务服务器,由所述业务服务器再负责推送给所述接收客户端。
推送模块还包括:版权属性判断单元,用于根据所述视频数据的版权属性执行终止推送或者执行继续推送。
图6出了按照本发明的视频推送的系统的功能组成示意图。
本发明的系统包括至少一个发送客户端、至少一个业务服务器和至少一个接收客户端。所述发送客户端包括定时器模块、信息发送模块、信息接收模块、信息处理模块和客户端信息列表;所述业务服务器包括服务接收模块、服务发送模块、服务处理模块和客户端信息列表;所述接收客户端包括定时器模块、信息发送模块、信息接收模块、信息处理模块和客户端信息列表。
所述发送客户端和所述接收客户端,地位对等,是视频信息发送和接收的主体。
所述业务服务器,用于存储视频资源信息,包括视频简介、视频ID、所属专辑ID、用户ID、视频来源、视频总时长、观看进度、推送时间中至少一个。
所述定时器模块,用于驱动客户端所述信息发送模块按照预先定义的时间间隔向所述业务服务器发送心跳包数据的功能。所述预先定义的时间间隔,一般根据实际应用,间隔时间选择在30至40秒能满足要求,对于实时性要求高的,间隔时间选择6秒至9秒。
所述心跳包,是指所述客户端向所述业务服务器按照所述预先定义的时间间隔发送的简单信息,用于确定所述客户端是否处于连接状态;若在规定的时间段内,所述业务服务器端未收到所述客户端信息,则判断所述客户端处于掉线状态。
所述信息发送模块,具有主动发送信息的功能。
所述信息接收模块,具有主动接收信息的功能。
所述信息处理模块,具有处理所述客户端信息的功能,包括对所述客户端信息列表、所述信息发送模块和所述信息接收模块的信息的处理。
所述客户端信息列表,用于收集存储所连接的所述客户端信息,包括客户端IP、客户端连接端口、客户端名称中至少一个信息。
所述服务发送模块,是服务器端具有主动将服务信息发送的功能。
所述服务接收模块,是服务器端具有主动接收服务信息的功能。
所述服务处理模块,是服务器端具有处理所述服务器端信息的功能,包括对服务器端所述客户端信息列表、所述服务发送模块和所述服务接收模块的信息的处理。
按照本发明的一种视频推送的方法及系统,所述发送客户端和所述接收客户端均通过定时心跳,确保与所述业务服务器保持在线状态,通过该技术手段能够实现所述业务服务器占用较少的内存,支持高并发连接;所述发送客户端和所述接收客户端均监听所述业务服务器,可随时获取所述业务服务器相关数据;当所述发送客户端向所述接收客户端推送数据时,首先测试两者直连状态,若直连正常,可通过UDP打洞技术绕开所述业务服务器,实现所述发送客户端和所述接收客户端的直接通信,以能够实现减轻所述业务服务器压力的目的。
因此,一种视频推送的方法及系统,使得发送客户端能够随时将数据推送至服务器,接收客户端能及时接收推送数据,支持客户端长时间并发连接服务器,使得服务器占用较少的内存并支持高并发连接,支持发送客户端和接收客户端通过直连,绕开服务器,从而能减轻服务器端压力。
上述详细描述通过实施例和/或示意图阐明了系统和/或过程的各种实施例。就这些示意图和/或包含一个或多个功能和/或操作而言,本领域技术人员将理解,这些示意图或实施例中的每一个功能和/或操作都可由各种各样的硬件、软件、固件、或实际上其任意组合来单独地和/或共同地实现。
应该理解,本发明的方法中所涉及的硬件或软件,可以采用任何现有技术中适用的硬件或软件,或在适当时结合两者的组合来实现。因此,本发明的方法,可以采用包含在诸如软盘、CD-ROM、硬盘驱动器或任何其他机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码在可编程计算机上执行的情况下,计算设备通常包括处理器、该处理器可读的存储介质(包括易失性存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。一个或多个程序可以例如,通过使用API,可重用控件等来实现或利用结合本发明描述的过程。这样的程序优选地用高级过程语言或面向对象编程语言来实现,以与计算机系统通信。然而,如果需要,该程序可以用汇编语言或机器语言来实现。在任何情形中,语言可以是编译语言或解释语言,且与硬件实现相结合。
需要说明的是,本发明的一种视频推送的方法及系统方案的范畴包括但不限于上述各部分之间的任意组合。
尽管具体地参考其优选实施例来示出并描述了本发明,但本领域的技术人员可以理解,可以做出形式和细节上的各种改变而不脱离所附权利要求书中所述的本发明的范围。以上结合本发明的具体实施例做了详细描述,但并非是对本发明的限制。凡是依据本发明的技术实质对以上实施例所做的任何简单修改,均仍属于本发明技术方案的范围。
Claims (10)
1.一种视频推送的方法,其特征在于,包括如下步骤:
发送客户端从业务服务器获取客户端信息列表,其中,所述客户端信息列表中存储连接所述业务服务器的所有客户端的信息;
所述发送客户端根据所述客户端信息列表,选择接收视频数据的接收客户端;
所述发送客户端对选择的接收客户端进行直连测试,并记录测试结果;
所述发送客户端根据所述测试结果,选择相应方式将视频数据推送给所述接收客户端。
2.如权利要求1所述的视频推送的方法,其特征在于,所述发送客户端从业务服务器获取客户端信息列表具体为:
所述发送客户端定时向所述业务服务器发送心跳包,与所述业务服务器建立连接;
所述发送客户端接收所述业务服务器在判断所述发送客户端为长连接状态后向所述发送客户端发送客户端信息列表,所述客户端信息列表存储有与所述业务服务器连接的所有客户端的信息;
所述发送客户端存储接收到的客户端信息列表。
3.如权利要求1所述的视频推送的方法,其特征在于,所述测试结果包括连接正常和连接失败;
所述发送客户端对选择的接收客户端进行直连测试后,将测试结果记录在所述发送客户端;
所述步骤D具体为:当所述测试结果为连接正常时,所述发送客户端将所述视频数据通过UDP打洞技术,直接推送给所述接收客户端;当所述测试结果为连接失败时,将视频数据推送给所述业务服务器并由所述业务服务器负责向所述接收客户端推送数据。
4.如权利要求3所述的视频推送的方法,其特征在于,所述步骤D中,所述将视频数据推送给所述业务服务器并由所述业务服务器负责向所述接收客户端推送数据,具体为:
当所述测试结果为连接失败时,所述发送客户端将所述视频数据通过TCP协议推送给所述业务服务器,由所述业务服务器再负责推送给所述接收客户端。
5.如权利要求1所述的视频推送的方法,其特征在于,所述步骤D中,在所述选择相应方式将视频数据推送给所述接收客户端之前,还包括:发送客户端选择待推送的视频数据,并根据所述视频数据的版权属性执行终止推送或者执行继续推送。
6.一种视频推送的装置,应用于发送客户端,其特征在于,包括:
获取模块,用于从业务服务器获取客户端信息列表,其中,所述客户端信息列表中存储连接所述业务服务器的所有客户端的信息;选择模块,用于根据所述客户端信息列表,选择接收视频数据的接收客户端;
测试模块,用于对选择的接收客户端进行直连测试,并记录测试结果;
推送模块,用于根据所述测试结果,选择相应方式将视频数据推送给所述接收客户端。
7.如权利要求6所述的视频推送的装置,其特征在于,所述获取模块具体用于:定时向所述业务服务器发送心跳包,与所述业务服务器建立连接;并接收所述业务服务器在判断所述发送客户端为长连接状态后向所述发送客户端发送客户端信息列表,所述客户端信息列表存储有与所述业务服务器连接的所有客户端的信息;以及,存储接收到的客户端信息列表。
8.如权利要求6所述的视频推送的装置,其特征在于,所述测试结果包括连接正常和连接失败;所述推送模块进一步包括:UDP推送单元,用于当所述测试结果为连接正常时,所述发送客户端将所述视频数据通过UDP打洞技术,直接推送给所述接收客户端;间接推送单元,用于当所述测试结果为连接失败时,将视频数据推送给所述业务服务器并由所述业务服务器负责向所述接收客户端推送数据。
9.如权利要求8所述的视频推送的装置,其特征在于,所述间接推送单元具体用于,当所述测试结果为连接失败时,所述发送客户端将所述视频数据通过TCP协议推送给所述业务服务器,由所述业务服务器再负责推送给所述接收客户端。
10.一种视频推送的系统,所述系统包括至少一个发送客户端、至少一个业务服务器和至少一个接收客户端,其特征在于,所述业务服务器预先存储有与其连接的至少一个接收客户端的列表信息,并根据所述发送客户端的请求反馈所述至少一个接收客户端的列表信息;所述发送客户端根据接收到的所述至少一个接收客户端的列表信息,采用如权利要求1至5任一项所述的视频推送的方法向所述接收客户端推送视频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410021592.5A CN103780927A (zh) | 2013-05-02 | 2014-01-17 | 一种视频推送的方法及系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310158406 | 2013-05-02 | ||
CN201310158406.8 | 2013-05-02 | ||
CN201410021592.5A CN103780927A (zh) | 2013-05-02 | 2014-01-17 | 一种视频推送的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103780927A true CN103780927A (zh) | 2014-05-07 |
Family
ID=50572691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410021592.5A Pending CN103780927A (zh) | 2013-05-02 | 2014-01-17 | 一种视频推送的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103780927A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227970A (zh) * | 2015-09-29 | 2016-01-06 | 北京奇艺世纪科技有限公司 | 一种视频推荐方法及装置 |
CN105681385A (zh) * | 2015-05-22 | 2016-06-15 | 深圳Tcl数字技术有限公司 | 信息推送方法及装置 |
CN106028091A (zh) * | 2016-05-23 | 2016-10-12 | 深圳Tcl数字技术有限公司 | 视频节目推送方法及装置 |
CN106791944A (zh) * | 2015-11-23 | 2017-05-31 | 北大方正集团有限公司 | 多屏互动方法、多屏互动装置及多屏互动系统 |
CN108462612A (zh) * | 2017-02-22 | 2018-08-28 | 北京京东尚科信息技术有限公司 | 调整rtp媒体流传输的方法、装置、电子设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170687A (zh) * | 2007-11-28 | 2008-04-30 | 武汉烽火网络有限责任公司 | 基于视频监控的前端录像点播穿越nat的方法 |
CN101212654A (zh) * | 2007-12-24 | 2008-07-02 | 深圳市同洲电子股份有限公司 | 一种网络视频监控系统及其数据获取方法 |
CN101237570A (zh) * | 2008-02-22 | 2008-08-06 | 上海华平信息技术股份有限公司 | 基于客户端模式的音视频编码器及网络系统 |
CN101764974A (zh) * | 2010-01-08 | 2010-06-30 | 烽火通信科技股份有限公司 | 多节目预览iptv电子节目单的实现方法及系统 |
CN102325271A (zh) * | 2011-09-02 | 2012-01-18 | 深圳创维-Rgb电子有限公司 | 移动终端发送文件给电视机共享的方法、装置及移动终端 |
CN102572578A (zh) * | 2011-12-30 | 2012-07-11 | Tcl王牌电器(惠州)有限公司 | 电视屏幕显示移动终端画面的方法及传屏系统 |
CN102802048A (zh) * | 2012-08-24 | 2012-11-28 | 乐视网信息技术(北京)股份有限公司 | 一种多屏互动系统和方法 |
CN102833632A (zh) * | 2012-08-24 | 2012-12-19 | Tcl集团股份有限公司 | 多屏互动主从控制设备管理方法、智能电视及控制设备 |
US20130038676A1 (en) * | 2010-05-06 | 2013-02-14 | Kenji Tanaka | Transmission terminal, transmission method, and computer-readable recording medium storing transmission program |
-
2014
- 2014-01-17 CN CN201410021592.5A patent/CN103780927A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170687A (zh) * | 2007-11-28 | 2008-04-30 | 武汉烽火网络有限责任公司 | 基于视频监控的前端录像点播穿越nat的方法 |
CN101212654A (zh) * | 2007-12-24 | 2008-07-02 | 深圳市同洲电子股份有限公司 | 一种网络视频监控系统及其数据获取方法 |
CN101237570A (zh) * | 2008-02-22 | 2008-08-06 | 上海华平信息技术股份有限公司 | 基于客户端模式的音视频编码器及网络系统 |
CN101764974A (zh) * | 2010-01-08 | 2010-06-30 | 烽火通信科技股份有限公司 | 多节目预览iptv电子节目单的实现方法及系统 |
US20130038676A1 (en) * | 2010-05-06 | 2013-02-14 | Kenji Tanaka | Transmission terminal, transmission method, and computer-readable recording medium storing transmission program |
CN102325271A (zh) * | 2011-09-02 | 2012-01-18 | 深圳创维-Rgb电子有限公司 | 移动终端发送文件给电视机共享的方法、装置及移动终端 |
CN102572578A (zh) * | 2011-12-30 | 2012-07-11 | Tcl王牌电器(惠州)有限公司 | 电视屏幕显示移动终端画面的方法及传屏系统 |
CN102802048A (zh) * | 2012-08-24 | 2012-11-28 | 乐视网信息技术(北京)股份有限公司 | 一种多屏互动系统和方法 |
CN102833632A (zh) * | 2012-08-24 | 2012-12-19 | Tcl集团股份有限公司 | 多屏互动主从控制设备管理方法、智能电视及控制设备 |
Non-Patent Citations (1)
Title |
---|
施霞萍等: "《Java程序设计教程》", 30 November 2012, 机械工业出版社 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681385A (zh) * | 2015-05-22 | 2016-06-15 | 深圳Tcl数字技术有限公司 | 信息推送方法及装置 |
CN105681385B (zh) * | 2015-05-22 | 2019-01-01 | 深圳Tcl数字技术有限公司 | 信息推送方法及装置 |
CN105227970A (zh) * | 2015-09-29 | 2016-01-06 | 北京奇艺世纪科技有限公司 | 一种视频推荐方法及装置 |
CN105227970B (zh) * | 2015-09-29 | 2018-08-07 | 北京奇艺世纪科技有限公司 | 一种视频推荐方法及装置 |
CN106791944A (zh) * | 2015-11-23 | 2017-05-31 | 北大方正集团有限公司 | 多屏互动方法、多屏互动装置及多屏互动系统 |
CN106028091A (zh) * | 2016-05-23 | 2016-10-12 | 深圳Tcl数字技术有限公司 | 视频节目推送方法及装置 |
WO2017201901A1 (zh) * | 2016-05-23 | 2017-11-30 | 深圳Tcl数字技术有限公司 | 视频节目推送方法及装置 |
CN106028091B (zh) * | 2016-05-23 | 2020-09-22 | 深圳Tcl数字技术有限公司 | 视频节目推送方法及装置 |
CN108462612A (zh) * | 2017-02-22 | 2018-08-28 | 北京京东尚科信息技术有限公司 | 调整rtp媒体流传输的方法、装置、电子设备和存储介质 |
CN108462612B (zh) * | 2017-02-22 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 调整rtp媒体流传输的方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103780927A (zh) | 一种视频推送的方法及系统 | |
US9953612B2 (en) | Systems and methods for facilitating communication between mobile devices and display devices | |
CN107770161B (zh) | 一种直播平台中防止刷礼物的方法及装置 | |
US11210700B2 (en) | Method and apparatus for managing advertisements | |
CN107634850B (zh) | 一种应用状态获取方法及其设备、存储介质、服务器 | |
US9253547B2 (en) | Methods and systems for facilitating remote control of a television by a support technician | |
CN103067422A (zh) | 一种业务发放的方法、设备及系统 | |
US8972569B1 (en) | Remote and real-time network and HTTP monitoring with real-time predictive end user satisfaction indicator | |
CN109218370A (zh) | 消息发送方法及装置、电子设备 | |
CN107748690A (zh) | 应用跳转方法、装置和计算机存储介质 | |
US11490149B2 (en) | Cap-based client-network interaction for improved streaming experience | |
CN112533008A (zh) | 视频回放方法、装置、电子设备及存储介质 | |
CN108920120A (zh) | 一种信息显示控制方法及装置 | |
CN105930249B (zh) | 应用监控方法和装置 | |
CN109729061B (zh) | 消息处理方法、装置、设备及可读存储介质 | |
CN101674470B (zh) | 实现客户端录制的方法、系统及录制控制实体 | |
CN107479911A (zh) | 下载应用程序的方法、用户设备和应用服务器 | |
CN105933797B (zh) | 基于网络协议电视的直播节目启播方法及装置 | |
CN109286665B (zh) | 实时移动游戏长链接处理方法及装置 | |
US10110963B1 (en) | System, method, and computer program for media content playback management | |
CN104935571B (zh) | 一种电视游戏服务端与客户端的交互方法 | |
EP2630750A1 (en) | Quality of service monitoring device and method of monitoring quality of service | |
CN101888406B (zh) | 机顶盒、业务服务器、节目下载方法、发送方法及系统 | |
CN104427484B (zh) | 一种用于向应用服务器传送应用数据的方法与设备 | |
EP3367630B1 (en) | System and method for calculating sip kpis for a time window |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140507 |
|
RJ01 | Rejection of invention patent application after publication |