OnStream智能在线流媒体平台系统的制作方法

文档序号:19221669发布日期:2019-11-26 02:11阅读:307来源:国知局
OnStream智能在线流媒体平台系统的制作方法

本发明涉及流媒体系统领域,尤其是onstream智能在线流媒体平台系统。



背景技术:

目前,互联网视频服务是以娱乐为主。各级党政机关、教育、医疗、农牧、新闻媒体等行业迫切需要将高清视频实时推送给下属机构和社会公众,为日常工作提供高效快捷的视频信息实时直播服务。建设智能在线流媒体视频平可以为客户提供在线视频端到端的技术平台,为需要视频服务的行业提供专业的视频直播、点播、管理和存储等服务。

现有技术中专利号:cn201210233227.1、专利名称:一种ics流媒体平台系统公开了一种流媒体平台系统,采用了层次化的面向服务的体系架构,包括应用服务层、管理服务层、平台基础服务层和设备接入层;可以兼容市场上主流的多种视频终端设备,将不同厂家的视频终端设备集成到一个统一的平台来管理,这样使用方既减少了物质投入,又节约了人力资源。同时,ics流媒体平台满足用户的各种个性化需求,支持pc客户端和主流的智能手机客户端的实时视频浏览和历史视频回放等功能。但上述专利的架构会因服务增多导致复杂度增加,比如其中的分布式事务,如果一次部署多个服务,部署复杂度随之提高,系统吞吐量增大,响应对应变慢,因此带来资源占用大,启动慢的问题,因此需要一种流媒体平台系统可以克服上述缺点。



技术实现要素:

本发明的目的在于:本发明提供了onstream智能在线流媒体平台系统,解决现有架构随着服务增多导致占用资源大、响应慢的问题。

本发明采用的技术方案如下:

onstream智能在线流媒体平台系统,采用分布式体系架构,包括视频服务层、业务管理层和应用层,

所述视频服务层,包括流媒体服务、数据库服务、分布式文件服务和服务发现,用于视频的采集、压缩、转码、存储和分发;

所述业务管理层,包括直播服务、点播服务、系统服务、业务管理和统计管理,用于视频的鉴权、直播控制、点播控制、视频资源管理、业务处理、用户管理和数据统计;

所述应用层,包括web应用和app应用,用于支持web和app两种方式部署至tv、pc、pad和phone,用于用户与系统进行交互;

所述视频服务层的流媒体服务、数据库服务、分布式文件服务和业务管理层的管理平台之间通过docker部署;

所述视频服务层的流媒体系统对终端采集的视频信息进行预处理后发送至业务管理层的管理平台,管理平台对视频进行鉴权和管理后返回结果至流媒体系统,流媒体系统再进行转码、存储和分发。

优选地,所述流媒体服务由以下模块实现:视频采集模块、视频处理模块和视频播放模块,其中,视频采集模块用于将原始视频数据源利用rtmp编码器进行采集、转码、推流至视频服务器;视频处理模块用于业务系统对视频数据来源进行鉴权、分发和存储处理;视频播放模块用于实现在多种客户端进行视频播放。

优选地,所述分布式文件服务实现对采集数据的存储、存储介质管理和回放,所述分布式文件服务由分布式文件系统实现,所述分布式文件系统实现存储十亿级数量文件和快速提供文件。

优选地,所述服务发现由服务发现模块实现,所述服务发现模块存储服务当前网络位置信息,用于客户端调用服务时通过访问服务发现模块获取服务的访问情况。

优选地,所述视频服务层的流媒体服务、数据库服务、分布式文件服务和业务管理层的管理平台之间通过docker部署具体如下:

所述服务由分布式节点实现;

所述节点包括consul-master节点和consul-agnent节点;

所述consul-master节点包括管控主服务、流媒体服务、数据存储集群、缓存服务、文件服务集群、管理平台和网络代理服务;

所述consul-agnent节点包括管控服务、流媒体服务、数据存储集群、缓存服务、文件服务集群、管理平台和网络代理服务;

所述集群采用docker虚拟机,所述docker虚拟机采用swarm管理。

优选地,所述业务管理由以下模块实现:公告管理模块、直播频道管理模块、点播频道管理模块、部门管理模块和人员管理模块。

优选地,所述统计管理由以下模块实现:人员统计模块、单位统计模块和视频统计模块,用于基于用户,记录历史观看信息和统计观看时长;基于部门,统计总观看时长和用户占比;基于单位,统计总观看时长及各部门占比;基于系统,统计各单位观看数据。

