视频播放方法、流媒体服务器及流媒体播放系统的制作方法

文档序号:7775534阅读:181来源:国知局
视频播放方法、流媒体服务器及流媒体播放系统的制作方法
【专利摘要】本发明公开了一种视频播放方法,包括:在用户端通过一种或多种流媒体串流协议发起获取视频数据请求时,获取与所述请求所关联的FLV视频流;所述请求包括视频标识、视频名称和视频类型;将所述FLV视频流转换为与所述请求对应的格式的视频数据;采用RTP协议对所述视频数据进行封装后进行传输;接收所述视频数据后,根据与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放。本发明还公开了一种流媒体服务器和流媒体播放系统,提高提高对视频数据传输的能力和网络协议兼容性能,扩大了各种视频数据的在不同用户端上的适用范围。
【专利说明】视频播放方法、流媒体服务器及流媒体播放系统
【技术领域】
[0001]本发明涉及视频播放【技术领域】,尤其涉及一种视频播放方法、流媒体服务器及流媒体播放系统。
【背景技术】
[0002]作为新一代互联网应用的标志,流媒体技术在近几年得到了快速的发展,其已经广泛应用于实时新闻现场发布、在线直播、视频点播、网络广告、电子商务、远程教育、远程医疗、网络电台、实时视频会议等领域。流媒体服务器是流媒体技术应用的核心系统,是运营商向用户提供视频服务的关键平台。其主要功能是对媒体内容进行采集、缓存、调度和传输播放,流媒体应用系统的主要性能体现都取决于媒体服务器的性能和服务质量。因此,流媒体服务器是流媒体技术研究的基础,也是其最主要的组成部分。
[0003]流媒体又叫流式媒体,是指用一个传送服务器将音频、视频和多媒体文件做成的数据包,实践中将该数据包传送到网络上,用户通过客户端解压设备对这些数据包进行解压处理后,将音视频等数据如发送端输出显示。
[0004]Flash Media Server (流媒体服务器,简称 FMS)是实现了 RTMP (Real TimeMessaging Protocol,实时消息传送协议)的流媒体服务器,能够迅速地传播流媒体数据,并且可以根据客户端的带宽情况进行适配性操作。但是,FMS是商业化的多媒体系统支持软件,价格较为昂贵,FMS的实现代码是保密的,通信协议RTMP也是非公开的。
[0005]目前,开源的流媒体服务器Red5可以支持具有中国自主知识产权的核心产品,不再受国外相关公司垄断的影响,于是逐渐成为网络流媒体视音频内容服务领域的重点研究对象。Red5与FMS的主要区别点在于,Red5是一款基于J2EE( Java 2 Platform, EnterpriseEdition,简称Java2平台企业版)应用服务器的应用。因此,它在拥有强大的媒体处理功能的同时,还天然地具备了 J2EE应用架构的优势,如开放性、扩展性、统一的寻址等,并且更加容易和各种现有的业务系统进行整合。反之,FMS则是一个完全封闭的系统,仅靠一些API (Application Programming Interface,应用程序编程接口)和外部系统进行有限程度的通信。
[0006]流媒体服务器Red5已经被一些项目所应用,并取得了较好的效果。但是,目前视频流媒体领域存在多种协议,如视频监控的RTSP(Real Time Streaming Protocol,实时流传输协议)、视频通信的SIP (Session Initiation Protocol,会话发起协议)等,而Red5只能支持RTMP协议的Flash视频(即FLV格式的视频流),因而局限了它的应用范围。而且,Adobe公司宣布Flash客户端退出操作系统为Android和i0S(iphone Operation System)的智能手机阵营,这使得现有的很多基于FMS或RED5服务器的视频文件都不能在智能手机上播放。

【发明内容】

