大家好,又见面了,我是你们的朋友全栈君。
1)FMS(Flash mediaserver)
简介
FMS是一个完全基于软件环境的多媒体实时通讯环境,代表了当前实时通讯领域内的发展的方向,并且,其自身也融合了大量的新特色,用于创建下一代通讯应用程序 简而言之,Adobe的FMS是一个多媒体应用平台,在这个平台上,可以实现多媒体流的点播、直播、交互等多种应用,由于Adobe公司在网络多媒体应用上的雄厚实力,以及Adobe Flash Player在网络上应用的广泛性,因此,FMS成为诸多多媒体应用的服务器端主要应用平台。如Youtube、tudou等。FMS是一个应用平台,同时更是一个二次开发平台,在这个平台上,可以实现多种网络多媒体内容的传播和交互应用。支持协议:RTMP、RTMPT、RTMPE、RTMPS、RTMFP都是FMS支持的协议。使用FMS可以捕获(甚至录制)用户客户端的视频和音频流。信息通过FMS使用Real-TimeMessaging Protocol (RTMP)协议被传递到客户端(用户计算机上的Flash Player)。当一个Flash影片应用程序要使用 FMS时,Flash Player就连接到服务器,这样就在客户端Flash Player和FMS之间提供了往复的源源不断的信息流,称为network stream(网络流)。其他的用户也可以同时连接到相同的FMS接收信息、更新数据以及音频和视频,这些都是“网络流”。FMS的功能平台由两部分组成:服务器提供通讯方式;Flash影片应用程序(SWF文件)提供终端用户界面。
FMS是一个完全基于软件环境的多媒体实时通讯环境,代表了当前实时通讯领域内的发展方向,并且,其自身也融合了大量的新特色,用于创建下一代通讯应用程序,这些新特色包括:
1、它提供了一个高效高性能的运行时,该“运行时”不但可以用于执行代码、处理数据内容,并且还可以进行通讯。
2、它将内容、通讯功能和应用程序界面集成进一个通用环境,这个通用环境就是FlashPlayer,通过强大且分布广泛的FlashPlayer,使得通过FMS进行通讯变得更加便利。
3、它为交互性提供了强大、高扩展性的对象模型。在为FMS开发Flash通讯应用程序的过程中,您就会慢慢认识到FMS无处不在的面向对象开发的特点。
4、它还建立了一个高效的组件架构模型,使用该组件架构模型可以创建高效的Flash通讯组件,而使用组件和其它的可重用模块,可以使你快速的开发基于FMS的通讯应用程序。
5、它还允许使用应用程序服务器提供的web服务和数据服务,从而可以和其它的应用服务器技术结合起来以创建功能更强大、更完整的富媒体应用程序。
6、它并且可以识别那些处于连接状态和处于未连接状态的客户端,以降低网络负载。
7、使用它,你可以将通讯应用程序客户端轻松的部署在多个平台和设备上,
优点
专业厂商产品,性能优良、稳定。多平台支持。借助最新的flashplayer 可以实现P2P通信。
缺点
是一个商业版本,费用比较贵。(注:可破解4.X系列版本)
2)Red5简介
简介
Red5的媒体服务器提供了一个功能强大的视频流和多用户的解决方案,Red5包括支持最新的多用户API,包括的NetConnection,NetStream的SharedObject的同时提供了强大的RTMP / Servlet实现。除了支持RTMP协议,应用服务器有一个嵌入的Tomcat Servlet容器的JEE Web应用程序。应用程序开发的Spring框架和范围的基于事件驱动的服务,吸引了更多的好处。通过使用开源的Red5的媒体服务器,是一个真正开放和可扩展的平台,可用于视频会议,多用户游戏和企业应用软件开发。
Red5的主要功能和Macromedia公司的FMS类似,提供基于Flash的流媒体服务的一款基于Java的开源流媒体服务器。它由Java语言编写,使用RTMP作为流媒体传输协议,这与FMS完全兼容。它具有流化FLV、MP3文件,实时录制客户端流为FLV文件,共享对象,实时视频播放、Remoting等功能。用Red5替换FMS后,客户端不用更改可正常运行。
Red 5成立于2005年,由一批前暴雪核心员工组建,由RED5工作室制作的第一人称免费射击网游《火瀑》凭借出色的作品内容等设计,赢得了国内外玩家的高度赞誉!一直致力于一款基于Offsite引擎的网游。
red5是一种开源免费的服务器端软件,用于flash流媒体服务,有5大功能(详见官网):
1. 将音频(mp3)和视频(flv)转换成流
2. 录像(输出为flv格式)
3. 共享对象
4. 视频直播(flv格式)
5.远程调用
优点
完全开源,几乎实现FMS所有功能。比较适合一些小型网站使用。
缺点
基本java的开源流媒体服务器red5.性能较差,稳定性不够,距离稳定、大容量的商业化应用尚有一定的差距。
3)Nginx(主要用于点播)
简介
Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx中的gx_http_flv_module模块提供的伪流媒体服务器端支持Flash视频(FLV)文件。它可以处理请求中的参数与开始请求URI的查询字符串特别,通过发送回文件的内容从请求的字节偏移和前缀FLV头。
为什要用伪流媒体服务器
目前,由于Flash的流行,网络上绝大多数的微视频网站都采用了Flv格式来播放视频。在互联网上播放视频,有两种方式,一种是文件方式,即通过HTTP协议访问视频文件,这种方式的缺点是不能从特定的帧开始播放;另外一种就是采用专门的流媒体服务器,这种方式的缺点是要搭建复杂的流媒体服务器,同时没有预下载功能,不过,现在有了一种集合了以上两种方式优点的一种解决方案,即通过HTTP来实现伪流媒体。本文描述的就是这样的一种解决方案。
优点
部署方便,性能较好,http渐进式下载,支持进度拖拽。防盗链。等功能。
缺点
不算真正的流媒体服务器,伪流媒体服务器。
三.视频点播系统物理架构图
版权声明:本文为博主原创文章,未经博主允许不得转载。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138985.html原文链接:https://javaforall.cn