优选地,所述系统管理由以下模块实现:用户管理模块、资源管理模块、权限管理模块、角色管理模块、日志管理模块和单位管理模块。

优选地,所述业务管理由以下模块实现:公告管理模块、部门管理模块、人员管理模块、直播频道管理模块和点播频道管理模块。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

1.本发明采用分布式架构,所述架构包括实现流媒体处理的视频服务层、实现视频处理和控制的业务管理层,视频服务层的流媒体服务、数据库服务、分布式文件服务和业务管理层的管理平台之间通过docker部署,服务器集群具有高可伸缩性、高可用性和高可管理性,大大降低占用资源,实现快速启动和响应;

2.本发明利用实时性和稳定性高的rtmp协议实现多数据源视频采集和分发,可实现对摄像头、摄像机、有线电视信号、网络视频信号、视频文件、监控系统、视频会议系统等多种数据源的视频采集;

3.本发明多线程分布式并行转码,通过分布式转码技术,支持将多个视音频文件分发到多台集群服务器上同时进行转码,系统可以通过扩展服务器成倍提高集群转码性能;

4.本发明采用google高性能golang架构组织业务服务,利用golang非阻塞i/o模型协程(coroutines)使得业务可以使单cpu支持100k以上的并发能力,大幅度提升业务能力;

5.本发明服务发现将当前网络位置注册至服务发现模块,实现客户端和服务端解耦,避免现有服务增多配置繁杂的缺点;

6.本发明的分布式文件系统具有存储数十亿个文件、快速提供文件特性,实现对音频/视频的接收存储、录像存储管理、存储介质管理及录像回放服务等功能;

7.本发明通过人员统计模块、单位统计模块和视频统计模块帮助使用单位实时精确统计全网在线人数、带宽使用情况、用户观看时长、观看行为等信息;对采集的海量数据进行数据挖掘,帮助使用单位提高运营水平。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明的系统架构框图;

图2为本发明的系统实施示意图;

图3为本发明的流媒体系统框图;

图4为本发明的视频平台框图;

图5为本发明的docker连接示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以下结合实施例对本发明的特征和性能作进一步的详细描述。

实施例1

现有的架构不适用与服务数量大的情况,特别是现有的分布式事务,部署单个服务会比较快,但是如果一次部署需要多个服务,部署会变得复杂;系统的吞吐量会变大,响应时间会变长;运维复杂度会因为服务变多而变得很复杂,测试和查错的复杂度增大;因此本申请提出一种系统,采用分布式架构,所述架构包括实现流媒体处理的视频服务层、实现视频处理和控制的业务管理层,视频服务层的流媒体服务、数据库服务、分布式文件服务和业务管理层的管理平台之间通过docker部署,服务器集群具有高可伸缩性、高可用性和高可管理性,大大降低占用资源,实现快速启动和响应;其中,高可伸缩性指随着需求和负荷的增长,可以向集群系统添加更多的服务器,实现多台服务器执行相同的应用和数据库操作;高可用性指在不需要操作者干预的情况下,防止系统发生故障或从故障中自动恢复的能力。通过把故障服务器上的应用程序转移到备份服务器上运行,集群系统能够把正常运行时间提高到大于99.9%,大大减少服务器和应用程序的停机时间;高可管理性指系统管理员可以从远程管理一个、甚至一组集群。

本申请提出一种onstream智能在线流媒体平台系统,细节如下:

onstream智能在线流媒体平台系统采用分布式体系架构,包括视频服务层、业务管理层和应用层,

所述视频服务层,包括流媒体服务、数据库服务、分布式文件服务和服务发现,用于视频的采集、压缩、转码、存储和分发;

所述业务管理层,包括直播服务、点播服务、系统服务、业务管理和统计管理,用于视频的鉴权、直播控制、点播控制、视频资源管理、业务处理、用户管理和数据统计;

所述应用层,包括web应用和app应用,用于支持web和app两种方式部署至tv、pc、pad和phone,用于用户与系统进行交互;

所述视频服务层的流媒体服务、数据库服务、分布式文件服务和业务管理层的管理平台之间通过docker部署;所述视频服务层的流媒体系统对终端采集的视频信息进行预处理后发送至业务管理层的管理平台,管理平台对视频进行鉴权和管理后返回结果至流媒体系统,流媒体系统再进行转码、存储和分发。

