一种基于流媒体的跨网络视频直播方法及系统技术方案

技术编号:18600595 阅读:34 留言:0更新日期:2018-08-04 21:11
本发明专利技术提供一种基于流媒体的跨网络的视频直播方法及系统,其中方法包括:主播端采集流媒体,将采集到的所述流媒体进行实时顺序切片形成流媒体切片,将所述切片数据依次推送到反向代理服务器;所述反向代理服务器根据预设的配置信息,将所述流媒体切片依次推送给流媒体服务器;直播端从所述媒体流服务器拉取所述流媒体切片并进行解码播放。本发明专利技术实现了基于流媒体的跨网络视频直播,同时也保证了视频播放的流畅性。

Streaming media based live broadcast method and system for cross network video

The present invention provides a cross network video direct seeding method and system based on streaming media. The method comprises the following steps: collecting stream media at the host end, making the real-time sequential slice of the collected streaming media to form a stream media slice, and pushing the slice data to the reverse proxy server in turn; the reverse proxy server root. According to the preset configuration information, the streaming media slice is pushed to the streaming media server in turn; the live end pulls the streaming media slice from the media streaming server and performs the decoding and playing. The invention realizes the live broadcast of live video over the network based on streaming media, and ensures the fluency of video playback.

【技术实现步骤摘要】
一种基于流媒体的跨网络视频直播方法及系统
本专利技术涉及网络视频直播
,尤其涉及一种基于流媒体的跨网络视频直播方法及系统。
技术介绍
随着互联网技术的发展,视频播放特别是视频直播的需求的日益旺盛,视频直播的应用越来越多,视频直播在各个领域都有应用和长足发展。目前的视频直播采用的都是RTMP(RealTimeMessagingProtocol,实时消息传输协议)或者HTTP(Hypertexttransferprotocol,超文本传输协议)推流的方案。其中,RTMP是奥多比系统(AdobeSystems)公司为Flash播放器和服务器之间音频、视频和数据传输开发的协议。这是一个标准的,未加密的实时消息传递协议,采用TCP(TransmissionControlProtocol,传输控制协议)作为其在传输层,其默认端口是1935。RTMP需要专门的视频编解码器对流媒体进行编解码。然而,对于特殊网络环境,例如公安网,由于对于安全性要求较高,因此不支持RTMP协议,使得该协议的可应用场景比较少。另外,HTTP是基于TCP/IP通信协议来传递数据的,HTTP协议简单快速,无连接,无状态。主播端需要将采集到的实时流推送到流媒体服务器,流媒体服务器则对媒体流进行存储和分发。媒体流分发分为流媒体服务器向客户端推送和客户端向媒体流拉取媒体流,服务器向客户端推送媒体流对服务器和带宽的要求较高。然而,由于公安网的IP地址和端口资源较少,多个服务需要共用同一个IP地址和端口,使得流媒体服务器的IP和端口均隐藏在公共的IP和端口之下,从而由于资源的限制经常不能直接接收到客户端推送的媒体流。
技术实现思路
本专利技术提供一种基于流媒体的跨网络视频直播方法及系统,使得流媒体服务器能够克服资源限制,实现媒体流的直接推送,进而实现顺畅的网络视频直播。本专利技术一实施例提供一种基于流媒体的跨网络的视频直播方法,其中包括:主播端采集流媒体,将采集到的所述流媒体进行实时顺序切片形成流媒体切片,将所述切片数据依次推送到反向代理服务器;所述反向代理服务器根据预设的配置信息,将所述流媒体切片依次推送给流媒体服务器;直播端从所述媒体流服务器拉取所述流媒体切片并进行解码播放。本专利技术另一实施例提供一种基于流媒体的跨网络的视频直播系统,其中包括:主播端,用于采集流媒体,将采集到的所述流媒体进行实时顺序切片形成流媒体切片,将所述切片数据依次推送到反向代理服务器;反向代理服务器,用于根据预设的配置信息,将来自于所述主播端的所述流媒体切片依次推送给流媒体服务器;流媒体服务器,用于从所述反向代理服务器接收所述流媒体切片;直播端,用于从所述媒体流服务器拉取所述流媒体切片并进行解码播放。本专利技术再一实施例提供一种反向代理服务器,其中包括:接收模块,用于接收由主播端对采集到的流媒体进行实时顺序切片后形成的流媒体切片;以及推送模块,用于根据预设的配置信息,将来自于所述接收模块的所述流媒体切片依次推送给流媒体服务器,以便供直播端进行拉取。本专利技术实现了基于流媒体的跨网络视频直播,同时也保证了视频播放的流畅性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术所述基于流媒体的跨网络的视频直播方法实施例的流程图;图2为本专利技术所述基于流媒体的跨网络的视频直播系统实施例的结构示意图;图3为本专利技术所述基于流媒体的跨网络的视频直播方法在主播房间场景下的流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术所述基于流媒体的跨网络的视频直播方法实施例的流程图。步骤110,主播端采集流媒体,将采集到的所述流媒体进行实时顺序切片形成流媒体切片,将所述切片数据依次推送到反向代理服务器。其中,所述反向代理服务器为Nginx服务器。Nginx服务器是一种轻量级的网页服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个类似BSD(BSD-like)协议下发行,BSD协议是指伯克利软件发行版(BerkeleySoftwareDistribution)。其特点是占有内存少,并发能力强。具体地,所述主播端使用安卓操作系统中自带的媒体记录类应用程序接口(MediaRecorderAPI)采集所述流媒体,并按照一定时长进行实时切片。步骤120,反向代理服务器根据预设的配置信息,将所述流媒体切片依次推送给流媒体服务器。具体地,所述媒体服务器根据所述流媒体切片的到达时刻,依次将所述流媒体切片持久化;针对被所述直播端拉取过的最后一个流媒体切片记录播放索引;将所述播放索引与相应的直播端信息相关联保存。例如,将主播端推送来的流媒体切片保存到本地磁盘,并且以主播端信息作为关键词(Key),以媒体流切片文件的存储信息队列作为键值(Value),保存到将键映射到值的对象(Map)中,每次将保存到本地磁盘的流媒体切片的路径信息添加到队列中,以保证队首的流媒体切片总是最新推送到流媒体服务器的。步骤130,直播端从所述媒体流服务器拉取所述流媒体切片并进行解码播放。其中,播放可以使用视频播放插件Video.js进行操作。具体地,所述直播端在当前播放的流媒体切片达到预设的播放时长时,向所述媒体服务器发送包含有该直播端的直播端信息的拉流请求;所述媒体服务器根据所述拉流请求中的所述直播端信息查找相应的播放索引;所述媒体服务器将查找到的所述播放索引所对应的所述流媒体切片的下一个流媒体切片发送给所述直播端,并更新上述播入索引。例如,流媒体服务器从Map中获取当前播放的流媒体切片文件的播放索引并加1作为当前将要播放的流媒体切片的播放索引,流媒体服务器判断当前播放索引是否存在于上述被持久化的流媒体切片文件的信息队列中,若存在则返回流媒体切片。若没有返回流媒体切片,则直播端可以不断向流媒体服务器端发起拉流请求。本实施所述方法通过反向代理服务器将来自于主播端的切片数据转发给流媒体服务器,克服了资源限制,能够适用于不支持RTMP协议的网络环境,从而实现了基于流媒体的跨网络视频直播,同时也保证了视频播放的流畅性。图2为本专利技术所述基于流媒体的跨网络的视频直播系统实施例的结构示意图,用以实现上述方法。如图所示,该系统包括:主播端10、反向代理服务器20、流媒体服务器30和直播端40,所述反向代理服务器30为Nginx服务器。该系统的工作原理如下:主播端10中的采集模块11采集流媒体,切片推送模块12将采集模块11采集到的所述流媒体进行实时顺序切片形成流媒体切片,并将所述切片数据依次推送到反向代理服务器20。反向代理服务器20根据预设的配置信息,将来自于所述主播端10的所述流媒体切片依次推送给流媒体服务器30。具体地,反向代理服务器20中的本文档来自技高网
...