[0007]本发明所要解决的技术问题是,提供一种技术方案,使得流媒体服务器同时兼容多种流媒体串流协议,可根据不同的流媒体串流协议对各种视频编码格式的视频数据进行接入存储或输出给用户端显示,提高对视频数据传输的能力和网络协议兼容性能。
[0008]为解决以上技术问题,一方面,本发明实施例提供一种视频播放方法,包括:
[0009]在用户端通过一种或多种流媒体串流协议发起获取视频数据请求时,获取与所述请求所关联的FLV视频流;所述请求包括视频标识、视频名称和视频类型;
[0010]将所述FLV视频流转换为与所述请求对应的格式的视频数据;
[0011 ] 采用RTP协议对所述视频数据进行封装后进行传输;
[0012]接收所述视频数据后,根据与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放。
[0013]其中,所述流媒体串流协议包括:RTSP协议、SIP协议、SIP over WebSockets协议和RTMP协议;
[0014]则所述采用与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放,包括:
[0015]当所述流媒体串流协议为RTSP协议时,配置视频流输出的RTSP地址,并根据所述RTSP地址与用户端建立连接后,将所述视频数据输出至所述用户端;
[0016]当所述流媒体串流协议为SIP协议时,配置视频流输出的SIP端口和接入号,并根据所述SIP端口及所述接入号与用户端建立连接后,将所述视频数据输出至所述用户端;
[0017]当所述流媒体串流协议为SIP over WebSockets协议时,配置网页地址和接入号,并根据所述网页地址及所述接入号与用户端建立连接后,将所述视频数据输出至所述用户端;
[0018]当所述流媒体串流协议为RTMP协议时,配置视频流输出的RTMP地址,并根据所述RTMP地址与用户端建立连接后,将所述视频数据输出至所述用户端。
[0019]进一步地,在用户端通过一种或多种流媒体串流协议发起获取视频数据请求之前,所述方法还包括:
[0020]通过一种或多种流媒体串流协议接收用户端发送的视频数据,所述用户端发送的视频文件采用RTP协议进行封装;
[0021]解封所述用户端发送的视频数据后,将所述视频数据转换为FLV格式的视频流后存储。
[0022]所述用户端发送或接收的视频数据的视频编码标准包括H.264标准、MPEG标准和VP8标准。
[0023]另一方面,本发明还提供了一种流媒体服务器,包括协议转换模块和存储器;
[0024]所述协议转换模块,用于在用户端通过一种或多种流媒体串流协议发起获取视频数据请求时,从所述存储器中获取与所述请求所关联的FLV视频流;所述请求包括视频标识、视频名称和视频类型;
[0025]所述协议转换模块包括视频格式转换器、RTP传输通道和视频连接端;
[0026]其中,所述视频格式转换器用于将所述FLV视频流转换为与所述请求对应的格式的视频数据;
[0027]所述RTP通道用于采用RTP协议对所述视频数据进行封装后,将所述视频数据传输至所述视频连接端;[0028]所述视频连接端用于接收所述视频数据后,根据与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放。
[0029]其中,所述视频连接端设有多个流媒体串流协议,包括:RTSP协议、SIP协议、SIPover WebSockets 协议和 RTMP 协议;
[0030]则所述视频连接端在采用与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放时,还用于:
[0031]当所述流媒体串流协议为RTSP协议时,所述视频连接端配置视频流输出的RTSP地址,并根据所述RTSP地址与用户端建立连接后,将所述视频数据输出至所述用户端;
[0032]当所述流媒体串流协议为SIP协议时,所述视频连接端配置视频流输出的SIP端口和接入号,并根据所述SIP端口及所述接入号与用户端建立连接后,将所述视频数据输出至所述用户端;
[0033]当所述流媒体串流协议为SIP over WebSockets协议时,所述视频连接端配置网页地址和接入号,并根据所述网页地址及所述接入号与用户端建立连接后,将所述视频数据输出至所述用户端;
[0034]当所述流媒体串流协议为RTMP协议时,所述视频连接端配置视频流输出的RTMP地址,并根据所述RTMP地址与用户端建立连接后,将所述视频数据输出至所述用户端。
[0035]进一步地,在用户端通过一种或多种流媒体串流协议发起获取视频数据请求之
N /.刖,
[0036]所述视频连接端还用于通过一种或多种流媒体串流协议接收用户端发送的视频数据;
[0037]所述RTP通道还用于采用RTP协议对所述用户端发送的视频数据进行解封后传输;
[0038]所述视频格式转换器还用于接收解封后的所述用户端发送的视频数据后,将所述视频数据转换为FLV格式的视频流后输出至所述存储器进行储存。
[0039]所述用户端发送或接收的视频数据的视频编码标准包括H.264标准、MPEG标准和VP8标准。
[0040]再进一步地,本发明还提了一种流媒体播放系统,包括一个或多个用户终端设备,以及如上任一项所述的流媒体服务器;
[0041]所述用户终端设备通过一种或多种流媒体串流协议与所述流媒体服务器建立数据连接;
[0042]其中,所述用户终端设备,用于发送视频数据至所述流媒体服务器进行存储,或者,用于向所述流媒体服务器发起获取视频数据的请求,接收并播放所述流媒体服务器返回的视频数据;
[0043]所述流媒体服务器,用于将从所述用户终端设备接入的视频数据转换为FLV格式后存储,或者,用于根据所述用户终端设备的请求,将存储的FLV格式视频流转换为与所述用户终端设备相匹配的视频数据后,根据流媒体串流协议将所述视频数据传输给所述用户终端设备进行播放。
[0044]实施本发明提供的技术方案,具有以下有益效果:可通过一种或多种流媒体串流协议接收用户端发送的视频数据,将所述视频数据转换为FLV格式的视频流后传输至所述存储器进行储存;并在用户端通过一种或多种流媒体串流协议发起获取视频数据请求时,获取与所述请求所关联的FLV视频流;将所述FLV视频流转换为与所述请求对应的格式的视频数据;并采用与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放。在Red5服务器所支持的RTMP协议的基础上增加RTSP协议、SIP协议和SIPover WebSockets协议的支持,使本发明提供的技术方案比Red5服务器的应用范围更加广泛,同时智能移动终端或计算机也能使用RTSP协议或SIP客户端程序或WebRTC浏览器与流媒体服务器相互传送视频数据,改善了在流媒体播放系统中的视频数据传输机制,提高了视频传输的灵活性,实现多种基于不同流媒体串流协议的用户端的视频数据互传。
【专利附图】