流媒体服务由以下模块实现:视频采集模块、视频处理模块和视频播放模块,其中,视频采集模块用于将原始视频数据源利用rtmp编码器进行采集、转码、推流至视频服务器;视频处理模块用于业务系统对视频数据来源进行鉴权、分发和存储处理;视频播放模块用于实现在多种客户端进行视频播放。

分布式文件服务实现对采集数据的存储、存储介质管理和回放,分布式文件服务由分布式文件系统实现,所述分布式文件系统实现存储十亿级数量文件和快速提供文件。

服务发现由服务发现模块实现,所述服务发现模块存储服务当前网络位置信息,用于客户端调用服务时通过访问服务发现模块获取服务的访问情况。

所述视频服务层的流媒体服务、数据库服务、分布式文件服务和业务管理层的管理平台之间通过docker部署具体如下:

所述服务由分布式节点实现;

所述节点包括consul-master节点和consul-agnent节点;

所述consul-master节点包括管控主服务、流媒体服务、数据存储集群、缓存服务、文件服务集群、管理平台和网络代理服务;

所述consul-agnent节点包括管控服务、流媒体服务、数据存储集群、缓存服务、文件服务集群、管理平台和网络代理服务;

所述集群采用docker虚拟机,所述docker虚拟机采用swarm管理。每个docker虚拟机视作一个集群,swarm是用来管理docker虚拟机的工具。

业务管理由以下模块实现:公告管理模块、直播频道管理模块、点播频道管理模块、部门管理模块和人员管理模块。

统计管理由以下模块实现:人员统计模块、单位统计模块和视频统计模块,用于基于用户,记录历史观看信息和统计观看时长;基于部门,统计总观看时长和用户占比;基于单位,统计总观看时长及各部门占比;基于系统,统计各单位观看数据。

系统管理由以下模块实现:用户管理模块、资源管理模块、权限管理模块、角色管理模块、日志管理模块和单位管理模块。

业务管理由以下模块实现:公告管理模块、部门管理模块、人员管理模块、直播频道管理模块和点播频道管理模块。

采用分布式架构,所述架构包括实现流媒体处理的视频服务层、实现视频处理和控制的业务管理层,视视频服务层的流媒体服务、数据库服务、分布式文件服务和业务管理层的管理平台之间通过docker部署,大大降低占用资源,实现快速启动和响应;

如图1-2所示,解剖室配置两台高清摄像头,一台定点变焦采集解剖详细画面;可加配一台动点定焦采集整体画面,可加配音频采集设备;控制室人员可通过监控器和远程手柄对画面、焦距进行控制;控制室管理的画面通过流媒体编码器输出到视频服务器上;视频服务器提供视频节目的直播和点播服务,流媒体采用http切片方式进行视频切片。http切片方式播放可使用不同的网络环境,能很好的与cdn进行对接,并且能很好的穿透防火墙;客户端主要包括pc、pad、phone等多种终端接收。其中主要包括pc端播放器和移动端app播放器。依据公安解剖室业务实际情况,产品规模设计需要能够满足2000并发用户以上、10万小时以上的视频数据管理及播放的需要;提供流媒体服务功能。流媒体服务器满足2000以上(10k)的并发量。

本申请的流媒体平台系统从编解码到分发,从服务器到存储,都可达到超高性能,超高的资源利用率。高性能硬件编码器采用了先进的实时h.264/avc视频压缩算法,24x7不间断无故障运行,网络适应能力强,具备超低的延时特性,端到端延迟可达<5s。平台采用高性能流媒体分发引擎,加之对硬件io资源的优化,系统支持超大规模并发量,但仅需同类产品几分之一的服务器为使用单位节约大量硬件服务器资源以及相关的机架、空调、电力、运维成本。

实施例2

基于实施例1,细化本申请的改进点,具体如下:

如图5所示,所述视频服务层的流媒体服务、数据库服务、分布式文件服务和业务管理层的管理平台之间通过docker部署具体如下:

所述服务由分布式节点实现;

所述节点包括consul-master节点和consul-agnent节点;

所述consul-master节点包括管控主服务、流媒体服务、数据存储集群、缓存服务、文件服务集群、管理平台和网络代理服务;

所述consul-agnent节点包括管控服务、流媒体服务、数据存储集群、缓存服务、文件服务集群、管理平台和网络代理服务;

所述集群采用docker虚拟机,所述docker虚拟机采用swarm管理。

docker是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的容器中,然后发布到任何流行的linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。docker使用客户端-服务器(c/s)架构模式,使用远程api来管理和创建docker容器。docker容器通过docker镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。