【技术保护点】
1.一种基于流媒体的跨网络的视频直播方法,其特征在于,包括:主播端采集流媒体,将采集到的所述流媒体进行实时顺序切片形成流媒体切片,将所述切片数据依次推送到反向代理服务器;所述反向代理服务器根据预设的配置信息,将所述流媒体切片依次推送给流媒体服务器;直播端从所述媒体流服务器拉取所述流媒体切片并进行解码播放。

【技术特征摘要】
1.一种基于流媒体的跨网络的视频直播方法,其特征在于,包括:主播端采集流媒体,将采集到的所述流媒体进行实时顺序切片形成流媒体切片,将所述切片数据依次推送到反向代理服务器;所述反向代理服务器根据预设的配置信息,将所述流媒体切片依次推送给流媒体服务器;直播端从所述媒体流服务器拉取所述流媒体切片并进行解码播放。2.根据权利要求1所述的方法,其特征在于,所述主播端采集流媒体包括:所述主播端使用安卓操作系统中自带的媒体记录类应用程序接口采集所述流媒体。3.根据权利要求1所述的方法,其特征在于,将所述流媒体切片推送给流媒体服务器之后还包括:所述媒体服务器根据所述流媒体切片的到达时刻,依次将所述流媒体切片持久化;针对被所述直播端拉取过的最后一个流媒体切片记录播放索引;将所述播放索引与相应的直播端信息相关联保存。4.根据权利要求3所述的方法,其特征在于,拉取所述流媒体切片包括:所述直播端在当前播放的流媒体切片达到预设的播放时长时,向所述媒体服务器发送包含有该直播端的直播端信息的拉流请求;所述媒体服务器根据所述拉流请求中的所述直播端信息查找相应的播放索引;所述媒体服务器将查找到的所述播放索引所对应的所述流媒体切片的下一个流媒体切片发送给所述直播端。5.根据权利要求1~6中任一项所述的方法,其中,所述反向代理服务器为Nginx服务器。6.一种基于流媒体的跨网络的视频直播系统,其特征在于,包括:主播端,用于采集流媒体,将采集到的所述流媒体进行实时顺序切片形成流媒体切片,将所述切片数据依次推送到反向代理服务器;反向代理服务器,用于根据预设的配置信...

【专利技术属性】
技术研发人员:王频张雪琼廖乔治
申请(专利权)人:武汉烽火众智数字技术有限责任公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1