发明内容
为了解决上述技术问题,本发明的目的是提供一种响应速度快,且能存储多种数据的一种基于IP的流媒体播放方法。
本发明的另一个目的是提供一种响应速度快,且能存储多种数据的一种基于IP的流媒体播放系统。
本发明所采用的技术方案是:
一种基于IP的流媒体播放方法,包括以下步骤:
A、把数据流根据通讯协议通过媒体服务器和多线程服务器进而进入流媒体平台;
B、对数据流格式进行识别处理,进而对其进行数据存储;
C、根据会话请求,将存储的数据流发送出去并进行播放。
作为所述的一种基于IP的流媒体播放方法的进一步改进,所述步骤B包括:
B1、将数据流根据格式进行识别分检处理,并对其进行缓存处理;
B2、将数据流提交到高速数据总线进行等待;
B3、将在高速数据总线上等待的数据流提交到系统队列。
作为所述的一种基于IP的流媒体播放方法的进一步改进,所述系统队列提供有外部对象接口,所述数据流通过外部对象接口传输到外部接口并发送。
作为所述的一种基于IP的流媒体播放方法的进一步改进,所述通讯协议为TCP协议或UDP协议或设备通讯协议。
作为所述的一种基于IP的流媒体播放方法的进一步改进,所述步骤C将存储的数据流发送出去并进行播放,其具体为:
将存储在对应通道的数据流按照RTP协议发送出去并进行播放。
作为所述的一种基于IP的流媒体播放方法的进一步改进,所述数据流格式包括有H264格式、aac格式、ac3格式、amr格式、dv格式、m4a格式、mkv格式、mp3格式、mpg格式、ts格式、vob格式、wav格式和webm格式。
本发明所采用的另一技术方案是:
一种基于IP的流媒体播放系统,包括:
输入单元,用于把数据流根据通讯协议通过媒体服务器和多线程服务器进而进入流媒体平台;
存储单元,用于对数据流格式进行识别处理,进而对其进行数据存储;
输出单元,用于根据会话请求,将存储的数据流发送出去并进行播放。
作为所述的一种基于IP的流媒体播放系统的进一步改进,所述存储单元包括:
识别单元,用于将数据流根据格式进行识别分检处理,并对其进行缓存处理;
数据总线单元,用于将数据流提交到高速数据总线进行等待;
系统队列单元,用于将在高速数据总线上等待的数据流提交到系统队列。
本发明的有益效果是:
本发明一种基于IP的流媒体播放方法可通过配置提供实时流传输,使用了多线程内核以及多种数据流通道进行服务,有效实现网络的互通互联,开放性较高,可扩展性较好,实时响应速度快,而且本发明能提供多种数据流存储,数据可读写异步进行,大大增加数据存储的灵活性。
本发明的另一个有益效果是:
本发明一种基于IP的流媒体播放系统可通过配置提供实时流传输,使用了多线程内核以及多种数据流通道进行服务,有效实现网络的互通互联,开放性较高,可扩展性较好,实时响应速度快,而且本发明能提供多种数据流存储,数据可读写异步进行,大大增加数据存储的灵活性。
具体实施方式
参考图1,图1是本发明一种基于IP的流媒体播放方法的步骤流程图,本发明一种基于IP的流媒体播放方法,包括以下步骤:
A、把数据流根据通讯协议通过媒体服务器和多线程服务器进而进入流媒体平台;
B、对数据流格式进行识别处理,进而对其进行数据存储;
C、根据会话请求,将存储的数据流发送出去并进行播放。
图2是本发明一种基于IP的流媒体播放方法步骤B的步骤流程图,作为所述的一种基于IP的流媒体播放方法的进一步改进,所述步骤B包括:
B1、将数据流根据格式进行识别分检处理,并对其进行缓存处理;
B2、将数据流提交到高速数据总线进行等待;
B3、将在高速数据总线上等待的数据流提交到系统队列。
作为所述的一种基于IP的流媒体播放方法的进一步改进,所述系统队列提供有外部对象接口,所述数据流通过外部对象接口传输到外部接口并发送。
作为所述的一种基于IP的流媒体播放方法的进一步改进,所述通讯协议为TCP协议或UDP协议或设备通讯协议。
作为所述的一种基于IP的流媒体播放方法的进一步改进,所述步骤C将存储的数据流发送出去并进行播放,其具体为:
将存储在对应通道的数据流按照RTP协议发送出去并进行播放。
作为所述的一种基于IP的流媒体播放方法的进一步改进,所述数据流格式包括有H264格式、aac格式、ac3格式、amr格式、dv格式、m4a格式、mkv格式、mp3格式、mpg格式、ts格式、vob格式、wav格式和webm格式。
图3是本发明一种基于IP的流媒体播放系统的模块方框图,本发明一种基于IP的流媒体播放系统,包括:
输入单元,用于把数据流根据通讯协议通过媒体服务器和多线程服务器进而进入流媒体平台;
存储单元,用于对数据流格式进行识别处理,进而对其进行数据存储;
输出单元,用于根据会话请求,将存储的数据流发送出去并进行播放。
作为所述的一种基于IP的流媒体播放系统的进一步改进,所述存储单元包括:
识别单元,用于将数据流根据格式进行识别分检处理,并对其进行缓存处理;
数据总线单元,用于将数据流提交到高速数据总线进行等待;
系统队列单元,用于将在高速数据总线上等待的数据流提交到系统队列。
参照图4,图4是本发明一种基于IP的流媒体播放系统的数据处理流程图,本发明的流可以分为:
1、流输入输出部分,输入流通过通过编码或未编码进入多线程的流媒体服务器;输出流是通过ffmpeg 解码器,通过RTSP协议读出。
2、流控制和管理层,这部分是本发明的核心之一,包括服务器基本架构及其扩展和配置文件。基本功能是接收流数据资源的读入,接收客户端的会话,数据包的统计,传输流的合成,内部管理通讯等。
3、流短暂存储,这部分也是本发明的核心之一,具体处理步骤:流的加工,通讯流畅,及性能的改善是需要数据存储的功能的。这会造成播放的延时,但对平台性能是有好处的。选择合适的数据存储就很关键。目前平台支持数据存储包括:
数据库,目前主要是ORACLE多媒体数据库AQ高级队列、blob对象的存储,加工及读取;
音视频参考存储器:包括提交者,高速数据总线,系统队列等;
文件系统:二进制文件作为系统的接口进行存储,读取。
其处理流程为:
各种数据流,包括编码和未编码,通过TCP/UDP/设备通讯协议通过媒体服务器和多线程服务器进入流媒体平台,平台对数据流格式进行辨认后,进行数据暂存。当通过实时流传输协议会话请求后,平台将对应通道的数据流实时的以数据实时传输协议多播或单播发送出去,进行播放。
本发明的架构设计:
本发明支持各种流及设备的无缝集成: 通过客户端访问数字视频服务器, 通过数字视频服务器服务对象可以访问任何数字视频服务器设备,通过TCP/IP协议可以访问任何有源或无源数据流,有些编码或未编码的数据流,是可以通过数据流中的元数据进行控制和管理的,提供配置思想贯穿系统平台,提供高可调谐的系统。
本发明的特点是:
1、数据存储:
本发明的数据存储设计要素有提交者,高速数据通道总线和系统队列等。这些对象协同工作为流媒体平台提供一个高可用的数据存储系统。
音视频处理程序接收来自音视频发生器的音视频数据通过提交者进行分检,数据缓存等事务处理,将数据提交给高速数据总线,数据在此排序作短暂的停留后,提交给系统队列,系统队列提供外部对象接口。通过外部接口对象将音视频数据取出送入外部接口系统,完成数据存储任务。
2、集成器设计:
集成器是外部设备服务系统,通过数字视频服务器的设备协议接入平台,集成器的不同服务对象,实现对数字视频服务器音视频流传输,设备的控制,状态的采集等功能。
3、流控制和管理对象:
处理流程:在ts流或h264等流中每隔一定时间流发生器都会重新提供和发布视流的节目信息及其更新信息。流控制和管理对象对流进行过滤,根据流标识捕获该类信息,进行存储管理,发布,提供给用户视频点播信息。
4、多线程通讯服务器:
通讯服务器,主要是争对目前平台单线程异步通讯,提供一个多线程的异步通讯机制平台。流输入进入平台时通过该平台进行多线程多服务的通讯。
5、配置对象:
运行时,通过配置对象,加载配置文件的配置节,赋值给对应的变量。配置节分为服务名称、通道节、设备节、设备通道映射节、通讯节、运行模式、音视频配置、系统节和数据库节9个部分节,每节包括若干配置项。全方位的提供给平台灵活的环境变量,控制运行行为。
本发明主要借鉴live555平台的基本架构,设计思想及通讯协议,本发明的具有自身的技术特色。
可配置:通过配置提供实时流传输,历史文档传输,即流媒体服务器与存储服务器于一体,通过配置即可实现。高度可调的,实现参数可配置代理性能改善。
多线程服务:流媒体服务器通常的开发都是单进程单线程,或许提供异步方式。本发明提供多线程的内核,提供可配置的多线程服务。
数据存储的多样性:即灵活性,本发明提供多种数据存储:多媒体数据库存储,音视频数据存储器,存储文件等方式。这些数据存储通用的特点都是可读可写异步进行,实时响应,而且应具备较大的存储空间,对数据流进行暂存。
提供各种流的集成:每种流即为通道服务,本发明提供各种通道的集中交流,包括各种设备,文件,及无源数据流。只要能够实现支持的数据格式,不需要客户化即可接入流的服务平台。具有开放性,易用性,可扩展性。实现网络的互通互联。
本发明有标清和高清等画面。可根据客户需求及网络带宽要求能够进行较方便的转换。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。