docker采用c/s架构,dockerdaemon作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。客户端和服务端既可以运行在一个机器上,也可通过socket或者restfulapi来进行通信。dockerdaemon一般在宿主主机后台运行,等待接收来自客户端的消息。docker客户端则为用户提供一系列可执行命令,用户用这些命令实现跟dockerdaemon交互。由于其基于lxc的轻量级虚拟化的特点,docker相比kvm之类最明显的特点就是启动快,资源占用小。

如图3所示,流媒体服务由以下模块实现:视频采集模块、视频处理模块和视频播放模块,其中,视频采集模块用于将原始视频数据源利用rtmp编码器进行采集、转码、推流至视频服务器;视频处理模块用于业务系统对视频数据来源进行鉴权、分发和存储处理;视频播放模块用于实现在多种客户端进行视频播放。

利用rtmp协议实现多数据源视频采集和分发,可实现对摄像头、摄像机、有线电视信号、网络视频信号、视频文件、监控系统、视频会议系统等多种数据源的视频采集。支持cdn集群视频数据分发。支持实时视频录像。支持http、hls等多种视频格式分发。

rtmp(realtimemessagingprotocol)是实时消息传输协议,主要用来在flash/air平台和支持rtmp协议的流媒体/交互服务器之间进行音视频和数据通信。rtmp本质上是流协议,主要的优势是:实时性高:rtmp的实时性在3秒之内,经过多层cdn节点分发后,实时性也在3秒左右;支持加密;稳定性高;编码器接入;系统容错;可监控;流化的下载观看方式,能够大大节约运营商带宽;便于实现防盗链和drm视频流加密;一套架构,同时支持直播和点播。

采用多线程ffmpeg转码技术,实现实时高质量视频转码。转码出的视频图像质量佳,明亮度适中,画面清晰度高,画面切换连贯、流畅、无拖影、无马赛克;视音频同步,音频内容音量大小适中,声音清晰,有层次,无爆音。通过分布式转码技术,支持将多个视音频文件分发到多台集群服务器上同时进行转码,系统可以通过扩展服务器成倍提高集群转码性能。

采用b/s结构,直接构建在通用服务器平台之上,不需要下载专用客户端播放程序,单机即可支持超大并发访问,支持无限用户扩展使用。

分布式文件服务实现对采集数据的存储、存储介质管理和回放,分布式文件服务由分布式文件系统实现,所述分布式文件系统实现存储十亿级数量文件和快速提供文件。

服务发现由服务发现模块实现,所述服务发现模块存储服务当前网络位置信息,用于客户端调用服务时通过访问服务发现模块获取服务的访问情况。

restful、微服务等分布式框架体系中,服务发现是不能不提的一个模块,客户端必须要知道所有服务的网络位置的,以往的做法是配置是配置文件中,或者有些配置在数据库中,但引发如下问题:需要配置n个服务的网络位置,导致配置的复杂性加大;服务的网络位置变化,都需要改变每个调用者的配置;集群的情况下,难以做负载。综上,存在服务增多,配置麻烦的问题;

在服务发现式架构服务中,服务a-n把当前自己的网络位置注册到服务发现模块,服务发现就以k-v的方式记录下,k一般是服务名,v就是ip:port。服务发现模块定时的轮询查看这些服务能不能访问即健康检查。客户端在调用服务a-n的时候,访问服务发现模块问它们的网络位置,然后再调用它们的服务。这样的方式解决了上面的问题,客户端完全不需要记录这些服务网络位置,客户端和服务端完全解耦。consul是分布式的、高可用、横向扩展的。

云存储:分布式文件系统(distributedfilesystem)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。

利用golang语言开发了一个简单且高度可扩展的分布式文件系统:onstream-dfs。实现了两个目标:存储数十亿个文件;快速提供文件。

onstream-dfs可以有效地处理小文件。中央主服务器不管理中央主服务器中的所有文件元数据,而是仅管理文件卷,并允许这些卷服务器管理文件及其元数据。这减轻了中央主服务器的并发压力,并将文件元数据传播到卷服务器,从而允许更快的文件访问(只需一次磁盘读取操作)。

每个文件的元数据只有40个字节的磁盘存储开销。

onstream-dfs可以很好地与对象存储区一起工作,具有可定制的元数据存储,例如,

mysql/postgres/redis/cassandra/leveldb。onstream-dfs可连接san、nas、das等各类物理存储设备。onstream-dfs可实现分布式部署。