【附图说明】
[0045]图1是本发明实施例一提供的一种视频播放方法的流程示意图;
[0046]图2是本发明实施例二提供的一种流媒体服务器的结构示意图;
[0047]图3是本发明实施例三提供的一种流媒体播放系统的结构示意图;
[0048]图4是本发明实施例三提供的流媒体播放系统工作过程示意图。
【具体实施方式】
[0049]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0050]实施例一
[0051]参见图1,是本发明实施例一提供的一种视频播放方法的流程示意图。
[0052]作为优选的实施例,所述的视频播放方法包括以下步骤:
[0053]步骤S1:通过一种或多种流媒体串流协议接收用户端发送的视频数据,所述用户端发送的视频数据采用RTP协议进行封装。RTP (Real-time Transport Protocol)是用于因特网上针对多媒体数据流的一种传输层协议,其确定了在互联网上传递音频和视频的标准数据包格式。RTP协议本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程;且RTP协议并不保证传送或防止无序传送,也不确定底层网络的可靠性,因此,在本实施例中,RTP协议用于配合所述的流媒体串流协议,对用户端所发送的视频数据进行传输,其中,流媒体串流协议用于发起或终结流媒体的传输、RTP执行流媒体数据传输。
[0054]具体地,所述用户端包括基于RTSP协议的摄像机、智能移动终端和计算机,还包括基于SIP协议智能移动终端与计算机、基于SIP over WebSockets协议的智能移动终端与计算机和基于RTMP协议的智能移动终端与计算机。优选地,所述智能移动终端为智能手机终端。
[0055]步骤S2:解封所述用户端发送的视频数据后,将所述用户端发送的视频数据转换为FLV格式的视频流后存储。FLV是Flash Video (视频流)的简称,在本实施例中,将存储后的视频数据统称为FLV格式视频流。FLV格式的视频数据因其方便性、易用性和跨平台的特点,使得FLV已经成为当前视频数据的主流格式。由于Flash文件不需要安装客户端,只需要在浏览器上安装相应插件之后就可以浏览所有Flash网页,比如网上视频直播、点播、视频聊天、教学课件和视频会议系统,方便灵活、操作简单。目前浏览器上的多数在线视频网站均采用FLV格式进行视频编辑。
[0056]在本实施例中,优选地,所述用户端发送或接收的视频数据的视频编码标准包括
H.264标准、MPEG标准和VP8标准。
[0057]从基于不同流媒体串流传输协议的用户端接入视频数据后,对该视频数据的编码格式进行识别,当所述视频数据采用H.264标准或MPEG(Moving Pictures Experts Group,动态图像专家组)标准进行视频编码时,直接将Η.264视频数据或MPEG视频数据转换为FLV格式视频流;当所述视频数据采用VP8标准进行视频编码时,先将所述VP8视频数据转换为
H.264视频数据或MPEG视频数据后,再将其转换为FLV格式视频流。由于目前部分的用户端并未能兼容播放FLV格式视频流,如智能手机终端,因此,在各个用户端进行视频数据交互传输时,对各个用户端的不同格式的视频数据进行转换并存储为FLV格式视频流,并在发出视频播放请求时,调用相应的FLV格式视频流,并将其格式转换为与用户端相匹配的格式。
[0058]步骤S3:在用户端通过一种或多种流媒体串流协议发起获取视频数据请求时,获取与所述请求所关联的FLV视频流;所述请求包括视频标识、视频名称和视频类型。接收到用户端发出的请求时,对该请求进行检测,以根据该请求的携带信息获取与该请求相对应的视频数据。
[0059]步骤S4:将所述FLV视频流转换为与所述请求对应的格式的视频数据。
[0060]步骤S5:采用RTP协议对所述视频数据进行封装后进行传输。
[0061]步骤S6:接收所述视频数据后,根据与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放。
[0062]具体地,所述流媒体串流协议包括:RTSP协议、SIP协议、SIP over WebSockets协议和RTMP协议。
[0063]则所述步骤S6,即所述采用与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放,包括:
[0064]当所述流媒体串流协议为RTSP协议时,配置视频流输出的RTSP地址,并根据所述RTSP地址与用户端建立连接后,将所述视频数据输出至所述用户端;
[0065]当所述流媒体串流协议为SIP协议时,配置视频流输出的SIP端口和接入号,并根据所述SIP端口及所述接入号与用户端建立连接后,将所述视频数据输出至所述用户端;
[0066]当所述流媒体串流协议为SIP over WebSockets协议时,配置网页地址和接入号,并根据所述网页地址及所述接入号与用户端建立连接后,将所述视频数据输出至所述用户端;
[0067]当所述流媒体串流协议为RTMP协议时,配置视频流输出的RTMP地址,并根据所述RTMP地址与用户端建立连接后,将所述视频数据输出至所述用户端。
[0068]实施例二
[0069]参看图2,是本发明实施例二提供的一种流媒体服务器的结构示意图。
[0070]在本实施例中,所述流媒体服务器包括协议转换模块100和存储器200。
[0071]所述协议转换模块100,用于在用户端通过一种或多种流媒体串流协议发起获取视频数据请求时,从所述存储器200中获取与所述请求所关联的FLV视频流;所述请求包括视频标识、视频名称和视频类型。[0072]所述协议转换模块100包括视频格式转换器10URTP传输通道102和视频连接端103。
[0073]其中,所述视频格式转换器101用于将所述FLV视频流转换为与所述请求对应的格式的视频数据。
[0074]所述RTP通道102用于采用RTP协议对所述视频数据进行封装后,将所述视频数据传输至所述视频连接端。
[0075]所述视频连接端103用于接收所述视频数据后,根据与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放。
[0076]具体地,在用户端通过一种或多种流媒体串流协议发起获取视频数据请求之前,
[0077]所述视频连接端103还用于通过一种或多种流媒体串流协议接收用户端发送的视频数据;
[0078]优选地,所述用户端发送或接收的视频数据的视频编码标准包括H.264标准、MPEG标准和VP8标准。
[0079]所述RTP通道102还用于采用RTP协议对所述用户端发送的视频数据进行解封后传输。具体实施时,所述RTP通道把用户发过来的、基于RTP封装好的视频数据进行解封或解包后,将获得原始视频数据进行传输。
[0080]所述视频格式转换器101还用于接收解封后所述用户端发送的视频数据后,将所述视频数据转换为FLV格式的视频流后传输至所述存储器进行储存。
[0081]具体实施时,协议转换模块100在上传视频数据至流媒体服务器内部的存储器200时,协议转换模块100通过调用流媒体服务器的应用服务对象中的注册广播数据流接口,注册和发布接收到的视频数据,并创建一对象“ IStream流”代表此视频数据;协议转换模块100创建一 “Handle”处理对象,其包含“ IStream流”对象和多种音视频数据调用函数,协议转换模块100通过“Handle”对象中的音视频数据调用函数对“IStream流”进行发送,最终通过接口函数发送至流媒体服务器内部的存储器200中。
[0082]随后,流媒体服务器根据请求会将此视频流发给需要此视频流的用户端。外部模块调用流媒体服务器的内部接口取得所有视频流的名字,然后根据请求选择需要的视频流对象;在视频流对象上建立事件监听器,并实现此监听器对象的数据调用函数;流媒体服务器内部通过调用该数据调用函数,把视频流数据输出到协议转换模块200,从而将所需的视频数据发送给用户端。
[0083]优选地,所述视频连接端103设有多个流媒体串流协议,包括:RTSP协议、SIP协议、SIP over WebSockets 协议和 RTMP 协议。
[0084]则所述视频连接端103在采用与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放时,还用于:
[0085]当所述流媒体串流协议为RTSP协议时,所述视频连接端103配置视频流输出的RTSP地址,并根据所述RTSP地址与用户端建立连接后,将所述视频数据输出至所述用户端;
[0086]当所述流媒体串流协议为SIP协议时,所述视频连接端103配置视频流输出的SIP端口和接入号,并根据所述SIP端口及所述接入号与用户端建立连接后,将所述视频数据输出至所述用户端;[0087]当所述流媒体串流协议为SIP over WebSockets协议时,所述视频连接端103配置网页地址和接入号,并根据所述网页地址及所述接入号与用户端建立连接后,将所述视频数据输出至所述用户端;
[0088]当所述流媒体串流协议为RTMP协议时,所述视频连接端103配置视频流输出的RTMP地址,并根据所述RTMP地址与用户端建立连接后,将所述视频数据输出至所述用户端。
[0089]在本实施例中,IP (Internet Protocol,网络互连协议)网络摄像机可将视频数据上传到流媒体服务器中进行存储;基于RTMP、RTSP、SIP或SIP over WebSockets协议的智能手机终端与计算机可直接上传和下载本发明提供的流媒体服务器上的视频流,因而比Red5服务器兼容性更强,整体性能更完善。
[0090]实施例三
[0091]参看图3,是本发明实施例三提供的一种流媒体播放系统的结构示意图。
[0092]在本实施例中,所述的流媒体播放系统包括一个或多个用户终端设备(如图3中的用户端I?用户端5),以及如实施例二所述的流媒体服务器10。
[0093]所述用户终端设备通过一种或多种流媒体串流协议与所述流媒体服务器10建立数据连接。所述流媒体串流协议包括=RTSP协议、SIP协议、SIP over WebSockets协议和RTMP协议。
[0094]所述用户终端设备(用户端I?用户端5)包括网络协议(Internet Protocol,简称IP)摄像机、基于RTSP协议的移动终端和计算机、基于RTMP协议的移动终端和计算机、基于SIP协议的移动终端和计算器机和基于WebRTC技术的网页浏览播放器。具体实施时,流媒体服务器10里面可设有媒体发布/点播模块300,网络服务器400和媒体服务器500,且由于流媒体服务器10以FLV格式对视频数据进行存储,网页上的部分文件以及基于RTMP协议传输的视频数据均为FLV格式,则部分基于HTTP协议的用户终端设备可直接通过网络服务器400、基于RTMP协议的用户终端设备可以直接通过媒体服务器500直接与流媒体服务器10内的存储器200进行连接、传输,接收到FLV格式视频数据(即FLV格式视频流)后直接播放而不需要经过协议转换模块100的视频格式转换过程。
[0095]其中,在本实施例中,所述用户终端设备,用于发送视频数据至所述流媒体服务器10进行存储,或者,用于向所述流媒体服务器10发起获取视频数据的请求,接收并播放所述流媒体服务器10返回的视频数据。
[0096]所述流媒体服务器10,用于将从所述用户终端设备接入的视频数据转换为FLV格式后存储,或者,用于根据所述用户终端设备的请求,将存储的FLV格式视频流转换为与所述用户终端设备相匹配的视频数据后,根据流媒体串流协议将所述视频数据传输给所述用户终端设备进行播放。
[0097]参看图4,是本发明实施例三提供的流媒体播放系统的工作过程示意图。
[0098]用户端首先与流媒体服务器10建立数据连接。具体地,若用户端是基于RTSP的智能手机或计算机,则需要在流媒体服务器10的协议转换模块100中配置要输出的视频流的RTSP地址,用户端使用RTSP协议通过此地址访问流媒体服务器10进行连接;若用户端为使用SIP客户端的智能手机或计算机,则在流媒体服务器10的协议转换模块100中配置要连接的SIP端口和接入号,用户端通过使用SIP协议拨打流媒体服务器10的接入号进行连接;若用户端为使用WebRTC浏览器,则在流媒体服务器10的协议转换模块100中配置网页地址和接入号,WebRTC浏览器里访问服务器的网页并拨打流媒体服务器10的接入号进行连接。
[0099]如图4所示,用户端I基于一种流媒体串流协议(如RTSP)向流媒体服务器10上传视频数据;流媒体服务器20采用实施例一所述的方法对该视频数据进行处理,具体地,主要过程包括采用RTP协议对所述视频数据进行封装(即协议转换)与传输;视频格式转换为FLV格式;视频数据存储。当流媒体服务器10接收到用户端2发起的获取视频数据请求时,流媒体服务器10获取与该请求相关联的FLV视频流,并根据请求进行视频格式转换,采用RTP协议对格式转换后的文件进行传输。当用户端I或其他用户端对流媒体服务器10上传视频数据或发起获取视频流的请求时,其工作过程与上述记载的过程相同。
[0100]本实施例提供的一种流媒体播放系统,通过在流媒体服务器中设置协议转换模块,建立了流媒体服务器与多种基于不同的流媒体串流协议的用户端的数据连接,实现了不同用户端的视频交互传输,改善了视频数据的传输机制和扩大了各种视频数据的在不同用户端上的适用范围,提高了流媒体播放系统的整体性能。
[0101]以上所述是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
【权利要求】
1.一种视频播放方法,其特征在于,包括: 在用户端通过一种或多种流媒体串流协议发起获取视频数据请求时,获取与所述请求所关联的FLV视频流;所述请求包括视频标识、视频名称和视频类型; 将所述FLV视频流转换为与所述请求对应的格式的视频数据; 采用RTP协议对所述视频数据进行封装后进行传输; 接收所述视频数据后,根据与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放。
2.如权利要求1所述视频播放方法,其特征在于,所述流媒体串流协议包括=RTSP协议、SIP 协议、SIP over WebSockets 协议和 RTMP 协议; 则所述根据与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放,包括: 当所述流媒体串流协议为RTSP协议时,配置视频流输出的RTSP地址,并根据所述RTSP地址与用户端建立连接后,将所述视频数据输出至所述用户端; 当所述流媒体串流协议为SIP协议时,配置视频流输出的SIP端口和接入号,并根据所述SIP端口及所述接入号与用户端建立连接后,将所述视频数据输出至所述用户端; 当所述流媒体串流协议为SIP over WebSockets协议时,配置网页地址和接入号,并根据所述网页地址及所述接入号与用户端建立连接后,将所述视频数据输出至所述用户端;当所述流媒体串流协议为RTMP协议时,配置视频流输出的RTMP地址,并根据所述RTMP地址与用户端建立连接后,将所述视频数据输出至所述用户端。
3.如权利要求1或2所述的视频播放方法,其特征在于,在用户端通过一种或多种流媒体串流协议发起获取视频数据请求之前,所述方法还包括: 通过一种或多种流媒体串流协议接收用户端发送的视频数据,所述用户端发送的视频数据采用RTP协议进行封装; 解封所述用户端发送的视频数据后,将所述视频数据转换为FLV格式的视频流后存储。
4.如权利要求3所述的视频播放切换方法,其特征在于,所述用户端发送或接收的视频数据的视频编码标准包括H.264标准、MPEG标准和VP8标准。
5.一种流媒体服务器,其特征在于,包括协议转换模块和存储器; 所述协议转换模块,用于在用户端通过一种或多种流媒体串流协议发起获取视频数据请求时,从所述存储器中获取与所述请求所关联的FLV视频流;所述请求包括视频标识、视频名称和视频类型; 所述协议转换模块包括视频格式转换器、RTP传输通道和视频连接端; 其中,所述视频格式转换器用于将所述FLV视频流转换为与所述请求对应的格式的视频数据; 所述RTP通道用于采用RTP协议对所述视频数据进行封装后,将所述视频数据传输至所述视频连接端; 所述视频连接端用于接收所述视频数据后,根据与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放。
6.如权利要求5所述的流媒体服务器,其特征在于,所述视频连接端设有多个流媒体串流协议,包括:RTSP协议、SIP协议、SIP over WebSockets协议和RTMP协议; 则所述视频连接端在根据与所述用户端相对应的流媒体串流协议将所述视频数据发送至所述用户端进行播放时,还用于: 当所述流媒体串流协议为RTSP协议时,所述视频连接端配置视频流输出的RTSP地址,并根据所述RTSP地址与用户端建立连接后,将所述视频数据输出至所述用户端; 当所述流媒体串流协议为SIP协议时,所述视频连接端配置视频流输出的SIP端口和接入号,并根据所述SIP端口及所述接入号与用户端建立连接后,将所述视频数据输出至所述用户端; 当所述流媒体串流协议为SIP over WebSockets协议时,所述视频连接端配置网页地址和接入号,并根据所述网页地址及所述接入号与用户端建立连接后,将所述视频数据输出至所述用户端; 当所述流媒体串流协议为RTMP协议时,所述视频连接端配置视频流输出的RTMP地址,并根据所述RTMP地址与用户端建立连接后,将所述视频数据输出至所述用户端。
7.如权利要求5或6所述的流媒体服务器,其特征在于,在用户端通过一种或多种流媒体串流协议发起获取视频数据请求之前, 所述视频连接端还用于通过一种或多种流媒体串流协议接收用户端发送的视频数据; 所述RTP通道还用于采用RTP协议对所述用户端发送的视频数据进行解封后传输; 所述视频格式转换器还用于接收解封后的所述用户端发送的视频数据后,将所述视频数据转换为FLV格式的视频流后输出至所述存储器进行储存。
8.如权利要求7所述的流媒体服务器,其特征在于,所述用户端发送或接收的视频数据的视频编码标准包括H.264标准、MPEG标准和VP8标准。
9.一种流媒体播放系统,其特征在于,包括一个或多个用户终端设备,以及如权利要求5~8任一项所述的流媒体服务器; 所述用户终端设备通过一种或多种流媒体串流协议与所述流媒体服务器建立数据连接; 其中,所述用户终端设备,用于发送视频数据至所述流媒体服务器进行存储,或者,用于向所述流媒体服务器发起获取视频数据的请求,接收并播放所述流媒体服务器返回的视频数据; 所述流媒体服务器,用于将从所述用户终端设备接入的视频数据转换为FLV格式后存储,或者,用于根据所述用户终端设备的请求,将存储的FLV格式视频流转换为与所述用户终端设备相匹配的视频数据后,将所述视频数据传输给所述用户终端设备进行播放。
10.如权利要求9所述的流媒体播放系统,其特征在于,所述流媒体串流协议包括:RTSP 协议、SIP 协议、SIP over WebSockets 协议和 RTMP 协议; 所述用户终端设备包括网络协议摄像机、基于RTSP协议的移动终端和计算机、基于RTMP协议的移动终端和计算机、基于SIP协议的移动终端和计算机和基于WebRTC技术的网页浏览播放器。
【文档编号】H04N21/238GK103581699SQ201310539604
【公开日】2014年2月12日 申请日期:2013年11月4日 优先权日:2013年11月4日
【发明者】林兴锋, 刘列根, 曹辉, 吴爱新, 张宇 申请人:广州华工信元通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1