基于多网口的并发大流量输出的流媒体控制系统及方法与流程

文档序号:20840349发布日期:2020-05-22 17:25阅读:240来源:国知局
本发明涉及流媒体
技术领域
:,尤其涉及一种基于多网口的并发大流量输出的流媒体控制系统及方法。
背景技术
::随着ip网络的普及,很多企业和机构都把自己内部的传统电视系统升级成网络iptv系统。如:酒店、会所、学校和医院等场所,都在内部局域网内构建起自己的小型iptv系统,为场所内的所有智能电视终端提供直播、点播和信息推送等服务。这些场所对于系统部署方法和价格成本特别敏感,既要求部署方法简单无需改变现有网络及交换机,无需专业人员介入,同时还要价格实惠,无需采购其它价格高昂的设备。这类场所内的终端数量普遍比较多,高达几百个,若每个直播或点播节目码率大概是8mb/s左右,这样服务器输出总带宽需求高达1.5至3gb/s,单个普通千兆网口无法支持这样的大流,而传统做法要么加装万兆网卡作为输出口,要么bond多个千兆网口作为输出口。加装万兆网卡方案,服务器硬件成本要增加30%以上,同时客户核心交换机必须要支持光纤接,成本高了不少;bond多个网口的方案,则要修改现有网络中的核心交换机,很多场所根本不允许修改,现场施工人员根本不懂交换机配置。技术实现要素:针对上述技术问题,本发明提供了一种基于多网口的并发大流量输出的流媒体控制系统及方法,能增大普通服务器的输出总带宽,从而大大节省服务器硬件成本,简化系统的安装部署。为了解决上述技术问题,本发明提供的具体方案如下:基于多网口的并发大流量输出的流媒体控制系统,包括:服务端和客户端;所述服务端设有n个网口、网口配置模块、ts切片模块、ts分片文件存储和web服务器;所述n为大于1的整数;所述网口配置模块,用于设置1至n个网口作为输出口,并生成输出口路由规则和策略路由、输出口ip列表;所述ts切片模块,用于把实时输入视频流或视频文件切分成ts分片文件并保存;所述ts分片文件存储,用于保存ts分片文件区域;所述web服务器,用于支持客户端访问输出口ip列表和流媒体服务;客户端,用于确定访问的输出口ip和接收视频流或视频文件。可选的,所述输出口路由规则及策略路由,用于针对每一个输出口生成一条路由规则和一张策略路由表。可选的,所述输出口ip列表,以json格式保存所有输出口ip列表,供客户端获取所有输出口ip。可选的,所述客户端为手机app或浏览器。可选的,所述服务端与客户端之间设有核心交换机。可选的,所述服务端与核心交换机之间通过网线连接。本发明还提供了一种基于多网口的并发大流量输出的流媒体控制系统的方法,包括:客户端向服务端请求输出口ip列表;服务端回复输出口ip列表;客户端以自身ip求模n计算出确定访问的输出口ip;客户端向确定访问的输出口ip请求视频流或视频文件;服务端从确定访问的输出口ip把视频流或视频文件输出给客户端。可选的,所述方法还包括:配置网口作为输出口,生成各个输出口路由规则和策略路由、输出口ip列表;将实时输入视频流或视频文件切分成ts分片文件并保存;保存ts分片文件区域。可选的,所述服务端根据输出口路由规则和策略路由从确定访问的输出口ip把视频流或视频文件输出给客户端。与现有技术相比,本发明的有益效果在于:本发明提供的一种基于多网口的并发大流量输出的流媒体控制系统及方法,能增大普通服务器的输出总带宽,从而大大节省服务器硬件成本,简化系统的安装部署。附图说明图1为本发明实施例中提供的基于多网口的并发大流量输出的流媒体控制系统的原理框图。图2和图3为本发明实施例中提供的基于多网口的并发大流量输出的流媒体控制方法的2种示例。具体实施方式为了详细说明本发明的技术方案,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的
技术领域
:的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。例如,一种基于多网口的并发大流量输出的流媒体控制系统,包括:服务端和客户端;所述服务端设有n个网口、网口配置模块、ts切片模块、ts分片文件存储和web服务器;所述n为大于1的整数;所述网口配置模块,用于设置1至n个网口作为输出口,并生成输出口路由规则和策略路由、输出口ip列表;所述ts切片模块,用于把实时输入视频流或视频文件切分成ts分片文件并保存;所述ts分片文件存储,用于保存ts分片文件区域;所述web服务器,用于支持客户端访问输出口ip列表和流媒体服务;客户端,用于确定访问的输出口ip和接收视频流或视频文件。本实施例提供的一种基于多网口的并发大流量输出的流媒体控制系统,能增大普通服务器的输出总带宽,从而大大节省服务器硬件成本,简化系统的安装部署。在一些实施例中,如图1所示,提供一种基于多网口的并发大流量输出的流媒体控制系统,包括:服务端和客户端。在该示例中,服务端硬件为普通多网口工控机,该工控机共设有5个网口,分别为eth0-eth4,并安装linux系统作为服务器,linux系统与其他操作系统相比,具有开放源码的特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低;尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。客户端为手机app或浏览器,可用于访问服务端并接收服务端发出的视频流或视频文件。客户端可以请求服务端输出口ip列表,并以自身ip求模n确定自己应该访问的输出口ip,相当于在客户端做一次负载均衡,把客户端请求平均分摊到各个输出口上。客户端以自身ip求模n确定自己应该访问的输出口ip的具体过程如:服务端设有四个输出口,分别为eth_list[eth1,eth2,eth3,eth4],设客户端的ip为192.168.1.100,将客户端ip转成数字得到3232235778,3232235778%4=2,因此,当前客户端应该访问的输出口为eth_list[2],即eth2。这样,不同ip的客户端就会分散到四个输出口上,从而提升整体输出带宽。本示例提供的多网口工控机上安装有网口配置模块、ts切片模块、ts分片文件存储和web服务器。其中,网口配置模块,用于设置1至n个网口作为输出口,并生成输出口路由规则和策略路由、输出口ip列表。由网络配置模块配置各个网口的ip、网关以及是否作为输出口,并调用系统命令自动生成各个输出口的路由规则和策略路由。由于输出口ip都是同一网段的ip,如果不生成路由规则和策略路由,则所有输出数据包会匹配到第一个输出口的路由,集中到第一个输出口去,导致第一个输出口带宽不足支持所有输出流量,而其他输出口却没有数据输出。通过自动生成各个输出口的路由规则和策略路由,实现客户端请求数据包从哪个输出口进,服务端回包则从哪个输出口发出,使服务端输出的流媒体数据根据路由规则分摊到各个输出口上,从而扩大了总输出带宽。ts切片模块,用于把实时输入视频流或视频文件切分成ts分片文件并保存;ts分片文件存储,用于保存ts分片文件区域。将实时输入视频流或视频文件按hls协议切分成一片片的ts分片文件并保存于硬盘或内存中;ts分片文件存储,保存ts分片文件区域,内存tmpfs目录或硬盘目录,使web服务器可以直接访问。web服务器,用于支持客户端使用http协议访问输出口ip列表和hls协议的流媒体服务,可以是httpd/nginx/lighttpd等web服务器。在一些实施例中,所述输出口路由规则及策略路由,用于针对每一个输出口生成一条路由规则和一张策略路由表。例如:将eth1口配置为ip:192.168.12.88和gw:192.168.12.1配置完后,网口配置模块自动在后台生成如下路由规则及策略路由表,实现客户端请求数据包从哪个输出口进来,服务器回包则从哪个输出口发回给客户端。路由规则:[root@test~]#iprulelist;0:fromalllookuplocal;32755:from192.168.12.88lookupeth1table;32766:fromalllookupmain;32767:fromalllookupdefault;[root@test~]#;路由表:[root@test~]#iprouteshowtableeth1table;192.168.12.0/24deveth1scopelinksrc192.168.12.88;defaultvia192.168.12.1deveth1;[root@test~]#。在一些实施例中,输出口ip列表,以json格式保存所有输出口ip列表,供客户端获取所有输出口ip。本示例中提供的格式如下:{iplist:[{ip:“192.168.12.87”,port:“8080”},{ip:“192.168.12.88”,port:“8080”},{ip:“192.168.12.89”,port:“8080”}…]}。在一些实施例中,服务端与客户端之间设有核心交换机,服务端与核心交换机之间通过网线连接,所有输出口用网线连接到核心交换机上对外进行服务。本申请还提供了一种基于多网口的并发大流量输出的流媒体控制方法,包括:s1、客户端向服务端请求输出口ip列表。客户端为手机app或浏览器,可用于访问服务端并接收服务端发出的视频流或视频文件,如,该手机app或浏览器,客户端先从任一个输出口通过http协议访问服务端获取到所有输出口ip列表。s2、服务端回复输出口ip列表。服务端硬件为普通多网口工控机,该工控机共设有5个网口,并安装linux系统作为服务器,linux系统与其他操作系统相比,具有开放源码的特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低;尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。s3、客户端以自身ip求模n计算出确定访问的输出口ip。s4、客户端向确定访问的输出口ip请求视频流或视频文件。客户端以自身ip求模n计算出确定访问的输出口ip,相当于在客户端做一次负载均衡,把客户端请求平均分摊到各个输出口上。s5、服务端从确定访问的输出口ip把视频流或视频文件输出给客户端。在上述方法中,首先通过配置网口作为输出口,生成各个输出口路由规则和策略路由、输出口ip列表。其中,输出口路由规则及策略路由,用于针对每一个输出口生成一条路由规则和一张策略路由表,实现客户端请求数据包从哪个输出口进来,服务器回包则从哪个输出口发回给客户端,输出口ip列表则以json格式保存所有输出口ip列表,供客户端获取所有输出口ip。服务端将实时输入视频流或视频文件切分成ts分片文件并保存,同时,保存ts分片文件区域,使web服务器可以直接访问,web服务器用于支持客户端使用http协议访问输出口ip列表和hls协议的流媒体服务。服务端根据输出口路由规则和策略路由从确定访问的输出口ip把视频流或视频文件输出给客户端。如图2和图3所示,图2中客户端a的ip为192.168.12.101,服务端示出了eth1-eth3共4个输出口的ip,首先,客户端a向服务端请求输出口ip列表,服务端回复输出口ip列表,客户端a以自身ip求模n计算出确定访问eth1口后,客户端a向服务端eth1口请求视频流数据,服务端从eth1口把视频流数据输出给客户端a。同理的,图3所示客户端b的ip为192.168.12.102,服务端示出了eth1-eth3共4个输出口的ip,首先,客户端b向服务端请求输出口ip列表,服务端回复输出口ip列表,客户端b以自身ip求模n计算出确定访问eth2口后,客户端b向服务端eth2口请求视频流数据,服务端从eth2口把视频流数据输出给客户端b。本申请提供的基于多网口的并发大流量输出的流媒体控制系统及方法,在普通工控机上以多个普通千兆网口实现并发大流量的流媒体数据输出,对于输出流量大于1000mb/s的服务无需加装万兆光口,也不用修改核心交换机做bond绑定网口设置,具有简单实用和成本低的优点。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围,因此,本发明的保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1