onstream-dfs的主要功能如下:

录像存储:支持从pu或vtdu处获取媒体流存储在所连接的存储介质中,并保存所存储资料的索引。录像检索:支持对icms中录像检索指令进行反馈,支持多种检索方式。流式回放:对来自icms的回放请求打开文件,并通过sip和rtsp提供流媒体服务。录像下载:cu可通过css下载存储介质的中音视频数据。存储介质管理:可对san、nas、das等多种存储设备或移动云的接入,并可管理存储空间、存储策略。客户视频上传可支持pc客户端和手机客户端,直接上传音视频文件,并存储在css中,并向用户提供下载和回放功能。

如图4所示,业务管理由以下模块实现:公告管理模块、直播频道管理模块、点播频道管理模块、部门管理模块和人员管理模块。统计管理由以下模块实现:人员统计模块、单位统计模块和视频统计模块,用于基于用户,记录历史观看信息和统计观看时长;基于部门,统计总观看时长和用户占比;基于单位,统计总观看时长及各部门占比;基于系统,统计各单位观看数据。系统管理由以下模块实现:用户管理模块、资源管理模块、权限管理模块、角色管理模块、日志管理模块和单位管理模块。通过基于rbac权限控制实现树型管理。业务管理由以下模块实现:公告管理模块、部门管理模块、人员管理模块、直播频道管理模块和点播频道管理模块。

平台采用智能播放器和数据挖掘技术,实时精确统计用户观看行为,助力平台使用单位业务运营。

综上,本申请的流媒体平台系统具有以下优点:

高容错机制:平台支持服务器集群部署,支持负载均衡,支持服务器failover技术,出现问题时服务器可平滑进行服务切换,不影响客户端观看。

高性能的流媒体服务器:利用intel的新一代xeon平台先进的datadirecti/o技术,优化cpu与pci-e总线间的数据传输,搭配intel万兆网卡,单台服务器直播可最高支持65gb输出,最高2万并发。

节省带宽:依托于webp2p技术,智能在线视频平台可为使用单位大幅减少峰值带宽(50%-70%)。依托于webp2p和rtmp技术,智能在线视频平台可帮助使用单位大幅提升用户观看流畅度(流畅度=1-缓冲时间/总时间),大幅提升用户观看时长。

精确统计分析:可帮助使用单位实时精确统计全网在线人数、带宽使用情况,精确统计用户观看时长、观看行为等信息。对采集的海量数据进行数据挖掘,帮助使用单位提高运营水平。

高性能:依托于自主开发的高性能onstream智能在线视频平台,从编解码到分发,从服务器到存储,都可达到超高性能,超高的资源利用率。高性能硬件编码器采用了先进的实时h.264/avc视频压缩算法,24x7不间断无故障运行,网络适应能力强,具备超低的延时特性,端到端延迟可达<5s。高性能分发:平台采用高性能流媒体分发引擎,加之对硬件io资源的优化,系统支持超大规模并发量,但仅需同类产品几分之一的服务器为使用单位节约大量硬件服务器资源以及相关的机架、空调、电力、运维成本。

高稳定性:onstream平台采用linxu系统,依托于健壮的结构设计和考虑周到的容错处理机制,支持负载均衡、热备,可保障在大规模用户并发条件下,24x7x365的不间断运营。

易操作维护性:onstream智能在线视频平台采用b/s的管理后台,无论上传、抑或视频编辑等都无需安装客户端或插件。平台管理界面采用优秀的交互设计,使得管理人员易于掌握和使用。平台可实现异常监控、报警,并可提示错误信息,便于管理人员快速定位和解决故障。

友好的用户体验:完美支持高清,采用最先进的h.264技术进行视频压缩,在同等带宽的情况下带给用户更加清晰流畅的画面。系统基于flash视频,无需插件。且依托于cdn混合分发技术,能够显著提升用户观看流畅度。

端到端、全平台的整体解决方案:onstream智能在线视频平台可为用户提供端到端,全平台的技术整体解决方案:包括视频采集、编辑、管理,以及分发、数据统计分析、播放器等。onstream智能在线视频平台解决方案全面支持pc、tv、手机、pad等屏幕的播控管理。真正实现一云多屏。并且支持目前流行的所有手机操作系统。

开放的接口设计:高度开放的接口设计,可便捷和客户自有系统实现对接,包括社区、cms、媒资、文稿等系统。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1